public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* [ITP] p7zip
@ 2007-06-17  5:20 Charles Wilson
  2007-06-17 11:53 ` Corinna Vinschen
  2007-06-17 13:24 ` Dave Korn
  0 siblings, 2 replies; 10+ messages in thread
From: Charles Wilson @ 2007-06-17  5:20 UTC (permalink / raw)
  To: cygwin-apps

7-Zip is a file archiver with a high compression ratio in its native 
compression mode (LZMA).  However, it supports a number of other 
compression methods (zip, gzip, bzip2, etc).  7-Zip was originally 
developed as a Windows GUI application: p7zip is a cross-platform 
(mostly unix) port, supporting linux, solaris, MacOSX, and...cygwin.

One fly in the ointment is the default build includes RAR support, whose 
source code is released only under a non-OSI license.  I followed 
debian's procedure, and disabled all RAR support in this build -- 
otherwise, it would conflict with Cygwin's license.

http://cygutils.fruitbat.org/ITP/p7zip-4.47-1.tar.bz2
http://cygutils.fruitbat.org/ITP/p7zip-4.47-1-src.tar.bz2
http://cygutils.fruitbat.org/ITP/p7zip.hint

category: Archive
requires: cygwin
sdesc: "A file archiver with very high compression ratios."
ldesc: "p7zip is the Unix port of 7-Zip, a file archiver that archives 
with very high compression ratios.  It supports packing/unpacking 7z, 
zip, gzip bzip2, and tar archives.  It supports unpacking of cab, iso, 
arj, lzh, chm, z, cpio, rpm, deb, and nsis archives.  This version does 
NOT support rar archives."

--
Chuck

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ITP] p7zip
  2007-06-17  5:20 [ITP] p7zip Charles Wilson
@ 2007-06-17 11:53 ` Corinna Vinschen
  2007-06-17 15:26   ` Kai Raphahn
  2007-06-17 18:44   ` Charles Wilson
  2007-06-17 13:24 ` Dave Korn
  1 sibling, 2 replies; 10+ messages in thread
From: Corinna Vinschen @ 2007-06-17 11:53 UTC (permalink / raw)
  To: cygwin-apps

On Jun 17 01:21, Charles Wilson wrote:
> 7-Zip is a file archiver with a high compression ratio [...]

... and is available in which stable Linux distros?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [ITP] p7zip
  2007-06-17  5:20 [ITP] p7zip Charles Wilson
  2007-06-17 11:53 ` Corinna Vinschen
@ 2007-06-17 13:24 ` Dave Korn
  2007-06-17 19:16   ` Charles Wilson
  2007-06-17 19:54   ` Charles Wilson
  1 sibling, 2 replies; 10+ messages in thread
From: Dave Korn @ 2007-06-17 13:24 UTC (permalink / raw)
  To: cygwin-apps

On 17 June 2007 06:22, Charles Wilson wrote:

> 7-Zip is a file archiver with a high compression ratio in its native
> compression mode (LZMA).  

> http://cygutils.fruitbat.org/ITP/p7zip-4.47-1.tar.bz2

  Packaging's a bit bizarre.

1.  Executables in a package-specific subdir of /usr/lib, wrapper scripts in
/usr/bin.  Odd but not actually incorrect.

2.  Empty 'Codecs' subdir of /usr/lib/p7zip present in source build, missing
from binary package.  Dunno if this matters.

3.  All the docs under /usr/share/doc/p7zip-4.47 don't exist, they are just
symlinks to originals in the not-necessarily-installed source package, e.g:

lrwxrwxrwx cwilson/None       0 2007-06-17 05:58
usr/share/doc/p7zip-4.47/DOCS/7zC.txt ->
/usr/src/p7zip/p7zip-4.47-1/src/p7zip_4.47/DOCS/7zC.txt

  This is clearly not going to work for most people!

> http://cygutils.fruitbat.org/ITP/p7zip-4.47-1-src.tar.bz2

  The cygport install stage warns:

