Bug 48267 - 7 zip compression support
Summary: 7 zip compression support
Status: RESOLVED FIXED
Alias: None
Product: ark
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Harald Hvaal
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-09-25 13:01 UTC by David Findlay
Modified: 2006-03-02 12:32 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Findlay 2002-09-25 13:01:32 UTC
Version:           v2.1.9 (using KDE 3.0.3)
Installed from:     (testing/unstable)
Compiler:          gcc version 2.95.4 20011002 (Debian prerelease)
OS:          Linux (i686) release 2.4.19

Support for 7 Zip format(see www.7-zip.org) would be useful. it seems to get better compression than some other formats. Thanks
Comment 1 Sampoo 2003-07-16 09:08:38 UTC
ACE support would also be welcome. Or better still allowing to manually add
support for a different format.
Comment 2 Henrique Pinto 2003-11-06 01:04:49 UTC
There's no version of sevenzip for unix-like systems...

When there's one, support for it may be added.
Comment 3 Raul Moratalla 2004-06-13 23:23:15 UTC
I have downloaded an small sdk that is provided in the web page of 7zip. It contains ANSI C code and a little application for compress/decompress files. I have compiled it and runs without any problems, but it is a basic application. Should be possible now to add support for 7 zip?
Comment 4 Helio Chissini de Castro 2004-07-14 13:12:08 UTC
Reopen bug to avoid forget
Comment 5 Sander Devrieze 2004-07-23 20:50:24 UTC
IMO a system to make third party plugins in an easy way is the way to go. It's better to focus on the open formats and don't spill hackforce on promoting vendor lock-in formats. But if these vendors want to write a (closed source) plugin for Ark to promote their format, it would be nice if they can. The plugin idea is also useful for already existing open source code to handle these "bad" formats (e.g. for rar).
Comment 6 Raul Moratalla 2004-07-23 21:08:31 UTC
7-zip is not a closed format, it's free software as you can see in the web page and it's the best compressor that I have tested :)
Comment 7 alexandre parente lima 2004-07-24 10:46:36 UTC
"p7zip is a quick port of 7z.exe and 7za.exe (command line version of 7zip, see www.7-zip.org) for Unix. 7-Zip is a file archiver with highest compression ratio. Currently, p7zip (like 7-zip) supports only little-endian machine."

http://sourceforge.net/projects/p7zip/

compiled end run! ;)
Comment 8 Henrique Pinto 2004-10-17 02:29:20 UTC
CVS commit by pinto: 

Support for 7-Zip archives.

FEATURE: 48267

In order to deal with 7-Zip archives using Ark, one needs to install p7zip from http://p7zip.sf.net. This needs testing. Ark CVS HEAD is compatible with KDE libs 3.3, so you need not to install an unstable KDE to help in testing. If you can help, please contact me for details.

Please note that adding files to 7-Zip archives seems to be really slow (though much of this slowness might be due to the fact that my only pc is an old K6-2, but anyway it seems to be slower than other archive formats), but nothing can be done on Ark's side to improve this.

Known bugs:
	Timestamps show the wrong year
	Some errors do not trigger Error MessageBoxes.

CCMAIL: kde-quality@kde.org


  A            sevenzip.cpp   1.1 [GPL (v2+)]
  A            sevenzip.h   1.1 [GPL (v2+)]
  M +8 -8      Makefile.am   1.97
  M +2 -0      arch.cpp   1.62
  M +3 -2      arch.h   1.54
  M +2 -0      archiveformatinfo.cpp   1.9


--- kdeutils/ark/Makefile.am  #1.96:1.97
@@ -25,11 +25,11 @@
 libarkpart_la_COMPILE_FIRST = settings.h
 
-libarkpart_la_SOURCES = ark_part.cpp arkfactory.cpp \
-                zip.cpp tar.cpp filelistview.cpp arch.cpp selectDlg.cpp \
-                lha.cpp shellOutputDlg.cpp compressedfile.cpp \
-                zoo.cpp rar.cpp ar.cpp \
-                arkutils.cpp archiveformatdlg.cpp arkwidget.cpp searchbar.cpp \
-                extractdlg.cpp addition.ui  extraction.ui  folders.ui  general.ui \
-                arkviewer.cpp
+libarkpart_la_SOURCES = ark_part.cpp arkfactory.cpp zip.cpp tar.cpp \
+                        filelistview.cpp arch.cpp selectDlg.cpp lha.cpp \
+                        shellOutputDlg.cpp compressedfile.cpp zoo.cpp rar.cpp \
+                        ar.cpp arkutils.cpp archiveformatdlg.cpp \
+                        arkwidget.cpp searchbar.cpp extractdlg.cpp \
+                        addition.ui  extraction.ui  folders.ui  general.ui \
+                        arkviewer.cpp sevenzip.cpp
 
 # this option you can leave out. Just, if you use "make dist", you need it
@@ -41,5 +41,5 @@
                  arkfactory.h arkutils.h archiveformatinfo.h \
                  archiveformatdlg.h searchbar.h extractdlg.h settings.h \
-                 arkviewer.h
+                 arkviewer.h sevenzip.h
 
 METASOURCES = AUTO

--- kdeutils/ark/arch.cpp  #1.61:1.62
@@ -56,4 +56,5 @@
 #include "rar.h"
 #include "ar.h"
+#include "sevenzip.h"
 
 
@@ -374,4 +375,5 @@ Arch *Arch::archFactory(ArchType aType,
         case RAR_FORMAT: return new RarArch(parent, filename);
         case AA_FORMAT: return new ArArch(parent, filename);
+        case SEVENZIP_FORMAT: return new SevenZipArch(parent, filename);
         case UNKNOWN_FORMAT:
         default: return 0;

--- kdeutils/ark/arch.h  #1.53:1.54
@@ -67,6 +67,7 @@ class FileListView;
 class ArkWidget;
 
-enum ArchType {UNKNOWN_FORMAT, ZIP_FORMAT, TAR_FORMAT, AA_FORMAT,
-               LHA_FORMAT, RAR_FORMAT, ZOO_FORMAT, COMPRESSED_FORMAT};
+enum ArchType { UNKNOWN_FORMAT, ZIP_FORMAT, TAR_FORMAT, AA_FORMAT,
+                LHA_FORMAT, RAR_FORMAT, ZOO_FORMAT, COMPRESSED_FORMAT,
+                SEVENZIP_FORMAT };
 
 

--- kdeutils/ark/archiveformatinfo.cpp  #1.8:1.9
@@ -74,4 +74,6 @@ void ArchiveFormatInfo::buildFormatInfos
   addFormatInfo( AA_FORMAT, "application/x-deb", ".deb" );
   addFormatInfo( AA_FORMAT, "application/x-archive",".a" );
+  
+  addFormatInfo( SEVENZIP_FORMAT, "application/x-7z", ".7z" );
 }
 


Comment 9 Shriramana Sharma 2006-03-02 12:32:37 UTC
Bug #122010 looks like a dup of this bug.