Bug 458334

Summary: Ark does not support using the 7zz binary for 7z archives
Product: [Applications] ark Reporter: nl6720
Component: pluginsAssignee: Elvis Angelaccio <elvis.angelaccio>
Status: REPORTED ---    
Severity: normal CC: aacid, gbcox, nl6720, rthomsen6
Priority: NOR    
Version: 22.08.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=440135
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description nl6720 2022-08-26 09:28:36 UTC
SUMMARY
On Arch Linux,  Ark cannot open 7z archives using 7-zip from https://aur.archlinux.org/packages/7-zip .
It builds a 7zz binary, which as DOC/readme.txt in 7z2201-src.tar.xz describes, is a "Standalone version of 7-Zip console that supports all formats".

Please support using the 7zz binary to interact with 7z archives.


STEPS TO REPRODUCE
1. Have 7-zip installed which provides /usr/bin/7zz.
2. Make sure there's no /usr/bin/7z, i.e. p7zip is not installed.
3. Try to open a 7z archive.


OBSERVED RESULT
Ark showed en error.

    Loading the archive ā€˜/path/to/archive.7zā€™ failed with the following error:
    No suitable plugin found. Ark does not seem to support this file type.


EXPECTED RESULT
Ark should successfully open the 7z archive.


SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.25.4
KDE Frameworks Version: 5.97.0
Qt Version: 5.15.5


ADDITIONAL INFORMATION
Comment 1 2wxsy58236r3 2022-08-29 06:03:15 UTC
Currently, FreeBSD and openSUSE's 7-Zip packages have `7z` which links to `7zz`, but ALT Linux and Ubuntu's 7-Zip packages have no `7z`.
Comment 2 Elvis Angelaccio 2022-09-27 22:29:07 UTC
While it would be possible to adapt Ark to support the 7zz binary, it wouldn't be the right thing to do.

Distributions that ship the new 7zz binary should also provide a legacy 7z symlink for compatibility, like e.g. openSUSE does.
Comment 3 nl6720 2022-09-28 09:13:28 UTC
The fact that Ark needed to specifically add support for the 7z binary being the official 7-zip, shows that thoughtlessly symlinking 7z to 7zz is not wise.
Comment 4 Elvis Angelaccio 2022-09-28 11:15:54 UTC
(In reply to nl6720 from comment #3)
> The fact that Ark needed to specifically add support for the 7z binary being
> the official 7-zip, shows that thoughtlessly symlinking 7z to 7zz is not
> wise.

I disagree. Ark is the exception here, because it uses 7z in advanced way, so we had no choice.

Think about the common case. The 7z binary has been around for years and software in the wild assumed they could extract a random 7zip archive with a simple call to "7z x foo.7z".
Comment 5 Gerald Cox 2024-05-08 13:04:14 UTC
(In reply to Elvis Angelaccio from comment #4)
> (In reply to nl6720 from comment #3)
> > The fact that Ark needed to specifically add support for the 7z binary being
> > the official 7-zip, shows that thoughtlessly symlinking 7z to 7zz is not
> > wise.
> 
> I disagree. Ark is the exception here, because it uses 7z in advanced way,
> so we had no choice.
> 
> Think about the common case. The 7z binary has been around for years and
> software in the wild assumed they could extract a random 7zip archive with a
> simple call to "7z x foo.7z".

I understand that some people and distributions may use 7z for compatibility purposes and I have no issues with that, but that doesn't mean that you shouldn't support the actual binary from 7zip which is 7zz.  My understanding is that the one 7zz binary can be used to replace the unmaintained p7zip ('7zr', '7za', '7z').  7zz will always exist on a system that has 7zip installed, 7z as a symlink may or may not.
Comment 6 Elvis Angelaccio 2024-06-08 15:56:01 UTC
(In reply to Gerald Cox from comment #5)
> (In reply to Elvis Angelaccio from comment #4)
> > (In reply to nl6720 from comment #3)
> > > The fact that Ark needed to specifically add support for the 7z binary being
> > > the official 7-zip, shows that thoughtlessly symlinking 7z to 7zz is not
> > > wise.
> > 
> > I disagree. Ark is the exception here, because it uses 7z in advanced way,
> > so we had no choice.
> > 
> > Think about the common case. The 7z binary has been around for years and
> > software in the wild assumed they could extract a random 7zip archive with a
> > simple call to "7z x foo.7z".
> 
> I understand that some people and distributions may use 7z for compatibility
> purposes and I have no issues with that, but that doesn't mean that you
> shouldn't support the actual binary from 7zip which is 7zz.  My
> understanding is that the one 7zz binary can be used to replace the
> unmaintained p7zip ('7zr', '7za', '7z').  7zz will always exist on a system
> that has 7zip installed, 7z as a symlink may or may not.

This won't be necessary. Ark 24.05 ships with basic 7z support through libarchive, which means it no longer requires any binary at all.

However, I'll leave this report open until we don't officially drop the legacy p7zip plugin.