*** Warning: Cygwin README is missing

and the package stage warns:

*** Warning: setup.hint is missing

  Also, the install stage generates and the package stage packages /two/ docs
directories, /usr/share/doc/p7zip/ and /usr/share/doc/p7zip-4.47/, which
doesn't match the binary package you supplied, which only has the latter
directory, containing all the contents of both.

> http://cygutils.fruitbat.org/ITP/p7zip.hint

  Looks good.

  +1 when the above warts get resolved.

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ITP] p7zip
  2007-06-17 11:53 ` Corinna Vinschen
@ 2007-06-17 15:26   ` Kai Raphahn
  2007-06-17 18:44   ` Charles Wilson
  1 sibling, 0 replies; 10+ messages in thread
From: Kai Raphahn @ 2007-06-17 15:26 UTC (permalink / raw)
  To: cygwin-apps

Corinna Vinschen wrote:

> On Jun 17 01:21, Charles Wilson wrote:
>> 7-Zip is a file archiver with a high compression ratio [...]

> ... and is available in which stable Linux distros?

http://packages.debian.org/stable/utils/p7zip

NSIS does use it too. IIRC its used for the installer-packages for Firefox.


Kai

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ITP] p7zip
  2007-06-17 11:53 ` Corinna Vinschen
  2007-06-17 15:26   ` Kai Raphahn
@ 2007-06-17 18:44   ` Charles Wilson
  1 sibling, 0 replies; 10+ messages in thread
From: Charles Wilson @ 2007-06-17 18:44 UTC (permalink / raw)
  To: CygWin-Apps

Corinna Vinschen wrote:
> On Jun 17 01:21, Charles Wilson wrote:
>> 7-Zip is a file archiver with a high compression ratio [...]
> 
> ... and is available in which stable Linux distros?

sorry, I should have provided the link.  (I did say "I followed debian's 
procedure" but that was only an accidental hint that p7zip is in debian).

Of course, Kai already beat me to it:
http://packages.debian.org/stable/utils/p7zip

--
Chuck

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ITP] p7zip
  2007-06-17 13:24 ` Dave Korn
@ 2007-06-17 19:16   ` Charles Wilson
  2007-06-18  3:39     ` Yaakov (Cygwin Ports)
  2007-06-17 19:54   ` Charles Wilson
  1 sibling, 1 reply; 10+ messages in thread
From: Charles Wilson @ 2007-06-17 19:16 UTC (permalink / raw)
  To: cygwin-apps

Dave Korn wrote:
> On 17 June 2007 06:22, Charles Wilson wrote:
> 
>> 7-Zip is a file archiver with a high compression ratio in its native
>> compression mode (LZMA).  
> 
>> http://cygutils.fruitbat.org/ITP/p7zip-4.47-1.tar.bz2
> 
>   Packaging's a bit bizarre.
> 
> 1.  Executables in a package-specific subdir of /usr/lib, wrapper scripts in
> /usr/bin.  Odd but not actually incorrect.

