Version: 2.13 (using 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1)), Gentoo) Compiler: i686-pc-linux-gnu-gcc OS: Linux (i686) release 2.6.29-gentoo-r4 Steps to reproduce: - Open an ACE archive with Ark Result: - No files are listed, the list is blank Relevant information: UNACE v2.5 Qt: 4.5.1 KDE: 4.2.85 (KDE 4.2.85 (KDE 4.3 Beta1)) + rev 965498 backport for unaceplugin
Can you please attach at least one ACE archive to this report? unace seems unable to create archives and I don't have any ace archive here.
Created attachment 33734 [details] Test archive Uploading the only ACE archive I have handy.
SVN commit 968853 by rkcosta: Fix regular expression for the file listing output by unace. BUG: 192925 M +2 -2 unaceplugin.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=968853
Ark now matches the file listing regex correctly. But unace is such a horrible program that it does not list the full path of the files - it trims them to a certain character limit. So the file you've attached won't be opened correctly because of the output of unace (Hu-Gotracer2.12a/tracer/Cheats/cheats.txt is output as /..tracer2.12a/tracer/Cheats/cheats.txt). Actually, I'm thinking of completely disabling ace support once and for all - the format is proprietary, the only program able to decompress ace files is unace, whose unreliable output makes correctly listing or extracting ace files with ark nearly impossible most of the time.
Agreed, unace is a nightmare. It's mostly a dead format since 7-zip appeared, too. It wouldn't be a major loss to anyone. Another option would be to patch unace, I guess. I took a quick look and it seems APPS_EXE_CONVERT_MakeStrShorter is responsible for clobbering the names. I'll try fiddling with it. Regardless, thanks for your prompt response.
Well, this was easier than I thought. A patch for unace if you're interested: --- unace-2.5.orig/source/apps/exe/convert/convert.c 2003-11-11 12:48:44.000000000 +0100 +++ unace-2.5/source/apps/exe/convert/convert.c 2009-05-16 22:11:27.443400477 +0200 @@ -48,7 +48,7 @@ PCHAR APPS_EXE_CONVERT_MakeStrShorter(PCHAR DestStr, PCHAR SourceStr, INT Width) { - if (strlen(SourceStr) > Width) + if (0) { memmove(DestStr, &SourceStr[strlen(SourceStr) - Width + 4], Width - 3); BASE_CONVERT_StrCatBefore(BASE_PATHFUNC_SEPARATORSTR "..", DestStr); Just makes sure the shortening function doesn't shorten anything. Some information on the licensing terms - http://bugs.gentoo.org/show_bug.cgi?id=214216
That patch may cause a buffer overflow if enough memory for DestStr wasn't allocated. Besides, relying on every distro applying the patch is impossible, which would make Ark work only half of the time. Exporting COLUMNS to a bigger value doesn't help either, since the program seems to always use the same fixed maximum width for its output. This makes me tend to vote for the removal of this plugin.
While it's a bit of a waste, the format isn't exactly popular. Finding an actual ACE archive was a chore. You might leave the code there for some die-hards, but disable it in CMakeFiles.txt. That's probably for the best.
Hm, I'd like to hear Harald's opinion on this.
Agreed, with such a little used format creating so much trouble, it's not even worth the trouble. Let's disable it for 4.3.
I'd prefer to remove the code from the tree; contrary to the bkplugin currently disabled, it won't change because the format really isn't likely to be opened, new versions of the proprietary program won't be released, Krazy will start complaining and we will have some dangling unmaintained code forever.
SVN commit 970866 by rkcosta: Remove the unace plugin from the tree, as discussed with Harald. * The format is proprietary and isn't likely to be opened soon. * The only program to decompress unace files is outdated, is usually offered in binary-only form and is even more outdated for non-Linux platforms (think BSD here). * This program is _really_ horrible and does awful things like trimming the file names in its listings, making it impossible to use with cliinterface. * This program doesn't allow the user to create ace files. Just disabling it in the source tree would mean having unmaintained code forever (since things aren't likely to change regarding the format). CCBUG: 192925 M +1 -1 app/ark.desktop M +1 -1 app/ark_dndextract.desktop M +1 -1 app/ark_servicemenu.desktop M +0 -1 plugins/CMakeLists.txt D plugins/unace/CMakeLists.txt D plugins/unace/kerfuffle_unace.desktop D plugins/unace/unaceplugin.cpp D plugins/unace/unaceplugin.h WebSVN link: http://websvn.kde.org/?view=rev&revision=970866
Changing the resolution to WONTFIX, as it is more descriptive ;)