That's the way p7zip works, when you have built either 7z.exe or 
7zCon.sfx.  7z.exe dlopens 7z.so to obtain unpack-only support of a 
number of additional compression formats, and dlopens 
/usr/lib/p7zip/*/*.so for support of specific individual codecs (like 
'Rar.so', not provided here).

[if you build only 7za.exe and/or 7zr.exe, then they will go directly in 
$bindir, as expected]

These '.so' files are actually DLLs but they are never directly linked, 
only dlopened -- so they don't need to be named *.dll.  I suspect the 
application code dlopen's using exe_path + "/7z.so" or exe_path + 
"Codec/DIR/FN.so".  We don't want /usr/bin/Codec/*, so...

7zCon.sfx is the stub executable for building self-extracting archives; 
7z.exe and 7za.exe expect it to be in the same directory as themselves, 
and again, you probably don't want to clutter $bindir with non-executables.

The downside is you can't create a windows shortcut to /usr/bin/7z?.exe 
-- but that usage doesn't really make sense for these commandline apps: 
how would you specify the files to archive?

If you want a windows shortcut, you probably want the native, GUI, 
version of 7-Zip anyway.

> 2.  Empty 'Codecs' subdir of /usr/lib/p7zip present in source build, missing
> from binary package.  Dunno if this matters.

Hmm. Yes, I should probably use cygport's .keepdir feature.  Thx.

> 3.  All the docs under /usr/share/doc/p7zip-4.47 don't exist, they are just
> symlinks to originals in the not-necessarily-installed source package, e.g:
> 
> lrwxrwxrwx cwilson/None       0 2007-06-17 05:58
> usr/share/doc/p7zip-4.47/DOCS/7zC.txt ->
> /usr/src/p7zip/p7zip-4.47-1/src/p7zip_4.47/DOCS/7zC.txt
> 
>   This is clearly not going to work for most people!

Urk.  Sorry 'bout that.


>> http://cygutils.fruitbat.org/ITP/p7zip-4.47-1-src.tar.bz2
> 
>   The cygport install stage warns:
> 
> *** Warning: Cygwin README is missing
> 
> and the package stage warns:
> 
> *** Warning: setup.hint is missing

Well, that's just...wrong.  I don't get that error.  I wonder if I 
shipped the wrong .cygwin.patch.  Does 
p7zip-4.47-1/src/p7zip_4.47/CYGWIN-PATCHES contain anything at all?

>   Also, the install stage generates and the package stage packages /two/ docs
> directories, /usr/share/doc/p7zip/ and /usr/share/doc/p7zip-4.47/, which
> doesn't match the binary package you supplied, which only has the latter
> directory, containing all the contents of both.

Oh, I know why this happened:

src_install_fini_hook() {
         cd ${D}
         mv usr/share/doc/${PN}/* usr/share/doc/${PN}-${PV}/
         rmdir usr/share/doc/${PN}
}

but Yaakov still -- after six months -- has not integrated my _hook 
patch for cygport, so this function never gets called.  The perfect is 
the enemy of the good, in that situation.

I can either

(1) make a note in the README with a link to the cygport patch
http://cygwin.com/ml/cygwin/2006-12/msg00626.html

(2) patch the p7zip-supplied install.sh script to use 
/usr/share/doc/${PN}-${PV} directly.

The latter case is harder for me, because I have to update my patch 
every time ${PV} changes.  The former case is harder for everyone else, 
because they have to build and install a custom cygport.

Sigh.  I guess I can do #2 since to fix the symlink issue above I have 
to do major surgery...

>> http://cygutils.fruitbat.org/ITP/p7zip.hint
> 
>   Looks good.
> 
>   +1 when the above warts get resolved.

Thanks...

--
Chuck

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ITP] p7zip
  2007-06-17 13:24 ` Dave Korn
  2007-06-17 19:16   ` Charles Wilson
@ 2007-06-17 19:54   ` Charles Wilson
  2007-06-17 20:24     ` Christian Franke
  1 sibling, 1 reply; 10+ messages in thread
From: Charles Wilson @ 2007-06-17 19:54 UTC (permalink / raw)
  To: CygWin-Apps

Dave Korn wrote:
>   +1 when the above warts get resolved.

Please try this one:

http://cygutils.fruitbat.org/ITP/p7zip-4.47-2-src.tar.bz2
http://cygutils.fruitbat.org/ITP/p7zip-4.47-2.tar.bz2

This should correct everything mentioned above, except: I don't 
understand why you see these:

 > *** Warning: Cygwin README is missing
 > *** Warning: setup.hint is missing

I'm hoping it was a glitch and if you try the -2 package you won't see it?

--
Chuck

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ITP] p7zip
  2007-06-17 19:54   ` Charles Wilson
@ 2007-06-17 20:24     ` Christian Franke
  0 siblings, 0 replies; 10+ messages in thread
From: Christian Franke @ 2007-06-17 20:24 UTC (permalink / raw)
  To: cygwin-apps

Charles Wilson wrote:
> Dave Korn wrote:
>>   +1 when the above warts get resolved.
>
> Please try this one:
>
> http://cygutils.fruitbat.org/ITP/p7zip-4.47-2-src.tar.bz2
> http://cygutils.fruitbat.org/ITP/p7zip-4.47-2.tar.bz2
>
> This should correct everything mentioned above, except: I don't 
> understand why you see these:
>
> > *** Warning: Cygwin README is missing
> > *** Warning: setup.hint is missing
>

Old cygport release < 0.2.10 ?
There was at least one release with a bug in the patch handling.

Christian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ITP] p7zip
  2007-06-17 19:16   ` Charles Wilson
@ 2007-06-18  3:39     ` Yaakov (Cygwin Ports)
  2007-06-18  4:43       ` Charles Wilson
  0 siblings, 1 reply; 10+ messages in thread
From: Yaakov (Cygwin Ports) @ 2007-06-18  3:39 UTC (permalink / raw)
  To: cygwin-apps

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Charles Wilson wrote:
> src_install_fini_hook() {
>         cd ${D}
>         mv usr/share/doc/${PN}/* usr/share/doc/${PN}-${PV}/
>         rmdir usr/share/doc/${PN}
> }
> I can either
> 
> (1) make a note in the README with a link to the cygport patch
> http://cygwin.com/ml/cygwin/2006-12/msg00626.html
> 
> (2) patch the p7zip-supplied install.sh script to use
> /usr/share/doc/${PN}-${PV} directly.

3) Put this in src_install() ???


Yaakov
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGdf6TpiWmPGlmQSMRCKiMAJ0YRQXvzSmpcTpY7+9VHzeyz2DiuACgkPFQ
C9wtIhKiLrnCUU3XYmyauhU=
=myrZ
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [ITP] p7zip
  2007-06-18  3:39     ` Yaakov (Cygwin Ports)
@ 2007-06-18  4:43       ` Charles Wilson
  0 siblings, 0 replies; 10+ messages in thread
From: Charles Wilson @ 2007-06-18  4:43 UTC (permalink / raw)
  To: cygwin-apps

Yaakov (Cygwin Ports) wrote:

> 3) Put this in src_install() ???

D'oh.  You're right.  It's when I need to go the *other* way that it 
must be done in a post-hook.  Here,
    /usr/share/doc/${PN} --> /usr/share/doc/${PN}-${PV}
works fine, because the target dir is the one cygport "likes".  In 
rxvt-unicode, the build package was "rxvt-unicode-X" so the directory 
cygport "likes" is /usr/share/doc/rxvt-unicode-X-${PV}.

However, I wanted to share the documentation between -X and -W versions, 
so I wanted to use /usr/share/doc/rxvt-unicode-${PV}. That is,
     /usr/share/doc/rxvt-unicode-X-${PV} -->
           /usr/share/doc/rxvt-unicode-${PV}
goes from cygport's preferred directory to some other dir.

If I did that inside src_install, __src_postinst will come along and put 
stuff into the directory it likes, instead of the one I carefully 
created -- and there is currently no way to override that.

So, I needed the hook for rxvt-unicode-X, but I was wrong in thinking I 
needed it here.  Sorry for the noise.

--
Chuck

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2007-06-18  4:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-17  5:20 [ITP] p7zip Charles Wilson
2007-06-17 11:53 ` Corinna Vinschen
2007-06-17 15:26   ` Kai Raphahn
2007-06-17 18:44   ` Charles Wilson
2007-06-17 13:24 ` Dave Korn
2007-06-17 19:16   ` Charles Wilson
2007-06-18  3:39     ` Yaakov (Cygwin Ports)
2007-06-18  4:43       ` Charles Wilson
2007-06-17 19:54   ` Charles Wilson
2007-06-17 20:24     ` Christian Franke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).