bump(app-arch/p7zip): sync with upstream

This commit is contained in:
Nick Owens 2016-07-05 11:26:17 -07:00
parent 95baeb891c
commit f2feb955cf
28 changed files with 2991 additions and 140 deletions

View File

@ -0,0 +1,165 @@
# ChangeLog for app-arch/p7zip
# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2
# (auto-generated from git log)
*p7zip-9.38.1-r2 (09 Aug 2015)
*p7zip-9.20.1-r5 (09 Aug 2015)
09 Aug 2015; Robin H. Johnson <robbat2@gentoo.org>
+files/9.04-makefile.patch, +files/p7zip,
+files/p7zip-9.20.1-CVE-2015-1038.patch, +files/p7zip-9.20.1-QA.patch,
+files/p7zip-9.20.1-execstack.patch, +files/p7zip-9.20.1-long_rar_pwd.patch,
+files/p7zip-9.38.1-CVE-2015-1038.patch,
+files/p7zip-9.38.1-osversion.patch, +metadata.xml, +p7zip-9.20.1-r5.ebuild,
+p7zip-9.38.1-r2.ebuild:
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration
tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this
project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo
developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve
cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014
work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on
the bikeshed
24 Aug 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
Use https by default
Convert all URLs for sites supporting encrypted connections from http to
https
Signed-off-by: Justin Lecher <jlec@gentoo.org>
24 Aug 2015; Mike Gilbert <floppym@gentoo.org> metadata.xml:
Revert DOCTYPE SYSTEM https changes in metadata.xml
repoman does not yet accept the https version.
This partially reverts eaaface92ee81f30a6ac66fe7acbcc42c00dc450.
Bug: https://bugs.gentoo.org/552720
*p7zip-9.38.1-r3 (24 Oct 2015)
24 Oct 2015; Pacho Ramos <pacho@gentoo.org> +p7zip-9.38.1-r3.ebuild:
Support wxGTK:3.0
Package-Manager: portage-2.2.23
*p7zip-15.09 (28 Oct 2015)
28 Oct 2015; Justin Lecher <jlec@gentoo.org>
+files/p7zip-15.09-CVE-2015-1038.patch, +p7zip-15.09.ebuild:
Version Bump
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=564266
Package-Manager: portage-2.2.23
Signed-off-by: Justin Lecher <jlec@gentoo.org>
29 Oct 2015; Justin Lecher <jlec@gentoo.org> p7zip-15.09.ebuild:
Fix build problems for GUI
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=564332
Package-Manager: portage-2.2.23
Signed-off-by: Justin Lecher <jlec@gentoo.org>
03 Dec 2015; Justin Lecher <jlec@gentoo.org>
files/p7zip-15.09-CVE-2015-1038.patch:
Add upstream version of CVE patch
Package-Manager: portage-2.2.25
Signed-off-by: Justin Lecher <jlec@gentoo.org>
07 Jan 2016; Matthew Thode <prometheanfire@gentoo.org> metadata.xml:
changing maintainer to myself from jlec
Signed-off-by: Matthew Thode <prometheanfire@gentoo.org>
24 Jan 2016; Michał Górny <mgorny@gentoo.org> metadata.xml:
Set appropriate maintainer types in metadata.xml (GLEP 67)
*p7zip-15.09-r1 (25 Feb 2016)
25 Feb 2016; Matthew Thode <prometheanfire@gentoo.org>
+p7zip-15.09-r1.ebuild:
fixing bug 575622
Package-Manager: portage-2.2.26
*p7zip-15.09-r2 (26 Feb 2016)
26 Feb 2016; Matthew Thode <prometheanfire@gentoo.org>
-p7zip-15.09-r1.ebuild, +p7zip-15.09-r2.ebuild:
finishing up bug 575622
Package-Manager: portage-2.2.26
*p7zip-15.14 (14 Mar 2016)
14 Mar 2016; Matthew Thode <prometheanfire@gentoo.org> +p7zip-15.14.ebuild:
bup
Package-Manager: portage-2.2.26
14 Mar 2016; Patrick Lauer <patrick@gentoo.org> p7zip-15.14.ebuild:
Remove unneeded/broken patching
Package-Manager: portage-2.2.28
26 Mar 2016; Fabian Groffen <grobian@gentoo.org>
+files/p7zip-15.14-darwin.patch, p7zip-15.14.ebuild:
fix compilation on Darwin, bug #577344
Package-Manager: portage-2.2.28-prefix
28 Mar 2016; Fabian Groffen <grobian@gentoo.org>
files/p7zip-15.14-darwin.patch:
fix compilation on OSX El Capitan also, bug #577344
Package-Manager: portage-2.2.28-prefix
*p7zip-15.14.1 (10 Apr 2016)
10 Apr 2016; Matthew Thode <prometheanfire@gentoo.org>
+p7zip-15.14.1.ebuild:
bup for bug 579196
Package-Manager: portage-2.2.26
10 Apr 2016; Lars Wendler <polynomial-c@gentoo.org>
+files/p7zip-15.14.1-darwin.patch:
Added missing darwin patch (bug #579482).
Package-Manager: portage-2.2.28
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
13 May 2016; Agostino Sarubbo <ago@gentoo.org> p7zip-15.14.1.ebuild:
amd64 stable wrt bug #582364
Package-Manager: portage-2.2.26
RepoMan-Options: --include-arches="amd64"
Signed-off-by: Agostino Sarubbo <ago@gentoo.org>

View File

@ -0,0 +1,695 @@
# ChangeLog for app-arch/p7zip
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-arch/p7zip/ChangeLog,v 1.179 2015/07/30 19:10:41 jlec Exp $
30 Jul 2015; Justin Lecher <jlec@gentoo.org> -p7zip-9.20.1-r4.ebuild:
Drop vulnerable version, bug #536012
30 Jul 2015; Mikle Kolyada <zlogene@gentoo.org> p7zip-9.20.1-r5.ebuild:
ia64 stable wrt bug #536012
24 Jun 2015; Agostino Sarubbo <ago@gentoo.org> p7zip-9.20.1-r5.ebuild:
Stable for ppc, wrt bug #536012
*p7zip-9.38.1-r2 (22 Jun 2015)
22 Jun 2015; Justin Lecher <jlec@gentoo.org>
+files/p7zip-9.38.1-CVE-2015-1038.patch, +p7zip-9.38.1-r2.ebuild,
-p7zip-9.38.1-r1.ebuild:
Fix CVE-2015-1038 in latest version, bug #536012
21 Jun 2015; Mikle Kolyada <zlogene@gentoo.org> p7zip-9.20.1-r5.ebuild:
alpha stable wrt bug #536012
20 Jun 2015; Jeroen Roovers <jer@gentoo.org> p7zip-9.20.1-r5.ebuild:
Stable for PPC64 (bug #536012).
18 Jun 2015; Jeroen Roovers <jer@gentoo.org> p7zip-9.20.1-r5.ebuild:
Stable for HPPA (bug #536012).
17 Jun 2015; Agostino Sarubbo <ago@gentoo.org> p7zip-9.20.1-r5.ebuild:
Stable for sparc, wrt bug #536012
17 Jun 2015; Agostino Sarubbo <ago@gentoo.org> p7zip-9.20.1-r5.ebuild:
Stable for x86, wrt bug #536012
16 Jun 2015; Mikle Kolyada <zlogene@gentoo.org> p7zip-9.20.1-r5.ebuild:
amd64 stable wrt bug #536012
*p7zip-9.20.1-r5 (16 Jun 2015)
16 Jun 2015; Justin Lecher <jlec@gentoo.org>
+files/p7zip-9.20.1-CVE-2015-1038.patch, +p7zip-9.20.1-r5.ebuild:
Import debian patch for CVE-2015-1038, bug #536012; latest version is still
vulnerable
09 Jun 2015; Justin Lecher <jlec@gentoo.org> metadata.xml:
Updating remote-id in metadata.xml
*p7zip-9.38.1-r1 (04 May 2015)
04 May 2015; Justin Lecher <jlec@gentoo.org> +p7zip-9.38.1-r1.ebuild,
-p7zip-9.20.1-r5.ebuild, -p7zip-9.38.1.ebuild, p7zip-9.20.1-r4.ebuild:
Correctly fix bug #465296, thanks Wadlax figuring this out
08 Apr 2015; Justin Lecher <jlec@gentoo.org>
+files/p7zip-9.38.1-osversion.patch, p7zip-9.38.1.ebuild:
Fix compilation problems on x86, bug #545912
07 Apr 2015; Justin Lecher <jlec@gentoo.org> p7zip-9.20.1-r4.ebuild,
p7zip-9.20.1-r5.ebuild, p7zip-9.38.1.ebuild:
Drop useless Desktop items, bug #465296
*p7zip-9.38.1 (07 Apr 2015)
07 Apr 2015; Justin Lecher <jlec@gentoo.org> +p7zip-9.38.1.ebuild:
Version Bump, bug #545202
10 May 2014; Justin Lecher <jlec@gentoo.org> p7zip-9.20.1-r5.ebuild:
Add support for x32, #506602, patch by Luke-Jr
24 Dec 2013; Tom Wijsman <TomWij@gentoo.org> -files/9.04-kde4.patch,
-files/p7zip-9.13-QA.patch:
[QA] Remove unused files.
16 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> p7zip-9.20.1-r4.ebuild,
p7zip-9.20.1-r5.ebuild:
Remove wxwidgets_pkg_setup call (unnecessary with USE deps).
19 Sep 2013; Justin Lecher <jlec@gentoo.org> p7zip-9.20.1-r4.ebuild,
p7zip-9.20.1-r5.ebuild:
Drop icon extention from icon file, #478706
*p7zip-9.20.1-r5 (18 Sep 2013)
18 Sep 2013; Justin Lecher <jlec@gentoo.org> +p7zip-9.20.1-r5.ebuild,
+files/p7zip-9.20.1-long_rar_pwd.patch:
Patch for long filenames in rar archives, #484970; thanks M.B. preparing the
patch
11 Aug 2013; Justin Lecher <jlec@gentoo.org> -p7zip-9.13.ebuild,
-p7zip-9.13-r3.ebuild:
Drop old
04 Aug 2013; Agostino Sarubbo <ago@gentoo.org> p7zip-9.20.1-r4.ebuild:
Stable for sparc/ia64, wrt to bug #477180
01 Aug 2013; Justin Lecher <jlec@gentoo.org> p7zip-9.20.1-r4.ebuild:
Drop full path from icon
*p7zip-9.20.1-r4 (01 Aug 2013)
01 Aug 2013; Justin Lecher <jlec@gentoo.org> -p7zip-9.20.1-r3.ebuild,
+p7zip-9.20.1-r4.ebuild, metadata.xml:
Fix icon in desktop file, #478706
30 Jul 2013; Agostino Sarubbo <ago@gentoo.org> p7zip-9.20.1-r3.ebuild:
Stable for alpha, wrt bug #477180
22 Jul 2013; Agostino Sarubbo <ago@gentoo.org> p7zip-9.20.1-r3.ebuild:
Stable for ppc64, wrt bug #477180
22 Jul 2013; Agostino Sarubbo <ago@gentoo.org> p7zip-9.20.1-r3.ebuild:
Stable for ppc, wrt bug #477180
18 Jul 2013; Sergey Popov <pinkbyte@gentoo.org> p7zip-9.20.1-r3.ebuild:
Stable on amd64 and x86, wrt bug #477180
17 Jul 2013; Jeroen Roovers <jer@gentoo.org> p7zip-9.20.1-r3.ebuild:
Stable for HPPA (bug #477180).
28 Mar 2013; Mike Frysinger <vapier@gentoo.org> p7zip-9.20.1-r3.ebuild:
Add ~s390 love #443914.
*p7zip-9.20.1-r3 (09 Jun 2012)
09 Jun 2012; Justin Lecher <jlec@gentoo.org> -p7zip-9.20.1-r2.ebuild,
+p7zip-9.20.1-r3.ebuild:
Drop -O -pipe from buildsystem, add -- to emake so that -l doesn't get
confused by 7z* make targets, #420393
07 Jun 2012; Julian Ospald <hasufell@gentoo.org> p7zip-9.13.ebuild,
p7zip-9.13-r3.ebuild, +files/p7zip-9.13-QA.patch, -p7zip-9.20.1.ebuild,
-p7zip-9.20.1-r1.ebuild, p7zip-9.20.1-r2.ebuild,
+files/p7zip-9.20.1-QA.patch:
fix QA issues wrt bug #420011 and drop old
*p7zip-9.20.1-r2 (30 May 2012)
30 May 2012; Justin Lecher <jlec@gentoo.org> p7zip-9.20.1-r1.ebuild,
+p7zip-9.20.1-r2.ebuild, +files/p7zip-9.20.1-execstack.patch:
Give desktop files better names, #418179; drop in no execstack pacth from
fedora
*p7zip-9.20.1-r1 (23 Apr 2012)
23 Apr 2012; Justin Lecher <jlec@gentoo.org> +p7zip-9.20.1-r1.ebuild:
Bump to EAPI=4, create and install 7zFM binary and create .desktop launcher,
thanks Giorgos Anastasiou for the report
07 Oct 2011; Justin Lecher <jlec@gentoo.org> p7zip-9.20.1.ebuild,
metadata.xml:
Do only install one .desktop file for compression, #366465
19 Aug 2011; Markos Chandras <hwoarang@gentoo.org> metadata.xml:
Fix metadata.xml
19 Aug 2011; Markos Chandras <hwoarang@gentoo.org> metadata.xml:
remove radek from metadata.xml
17 Aug 2011; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
p7zip-9.20.1.ebuild:
keyword ~sparc-solaris
27 Mar 2011; Justin Lecher <jlec@gentoo.org> p7zip-9.20.1.ebuild:
Added missing dep on dev-lang/*asm, #360743
*p7zip-9.20.1 (26 Mar 2011)
26 Mar 2011; Justin Lecher <jlec@gentoo.org> p7zip-9.13.ebuild,
-p7zip-9.13-r2.ebuild, p7zip-9.13-r3.ebuild, +p7zip-9.20.1.ebuild:
Version Bump, #360201
21 Mar 2011; Justin Lecher <jlec@gentoo.org> p7zip-9.13.ebuild,
p7zip-9.13-r2.ebuild, p7zip-9.13-r3.ebuild, metadata.xml:
Correcting DEPs from kde-base/konqueror to kde-base/kdelibs
*p7zip-9.13-r3 (14 Nov 2010)
14 Nov 2010; Justin Lecher <jlec@gentoo.org> +p7zip-9.13-r3.ebuild:
Fix for Native multilib support
11 Nov 2010; Michael Weber <xmw@gentoo.org> p7zip-9.13.ebuild,
p7zip-9.13-r2.ebuild:
Added ~arm keyword (bug #344821)
04 Nov 2010; Justin Lecher <jlec@gentoo.org> -files/4.65-hardlink.patch,
-p7zip-4.65-r1.ebuild, -files/4.65-kde4.patch, -p7zip-9.13-r1.ebuild,
-files/4.65-makefile.patch, -p7zip-4.58.ebuild:
Cleaned old versions
*p7zip-9.13-r2 (04 Nov 2010)
04 Nov 2010; Justin Lecher <jlec@gentoo.org> +p7zip-9.13-r2.ebuild:
Installing updated version of p7zip wrapper from upstream instead of out
own, #344143
02 Oct 2010; Fabian Groffen <grobian@gentoo.org> p7zip-9.13-r1.ebuild:
Marked ~x64-macos, bug #333981
30 Sep 2010; Fabian Groffen <grobian@gentoo.org> p7zip-9.13-r1.ebuild:
Make fix for bug #338375 partially conditional for USE=rar
30 Sep 2010; Fabian Groffen <grobian@gentoo.org> p7zip-9.13-r1.ebuild:
Fix loading of 7z.bundle on Darwin, bug #338375
*p7zip-9.13-r1 (19 Sep 2010)
19 Sep 2010; Justin Lecher <jlec@gentoo.org> -p7zip-4.57.ebuild,
-p7zip-4.58-r1.ebuild, -p7zip-4.65.ebuild, -p7zip-9.04.ebuild,
+p7zip-9.13-r1.ebuild:
Added pch USE and do not mix CFLAGS/CXXFLAGS
13 Aug 2010; Joseph Jezak <josejx@gentoo.org> p7zip-9.13.ebuild:
Marked ppc stable for bug #326831.
25 Jul 2010; Raúl Porcel <armin76@gentoo.org> p7zip-9.13.ebuild:
alpha/ia64/sparc stable wrt #326831
15 Jul 2010; Markus Meier <maekke@gentoo.org> p7zip-9.13.ebuild:
x86 stable, bug #326831
13 Jul 2010; Jeroen Roovers <jer@gentoo.org> p7zip-9.13.ebuild:
Stable for HPPA (bug #326831).
09 Jul 2010; Samuli Suominen <ssuominen@gentoo.org> p7zip-9.13.ebuild:
ppc64 stable wrt #326831
04 Jul 2010; Markos Chandras <hwoarang@gentoo.org> p7zip-9.13.ebuild:
Stable on amd64 wrt bug #326831
26 Jun 2010; <nixnut@gentoo.org> p7zip-4.65-r1.ebuild:
ppc stable #323025
16 Jun 2010; Markos Chandras <hwoarang@gentoo.org> p7zip-4.65-r1.ebuild:
Stable on amd64 wrt bug #323025
16 Jun 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org> p7zip-4.65-r1.ebuild:
x86 stable wrt bug #323025
*p7zip-9.13 (07 Jun 2010)
07 Jun 2010; Justin Lecher <jlec@gentoo.org> +p7zip-9.13.ebuild:
Version Bump
07 Jun 2010; Justin Lecher <jlec@gentoo.org> p7zip-4.65.ebuild,
p7zip-4.65-r1.ebuild, p7zip-9.04.ebuild:
removed stupid gui based tests
13 Apr 2010; Jeremy Olexa <darkside@gentoo.org> p7zip-9.04.ebuild:
This sed statement for darwin cannot die because USE=-rar removes one of
the two targets. bug 314429
08 Mar 2010; Fabian Groffen <grobian@gentoo.org> p7zip-9.04.ebuild:
Fix issues on Darwin: use correct makefile, patch makefile for rar, bug
#305723
16 Feb 2010; Justin Lecher <jlec@gentoo.org> p7zip-9.04.ebuild:
Fix for correct symlinking, 305345
*p7zip-9.04 (15 Feb 2010)
15 Feb 2010; Justin Lecher <jlec@gentoo.org>
+files/9.04-kde4.patch, +p7zip-9.04.ebuild, +files/9.04-makefile.patch:
Version Bump per 300838
*p7zip-4.58-r1 (15 Feb 2010)
*p7zip-4.65-r1 (15 Feb 2010)
15 Feb 2010; Justin Lecher <jlec@gentoo.org>
+files/4.65-kde4.patch, +p7zip-4.58-r1.ebuild, +p7zip-4.65-r1.ebuild,
metadata.xml:
added myself as maintainer, Respect multilib enviroments per 282228,
Fixes for kde4 per 273566, thanks Chin Yee for the contribution,
fixes for compilation with debug version of wxGTK #282079
15 Jan 2010; Jonathan Callen <abcd@gentoo.org> p7zip-4.65.ebuild:
Add prefix keywords
01 Nov 2009; Jonathan Callen <abcd@gentoo.org> p7zip-4.65.ebuild:
Drop kde-base/kdebase-meta from deps
03 May 2009; Ryan Hill <dirtyepic@gentoo.org> p7zip-4.65.ebuild:
Fix build error when wxGTK built with odbc support (bug #267698) and
checking wxGTK USE flags even when USE="-wxwidgets" (bug #267803).
Also, depend on the correct SLOT.
01 May 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
p7zip-4.65.ebuild:
Rename "wxwindows" USE flag to "wxwidgets".
01 May 2009; Jeroen Roovers <jer@gentoo.org> p7zip-4.65.ebuild:
Restore dropped keywords.
27 Apr 2009; Tomas Chvatal <scarabeus@gentoo.org> p7zip-4.65.ebuild:
Few build system updates. Make it work with kde4.
*p7zip-4.65 (26 Apr 2009)
26 Apr 2009; Patrick Lauer <patrick@gentoo.org>
+files/4.65-hardlink.patch, +files/4.65-makefile.patch, metadata.xml,
+p7zip-4.65.ebuild:
Bump to 4.65, closes #249780. Based on the ebuild by jlec, incorporating
changes from Flameeyes, Sergey Dryabzhinsky, Ilya Kashirin, A.C.Heron and
Chi-Thanh Christopher Nguyen.
25 Jan 2009; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.58.ebuild:
Removed unnecesary warning as per bug #126722
27 Dec 2008; Jeremy Olexa <darkside@gentoo.org> p7zip-4.58.ebuild:
amd64 stable, bug #236591
05 Dec 2008; Raúl Porcel <armin76@gentoo.org> p7zip-4.58.ebuild:
x86 stable wrt #236591
12 Nov 2008; Brent Baude <ranger@gentoo.org> p7zip-4.58.ebuild:
stable ppc64, bug 236591
08 Nov 2008; nixnut <nixnut@gentoo.org> p7zip-4.58.ebuild:
Stable on ppc wrt bug 236591
07 Nov 2008; Jeroen Roovers <jer@gentoo.org> p7zip-4.58.ebuild:
Stable for HPPA (bug #236591).
06 Nov 2008; Ferris McCormick <fmccor@gentoo.org> p7zip-4.58.ebuild:
Sparc stable, Bug #236591.
04 Sep 2008; Mike Frysinger <vapier@gentoo.org> p7zip-4.58.ebuild:
Use newbin instead of ugly mv && dobin.
*p7zip-4.58 (20 Jul 2008)
20 Jul 2008; Hanno Boeck <hanno@gentoo.org> +p7zip-4.58.ebuild:
Version bump.
21 Mar 2008; Radoslaw Stachowiak <radek@gentoo.org>
-files/p7zip-4.55-open_lzma_alone.patch, -p7zip-4.55-r1.ebuild:
removed old version due to security problems #213889
16 Mar 2008; nixnut <nixnut@gentoo.org> p7zip-4.57.ebuild:
Stable on ppc wrt bug 213595
05 Feb 2008; Markus Rothe <corsair@gentoo.org> p7zip-4.57.ebuild:
Stable on ppc64
03 Feb 2008; Dawid Węgliński <cla@gentoo.org> p7zip-4.57.ebuild:
Remove app-arch/rar-unpacker from postinst() as it's no longer in the tree
29 Jan 2008; Samuli Suominen <drac@gentoo.org> -p7zip-4.44.ebuild,
-p7zip-4.45.ebuild, -p7zip-4.48.ebuild, -p7zip-4.51.ebuild,
-p7zip-4.55.ebuild:
Remove unused versions.
29 Jan 2008; Jeroen Roovers <jer@gentoo.org> p7zip-4.57.ebuild:
Stable for HPPA (bug #207520).
29 Jan 2008; Richard Freeman <rich0@gentoo.org> p7zip-4.57.ebuild:
amd64 stable
26 Jan 2008; Brent Baude <ranger@gentoo.org> p7zip-4.55-r1.ebuild:
Marking p7zip-4.55-r1 ppc64 for bug 207520
26 Jan 2008; Raúl Porcel <armin76@gentoo.org> p7zip-4.57.ebuild:
sparc/x86 stable
14 Jan 2008; Tobias Scherbaum <dertobi123@gentoo.org>
p7zip-4.55-r1.ebuild:
ppc. stable
*p7zip-4.57 (25 Dec 2007)
25 Dec 2007; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.57.ebuild:
Version bump and fix for 194354
05 Dec 2007; Samuli Suominen <drac@gentoo.org> p7zip-4.55-r1.ebuild:
amd64 stable as part of bug 198314, file-collision with lzma-utils.
*p7zip-4.55-r1 (05 Dec 2007)
05 Dec 2007; Mike Frysinger <vapier@gentoo.org> +p7zip-4.55-r1.ebuild:
Do not install /usr/bin/lzma as there are other/dedicated packages that
install just the lzma compression utilities #198324.
01 Dec 2007; Markus Rothe <corsair@gentoo.org> p7zip-4.55.ebuild:
Stable on ppc64
26 Oct 2007; Jeroen Roovers <jer@gentoo.org> p7zip-4.55.ebuild:
Stable for HPPA too.
24 Oct 2007; Raúl Porcel <armin76@gentoo.org> p7zip-4.55.ebuild:
sparc/x86 stable
23 Oct 2007; Peter Weller <welp@gentoo.org> p7zip-4.51.ebuild:
Stable on amd64 wrt bug 193771
13 Oct 2007; Markus Rothe <corsair@gentoo.org> p7zip-4.51.ebuild:
Stable on ppc64; bug #193771
12 Oct 2007; Lars Weiler <pylon@gentoo.org> p7zip-4.51.ebuild:
stable ppc, bug #193771
08 Oct 2007; Fabian Groffen <grobian@gentoo.org> p7zip-4.44.ebuild,
p7zip-4.45.ebuild, p7zip-4.48.ebuild, p7zip-4.51.ebuild,
p7zip-4.55.ebuild:
Dropped ppc-macos keyword, see you in prefix
06 Oct 2007; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.55.ebuild:
added quotes for FILESDIR
25 Sep 2007; Raúl Porcel <armin76@gentoo.org> p7zip-4.51.ebuild:
sparc stable
*p7zip-4.55 (23 Sep 2007)
23 Sep 2007; Radoslaw Stachowiak <radek@gentoo.org>
+files/p7zip-4.55-open_lzma_alone.patch, +p7zip-4.55.ebuild:
version bump with experimental lzma_alone patch
17 Sep 2007; Jeroen Roovers <jer@gentoo.org> p7zip-4.51.ebuild:
Stable for HPPA too.
30 Aug 2007; Raúl Porcel <armin76@gentoo.org> p7zip-4.51.ebuild:
x86 stable
29 Aug 2007; Jeroen Roovers <jer@gentoo.org> p7zip-4.48.ebuild:
Stable for HPPA too.
09 Aug 2007; Tobias Scherbaum <dertobi123@gentoo.org> p7zip-4.48.ebuild:
Stable on ppc.
02 Aug 2007; Christian Birchinger <joker@gentoo.org> p7zip-4.48.ebuild:
Added sparc stable keyword
*p7zip-4.51 (01 Aug 2007)
01 Aug 2007; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.51.ebuild:
version bump, closes #187308, introduces lzma binary.
01 Aug 2007; Raúl Porcel <armin76@gentoo.org> p7zip-4.48.ebuild:
x86 stable
*p7zip-4.48 (01 Jul 2007)
01 Jul 2007; Radoslaw Stachowiak <radek@gentoo.org>
-files/p7zip-4.30-gcc41.diff, -files/7z, -files/7za,
-files/p7zip-4.16_x86_static.patch, -p7zip-4.20.ebuild,
-p7zip-4.30.ebuild, -p7zip-4.33.ebuild, -p7zip-4.39.ebuild,
-p7zip-4.42.ebuild, -p7zip-4.43.ebuild, +p7zip-4.48.ebuild:
version bump, and orphaned files cleaning
12 Jun 2007; Gustavo Zacarias <gustavoz@gentoo.org> p7zip-4.45.ebuild:
Stable on sparc
11 Jun 2007; Raúl Porcel <armin76@gentoo.org> p7zip-4.45.ebuild:
x86 stable
*p7zip-4.45 (15 May 2007)
15 May 2007; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.45.ebuild:
version bump
01 Apr 2007; Michael Hanselmann <hansmi@gentoo.org> p7zip-4.44.ebuild:
Stable on ppc.
25 Mar 2007; Raúl Porcel <armin76@gentoo.org> p7zip-4.44.ebuild:
Add ~ia64
17 Mar 2007; Steve Dibb <beandog@gentoo.org> p7zip-4.44.ebuild:
amd64 stable
12 Mar 2007; Gustavo Zacarias <gustavoz@gentoo.org> p7zip-4.44.ebuild:
Stable on sparc
12 Mar 2007; Raúl Porcel <armin76@gentoo.org> p7zip-4.44.ebuild:
x86 stable
09 Mar 2007; Jeroen Roovers <jer@gentoo.org> p7zip-4.44.ebuild:
Stable for HPPA (xarchiver, perhaps bug #157879).
21 Feb 2007; Piotr Jaroszyński <peper@gentoo.org> ChangeLog:
Transition to Manifest2.
04 Feb 2007; Brent Baude <ranger@gentoo.org> p7zip-4.44.ebuild:
Marking p7zip-4.44 ~ppc64 for an xfce4 dep per Drac
02 Feb 2007; Gustavo Zacarias <gustavoz@gentoo.org> p7zip-4.42.ebuild:
Stable on sparc
*p7zip-4.44 (26 Jan 2007)
26 Jan 2007; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.44.ebuild:
version bump
04 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> p7zip-4.43.ebuild:
Add ~alpha keyword.
28 Oct 2006; Diego Pettenò <flameeyes@gentoo.org> p7zip-4.43.ebuild:
Add ~x86-fbsd keyword.
21 Oct 2006; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.43.ebuild:
QA fix: Leading Space Syntax Error. Line 37
21 Oct 2006; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.43.ebuild:
arghh, wrongly commited stable keywords after version bump. shame on me.
*p7zip-4.43 (21 Oct 2006)
21 Oct 2006; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.43.ebuild:
version bump, fixes #150498 #137579 #150766
04 Sep 2006; Saleem Abdulrasool <compnerd@gentoo.org> p7zip-4.42.ebuild:
stable on x86 (bug #145282)
29 Aug 2006; Tobias Scherbaum <dertobi123@gentoo.org> p7zip-4.42.ebuild:
ppc stable, bug #145282
27 Aug 2006; Jason Wever <weeve@gentoo.org> p7zip-4.42.ebuild:
Added ~sparc keyword.
27 Aug 2006; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.42.ebuild:
THanks to Fabian Groffen, closed #109949
02 Aug 2006; Patrick McLean <chutzpah@gentoo.org> p7zip-4.42.ebuild:
Stable on amd64 (bug #142395).
22 Jun 2006; Simon Stelling <blubb@gentoo.org> p7zip-4.42.ebuild:
added ~amd64 keyword
10 Jun 2006; Michael Hanselmann <hansmi@gentoo.org> p7zip-4.39.ebuild:
Stable on ppc.
03 Jun 2006; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.42.ebuild:
Cross compilation fix, thanks to Josu Lopez Fernandez #135417
29 May 2006; Mark Loeser <halcy0n@gentoo.org> p7zip-4.39.ebuild:
Stable on x86; bug #134513
*p7zip-4.42 (28 May 2006)
28 May 2006; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.42.ebuild:
version bump
27 May 2006; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.39.ebuild:
fixed missing 7zr compilation/installation
*p7zip-4.39 (16 Apr 2006)
16 Apr 2006; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.39.ebuild:
Version bump. Fixes partially #126722
22 Mar 2006; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.33.ebuild:
removed amd64 keyword due to fPIC bug #126722
*p7zip-4.33 (18 Mar 2006)
18 Mar 2006; Radoslaw Stachowiak <radek@gentoo.org> +files/p7zip,
-p7zip-4.20-r1.ebuild, -p7zip-4.27.ebuild, +p7zip-4.33.ebuild:
version bump to 4.33, not using gcc-4.1 patch anymore
removed obsolete versions (4.2*)
31 Jan 2006; Hanno Boeck <hanno@gentoo.org> +files/p7zip-4.30-gcc41.diff,
p7zip-4.30.ebuild:
Fix for gcc 4.1.
*p7zip-4.30 (11 Dec 2005)
11 Dec 2005; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.30.ebuild:
version bump, closes #113670
04 Oct 2005; Simon Stelling <blubb@gentoo.org> p7zip-4.27.ebuild:
fix bug 107166 and make it respect multilib-strict
25 Sep 2005; Radoslaw Stachowiak <radek@gentoo.org> files/7z, files/7za:
changed wrapper script to include " around @
25 Sep 2005; Radoslaw Stachowiak <radek@gentoo.org> files/7z, +files/7za,
-p7zip-0.91.ebuild, p7zip-4.27.ebuild:
fixed bug #107107 with wrong wrapper/symlink usage. removed old version.
24 Sep 2005; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.27.ebuild:
Removed ppc-macos keyword due to compilation bug
*p7zip-4.27 (24 Sep 2005)
24 Sep 2005; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.27.ebuild:
changed -O1 to make.conf CFLAGS
added plugins compilation and installation (/usr/lib/p7zip) closes #104248
version bump
14 Sep 2005; Fabian Groffen <grobian@gentoo.org> p7zip-4.20-r1.ebuild:
Marking ~ppc-macos (bug #105853)
*p7zip-4.20-r1 (27 Aug 2005)
27 Aug 2005; Radoslaw Stachowiak <radek@gentoo.org> -p7zip-4.16.ebuild,
-p7zip-4.18.ebuild, +p7zip-4.20-r1.ebuild:
Fixed #103605 thanks to Bruce Guenter.
Removed obsoleted versions.
10 Aug 2005; Luis Medinas <metalgod@gentoo.org> p7zip-4.20.ebuild:
Marked Stable on AMD64.
09 Aug 2005; Joseph Jezak <josejx@gentoo.org> p7zip-4.20.ebuild:
Marked ppc stable.
08 Aug 2005; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.20.ebuild:
marked stable on x86
*p7zip-4.20 (06 Jun 2005)
06 Jun 2005; Radoslaw Stachowiak <radek@gentoo.org>
-files/p7zip-4.14_x86_static.patch, -p7zip-4.14.ebuild,
+p7zip-4.20.ebuild:
Removed old 4.14 ebuild.
Added new 4.20 (version bump).
06 Jun 2005; Heinrich Wendel <lanius@gentoo.org> p7zip-4.16.ebuild:
amd64 stable
27 May 2005; Joseph Jezak <josejx@gentoo.org> p7zip-4.16.ebuild:
Marked ppc stable.
*p7zip-4.18 (15 May 2005)
15 May 2005; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.18.ebuild:
version bump
15 May 2005; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.16.ebuild:
stable on x86
09 May 2005; David Holm <dholm@gentoo.org> p7zip-4.14.ebuild:
Stable on ppc.
15 Apr 2005; Radoslaw Stachowiak <radek@gentoo.org>
-files/p7zip-4.10_x86_dynamic.patch, -files/p7zip-4.12_x86_static.patch,
-files/p7zip-4.13_x86_static.patch, -p7zip-4.10.ebuild,
-p7zip-4.10-r1.ebuild, -p7zip-4.12.ebuild, -p7zip-4.13.ebuild,
-p7zip-4.14.01.ebuild:
removed unnecesary ebuilds.
*p7zip-4.16 (15 Apr 2005)
15 Apr 2005; Radoslaw Stachowiak <radek@gentoo.org>
+files/p7zip-4.16_x86_static.patch, +p7zip-4.16.ebuild:
version bump
11 Mar 2005; David Holm <dholm@gentoo.org> p7zip-4.14.01.ebuild:
Added to ~ppc.
17 Feb 2005; Radoslaw Stachowiak <radek@gentoo.org> p7zip-4.14.ebuild:
4.14 marked stable (one month in the tree, party time :)
*p7zip-4.14.01 (17 Feb 2005)
17 Feb 2005; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.14.01.ebuild:
version bump.
16 Jan 2005; Mike Frysinger <vapier@gentoo.org> p7zip-4.14.ebuild:
Clean up.
*p7zip-4.14 (14 Jan 2005)
14 Jan 2005; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.14.ebuild:
new version, static patch fixed.
11 Jan 2005; Malcolm Lashley <malc@gentoo.org> p7zip-4.13.ebuild:
Add ~amd64 closes bug #70206
*p7zip-4.13 (27 Dec 2004)
27 Dec 2004; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.13.ebuild:
new version.
*p7zip-4.12 (04 Dec 2004)
04 Dec 2004; Radoslaw Stachowiak <radek@gentoo.org>
+files/p7zip-4.12_x86_static.patch, +p7zip-4.12.ebuild:
new version from upstream.
*p7zip-4.10-r1 (11 Nov 2004)
11 Nov 2004; Radoslaw Stachowiak <radek@gentoo.org>
+files/p7zip-4.10_x86_dynamic.patch, +p7zip-4.10-r1.ebuild:
Disabled static linkage in default install.
if useflag "static" is enabled, links static executable.
*p7zip-4.10 (25 Oct 2004)
25 Oct 2004; Radoslaw Stachowiak <radek@gentoo.org> +p7zip-4.10.ebuild:
Version bump. Now single static binary being installed.
*p7zip-0.91 (26 Sep 2004)
26 Sep 2004; Radoslaw Stachowiak <radek@gentoo.org> +metadata.xml,
+p7zip-0.91.ebuild:
Initial release. Ebuild based on work by Dmitry S. Kulyabov and Per Wigren.

View File

@ -1 +1,26 @@
DIST p7zip_9.13_src_all.tar.bz2 3753579 RMD160 beb9181330f4dfa75aa4f473c68a462c76b7ab19 SHA1 81da0729561ce123c0a82656ec96a04ad5bfa522 SHA256 fc9c0fa2eabd367d6adbc3ea07bb305dbdc1f68717eea362c8c074b91c03d923
AUX 9.04-makefile.patch 470 SHA256 c8ef2898ed994929600c04ed0ecfd2dc2b94982d274ee217cbc05234c37750f6 SHA512 2c131e0b42ae6c8cd236125be313ea032b47edf858d1248a8648fd0e794ca4094016a3bb06e15fe65582626dd9d611a08a87ad5789695fff0a2244bb7f3cec3d WHIRLPOOL b2a66b46651a8036808985524b2c6311fa0d7dbceba453f1ac4bb1cc0fef9fbe060b1d4c04e20353c4232915f340cf3bd65d0f7e0ccc3eac8651d3ac15d389db
AUX p7zip 1210 SHA256 28d181cd1c43628da0adb485e20f270461b6cf8d743d2187a3380f7799fbc2d5 SHA512 e3f1497cc00669430de336aac1d45a0313831b7f5dc88b9b2ca49e743d8e9e7c73b403d94b4fd9de6cd59875fef47756f9dab9ddf12442ee3fff71e413715553 WHIRLPOOL e14aef0141b8260a5206bd94d22560c927a3ce0e643433ee68d8ade0601655b8a6b7c8ad78f81a0fb97323c7c37eb3fc5483d9e49c2ac259d146b60e678cc973
AUX p7zip-15.09-CVE-2015-1038.patch 10079 SHA256 e9116a8a1efdba8037dc58d89eb0b6e3f82cc1e68e786acc3b86c7c156db2f1d SHA512 a58fcf4024643b640ae347b9769238157db353154a870f46c9dbd91dab110375eee05bfa04922af155f2901e9f0bfa25f12915fe0932b6d628c950864c78617b WHIRLPOOL 19a463d7f65188aa1c89423919dae9372cef9e7b47c0bc03c5118f3fda89fa9db808b8e0fe6368651c747b4ff4a32cd4823598fc9e3a0dacb6db022566ffb60f
AUX p7zip-15.14-darwin.patch 598 SHA256 c9f3abdcd01d7d5d502660c5ffbcd3bdff3cf2f4b1804d6f6474a158e6200363 SHA512 d9e773571c0d1816e1b882da974446b18fab229deafbba3d38de5c4c5582817d6fb2256c36b755170ae09f552cd568a142f70198dcbe8e6e02be7bcc73d13c34 WHIRLPOOL 1d66fea23e5a5bc5b1002a305bbcaa02c8842e8682b454f4871153ebce9cc4d11c688d164a0331e5c32d15868a4ca6c2356a45481b047f7850e0146c33e055d5
AUX p7zip-15.14.1-darwin.patch 242 SHA256 306a36f3caa3b6f5ca3fcf6e14a9d1eef546da7d4d65a73a63e69fd822f12518 SHA512 333f71d5f857b8eacf3074036dc2b61c7860ac6225c9e238dcf5582066066b0f0f839c6f7e8a580a3dd9ab714ec1fcce3ba2e89f131d87750ab6af6605e51387 WHIRLPOOL ab40296a03c8a0b16979614f3c440217a9b3488ed5bdba1dcdf6d7bf065f228fa2b9d5e2afdc4ee69d1b7cab7c3aafe1c4d8800466dd7178c6234bcd21696a93
AUX p7zip-9.20.1-CVE-2015-1038.patch 9959 SHA256 99e67592a8d1d578c94a2d4731df36d00aff572e6f09a818e2334d582369fca6 SHA512 c14550d346d7f6aea32d1b076a4ed6006d7f26a1ced5eb7b7e737a7599a384c1e3395820df5b5bdcae3027f1af7aaa520137e72f0b33ac80a6552e1e498c92ff WHIRLPOOL 580b51be849b9cae0bec2d234df9a5daa0cea6e71183b82bbfa3433d7515d77b874b17386d253ec3403836d21ae6df778dc0118acc2e6465a1068d3fd9e50ee3
AUX p7zip-9.20.1-QA.patch 650 SHA256 695b6836b13699e3db3e019dbd54275e48a01b59210fd353a2d9e46224c60785 SHA512 b07f8608b973be7c547b226bc23dd064d6cc18f6b1ea70ce72aff72fa098852914eb8d331fe7230b7fdfbb1f0fce59eb3404fd3a5b44d151ea847e87fd2d8f39 WHIRLPOOL 077a4bdf44dcbd66a525e795e082aef41321dc7770415a1cd78716d78aa5b5b2e780afcb4194ea7c2ae2947a596292be18ab8dd3f9bce302e47f8d9cdcc6a046
AUX p7zip-9.20.1-execstack.patch 785 SHA256 0725ca42b5ac8d4024a18e2759a12c3ba04b8ea504376c14d8890f7bebba3fb1 SHA512 2b3404554295596dd1113700f72f7149baded7b381e70edea78a2cf66ad69ac6fb03653c490843ecab13e348638a0efaaeb3f5e71a0670255d09a91c70c7977f WHIRLPOOL 4aa1a9632d706c4f9f8b906a9a84929605a56e92c4289a296b767d107e11f85848d40bd58ad4df21c2d87f385318b8e740b71bc7c0467ea3af2bd6c58502d25a
AUX p7zip-9.20.1-long_rar_pwd.patch 805 SHA256 5c2fdd7132e5fdceac91d783b1056420537f14a1e3fc7715b75dac698704ebf8 SHA512 0895fec9ec2a0eae960e44f181d2dcac618916d4bf7a5576e234ad7d2fc9417da4eb589c115b0b4040f7c9142cd43637355d8d62e8f43201117c0ee2a6da02cb WHIRLPOOL bd2d339a7356f1b3201005fe6f05ad881b2292e5fadf46a32a28c1667d32fe8b5b555105975e7c69dfa90cc157b415b86a4e153e13dfe0b8bfc4ef095c24fb57
AUX p7zip-9.38.1-CVE-2015-1038.patch 8608 SHA256 f88a01760330f4bb70ec09a598c4c0ec45aa3d08d53d4e80e8fae2f3f951b9ba SHA512 bb03e49d2c55f67e2bd0eaea69ae951414779774b3a3c594bdd8e1db035dd47c600e218f4d81fdebc40be8829f0babac94f24de82106260d22c4fc7dd381b886 WHIRLPOOL 7687e91cc5df79d2005bea6469e83b812c7911a3cce2cd87d5fa17548e695e9794cd0b60806b8117e7a28e673a9986dd92fbda0946d46853fb4d58ae40dd6d64
AUX p7zip-9.38.1-osversion.patch 838 SHA256 135de03123263910ed99d1afa07ee4a39e471fc257e9dcbe7a8ce0477634cc54 SHA512 28a798a2930552ee940f4f400e66e11cf7ee113c3c0fcf782404c45b95b5774c52b0518520a5f38cc9d7abe795756fce14a0c0e143c31f8da50253bcda423909 WHIRLPOOL 6c6f0e024ba590139fbb6f61ae8f3699e841ac8b00d530e6f7418ccc182aca2f5ffa81925b2bc2b1520cfbd617f0bf8f3c3f95b74222a5300b0f89b10ec19604
DIST p7zip_15.09_src_all.tar.bz2 4048481 SHA256 8783acf747e210e00150f7311cc06c4cd8ecf7b0c27b4adf2194284cc49b4d6f SHA512 4f020b13632ef7a85aa8a98586b59bef2dde3c1cbebdbd17e01f1d09b2e13a56ecfe82546d7efc677c45df67456a71cfdb67826b53ebea4c0fb4878f20c2f6dd WHIRLPOOL 71d1cdb9b3b1208197b2c056670d057b00e9a5f80cf08b5914b5d25f2f6756d4cb53e5a000ec76b7b879f82302fca6d012a2cd397e8aa95ae4fc21fd620eb1ab
DIST p7zip_15.14.1_src_all.tar.bz2 4147911 SHA256 699db4da3621904113e040703220abb1148dfef477b55305e2f14a4f1f8f25d4 SHA512 30d0ef47bd6938cdd5d9d80ec6e7aed972655686a43adb0ae34bb9856ec7cd5a68a05c580352021055cefd6eeceb134ff6402f93686ce46e57f9757798e76abd WHIRLPOOL ace6204d3ab08002b6d5657ae280e22b7e26cdfe0af8099024ad8562a68aa5097a8f09d9d49904a06b9a6942d30fbf3d7a3872661433dd4f76c33dea03ccfb6a
DIST p7zip_15.14_src_all.tar.bz2 4147609 SHA256 b9b77450e98859454d39002f55ddc95a0705041ebc0a9bb49733ce2d9a7292d8 SHA512 3053647cbcb3b8efd7f41b6bc122e984b999d31720f9b22387c52ccfe8a71d73899b1fb3a269854fd43bc1ca656c7d53457aca1cb5e2c90a2d0fb8f084bdebc5 WHIRLPOOL 52a397e4ea15cdd4c68156a0c32d449be78469d5704e0d4bb644a813b583422b3d7b0741284974ca22d9ea99a303dfadeccc23d74a77cac0c9b51153bd61e24b
DIST p7zip_9.20.1_src_all.tar.bz2 3835235 SHA256 49557e7ffca08100f9fc687f4dfc5aea703ca207640c76d9dee7b66f03cb4782 SHA512 7bb8a276aaefc4a83364e45633c48527de44c6b1205344f3356db570582f30f81d82a94938c99a7ad193587b584cc1c03219c28249de40018bdaee6c3b2a022a WHIRLPOOL cb20f37d3f796931a9b330728aa7148afe98bbf8a49bb91bfd80e4667c16416206b23bf34298e9ec37825e8b43f92a5710f0cea1f974296d5c17aa2c7b0931f3
DIST p7zip_9.38.1_src_all.tar.bz2 3917925 SHA256 fd5019109c9a1bf34ad3257d37a6853eae8151ff50345f0a3ffba7d8c5fdb995 SHA512 f524ffae54e0d9563a509cc4b243e830d882a925e682eb2e15e2d19cb72c947fddecd72c8507d6c1538b997b240b0827046fc2fb4f5e3f7d49840257c92b9c04 WHIRLPOOL 6bad1cde056ab1e8db4079c0e649665fbc7e6b9a565261188bd0acaec6c583d8bd9425cb26d39315408d0180ba0be0069a77b704633cf05ec855220cb31f1c24
EBUILD p7zip-15.09-r2.ebuild 4527 SHA256 7ae72eee3a9df30cf020ea44d019f1160717e6009d1ba2e4c13b75ad589feb5b SHA512 33b63e7af3149d21e0e1cc1dc673baf1a2c4ee0849ceff40915a549c53c3bcb4f5973c0cd36e8792a3a4b83db6facb6071ed424dc99164e2c0dc7f2800e334a2 WHIRLPOOL 8cb662e7d22731fe5c55af62159ef6ef872366c49cae1dbaaf4b3aa02d86e08b5b214777d75f30dc4c69a50ba3e1d8ecbd4acd9aa1012ae26a9b383e81474d0b
EBUILD p7zip-15.09.ebuild 4268 SHA256 2885303a068a08131ab68da84a1c4436c67ae9a8588d50066b4eba734a50b299 SHA512 e83281d2afdac80112dd634c69b397b6492b52c159c7a97a4ee6246fa774b86f80504c9a20aa31f5d36232638f287495d44dfe280311b54ef206f5a0576f5eb5 WHIRLPOOL 6271e7f38747d496bee3522623b079ce6c5f7b8df461345969d408e967d9bc09bdfd1006bd094cf6f415a983f7e6f0d57bccd99e2a98a631655b053665cf2f1e
EBUILD p7zip-15.14.1.ebuild 4522 SHA256 d8d45f662234aed6d9cf05dbe83e456c8aa9b69b520ba67230b4ca4895b057e2 SHA512 f01adb8bac35e2d8c597e2438b2271c3867249689068e384d792e9e93b746935d382f0f4ac9276d526333423789b9f3ed5ddd78b3ac11b82cc7b4858222a7534 WHIRLPOOL aa3ef230822c8ac7c7cf9b054c3cbf4ab71116188007033cfdbfc93d78cea39bcb3c5ba4d51e9bb8065babb501a6217482e9b73f79b271c2c05af55777b461b1
EBUILD p7zip-15.14.ebuild 4523 SHA256 d2dbc6f1bd07efbd25bf59ab9d635eba0b6e36ea3b542824d58e8d9b51aa4c4a SHA512 61e209e0cbf50cb04c0e1be16c731b54b5ff2745cf468c6b4c3594e5ce30260e670697bafc2427def1a548c3a6d6cd2cece2976e6e0a1b7ca0fe0ed6ce7f9e9e WHIRLPOOL 1b291b51f1ed35e0e12d79c6905fa4dc73cf7b690d3a22d1556ee593dc9e835c4be2f5f7e5adf17d1098ae4bfcacdcf135d2840a92b9c6b35de5bee0403745e0
EBUILD p7zip-9.20.1-r5.ebuild 4205 SHA256 a0595dc20fcbd1e545c32f4c80480e8bf3af968b579b6c4bced47df6837f2e5c SHA512 298b9c35601b2954eff09ca08df35207bfd14f33778e0498ce8b6eb4070f7551a85e63e630a78fe2014413def27b20d011193e2c6b0f4fc2253b52b5a58d2fcc WHIRLPOOL 93d2f42ca68f2d9887fbddaacd1ed18f202c67e6c86918e224e33fcd3b367e95907115abfaf77a85e3f06f4c6d4a5c2050b3943d68a198ae2cfbb01a5d121713
EBUILD p7zip-9.38.1-r2.ebuild 4264 SHA256 88260e250a71380363591fbba14ce2d1c0fef772e8076832e14323c2927d65f2 SHA512 a25a59cd186fffbad1a150a1b2b74ab6fc74ebe2740dd5757f88cd8b90eb10d35b450e9f57ab4b3eb1d79586aed73af9407e9ed310e71a5ebb997d7fb4f9f50a WHIRLPOOL b64e8c3de0be728fec799718d18d18573ddd905759da69ecc4972ff3a767b29c967e94f484cb1adadeba757aff0e3c9c243c2b0f37b20d4be6ec175bc43ffe64
EBUILD p7zip-9.38.1-r3.ebuild 4297 SHA256 d545fad12eb3323700691342a35b3754d2a843597e03690831d51cc8ed263eba SHA512 a1c5b92ff0f667ce15f7e5cb43b4521644587bef626e86c4963479360eca89d22ed6687e23597be44157564f53638d51c29219632142c6cadf2fe3515918836c WHIRLPOOL 09c11745173d4f074c0660ce68e0947423fee53b829db4573424d5780721d165e0f01892799ceed5f5b615ce0922feb6eda9a270a8086d188a9f47390f87f918
MISC ChangeLog 5256 SHA256 7547851987b70a5a2ce0951d01b1903247e48f44d7fb7823a5172ce3e787db1c SHA512 cf36e985cab119b2b129a60b8f89db9d9a5d45ccd4904e31c27d6847af187a4e6bfeb64ab4cf597098297ae5da745a4f4d751b6c868a34a61b2eef49f44f8a03 WHIRLPOOL 5a9606f1036daffa41b9ff00c2326398feb62cd1c1576007e8db58ed0ef1a50df9ef06f18fbc6a27bc6c853bdb4e5165f7862d3bf30dd02a2ecfb97d3f620a06
MISC ChangeLog-2015 23615 SHA256 a54b898b9a62097200726e77e374600fa9b7f8cffadf132d110ca00449d42849 SHA512 e8e2f0cf43f704fa13a88f3febe3647d0521e1055627ba97d717155499e65dc79481752232a484e6264a8001f4bb0e638754b724d3e425e73dde2fb2e1aa92cf WHIRLPOOL f737bd27b70913de90ecbb477ab1aa21e4cba6c4a62cbd47c15b4e727fecd3d15c14de536850f2cd06059d647bd0471f4fc567a5c022fc96dadeaa4fd56fde51
MISC metadata.xml 435 SHA256 fb78e893bfe72f7f34a02cdf2fe46cc6074855fb4ce3e327c54ab35584469df4 SHA512 3588bbc28ee0e54a059d88d35ce821596b0dd3b5c1f84490568a3f7d3f67f5ade02c301c699bdaaf4cb653df5d59441cb7383a18708cd15d64d97eb1f0847f1c WHIRLPOOL b53dd7b156271fddd0bd40ad617e1524aa916c0d3f82e28e5ab41cfdf23f7eda46c857385fca3e15b49d9c63284db3999c298824b894c9a390ebe03fe2dd5000

View File

@ -1,87 +0,0 @@
diff --git a/GUI/kde/p7zip_compress.desktop b/GUI/kde/p7zip_compress.desktop
index 9010fbd..b965fa6 100644
--- a/GUI/kde/p7zip_compress.desktop
+++ b/GUI/kde/p7zip_compress.desktop
@@ -1,6 +1,8 @@
[Desktop Entry]
-ServiceTypes=inode/directory
-Actions=CompressDialog;Compress7z;CompressZip;extractHere;ExtractSubdir;ExtractTo;test;Benchmark
+Type=Service
+ServiceTypes=KonqPopupMenu/Plugin
+MimeType=all/all;
+Actions=CompressDialog;Compress7z;CompressZip;Benchmark
X-KDE-Priority=TopLevel
X-KDE-Submenu=7-Zip
X-KDE-Icon=p7zip
diff --git a/GUI/kde/p7zip_extract.desktop b/GUI/kde/p7zip_extract.desktop
index 9038c76..a7dca4d 100644
--- a/GUI/kde/p7zip_extract.desktop
+++ b/GUI/kde/p7zip_extract.desktop
@@ -1,10 +1,30 @@
[Desktop Entry]
X-SuSE-translate=true
-Encoding=UTF-8
-ServiceTypes=application/x-gzip,application/x-lha,application/x-tar,application/x-tgz,application/x-tbz,application/x-tbz2,application/x-zip,application/x-bzip,application/x-tzo,application/x-lzop,application/x-rar,application/x-rar-compressed,application/x-zoo,application/x-tarz,application/x-archive,application/x-bzip2,application/x-jar,application/x-deb,application/x-ace,application/x-7z,application/x-arc,application/x-arj,application/x-compress,application/x-cpio,application/x-pak
-Actions=extractHere
+Type=Service
+ServiceTypes=KonqPopupMenu/Plugin
+MimeType=application/x-gzip;application/x-lha;application/x-tar;application/x-compressed-tar;application/x-bzip-compressed-tar;application/zip;application/x-bzip;application/x-tzo;application/x-lzop;application/x-rar;application/x-zoo;application/x-tarz;application/x-archive;application/x-bzip2;application/x-java-archive;application/x-deb;application/x-ace;application/x-7z-compressed;application/x-arc;application/x-arj;application/x-compress;application/x-zip-compressed;application/x-cpio;application/x-pak;
+#MimeType=application/x-gzip;application/x-lha;application/x-tar;application/x-tgz;application/x-tbz;application/x-tbz2;application/x-zip;application/x-bzip;application/x-tzo;application/x-lzop;application/x-rar;application/x-rar-compressed;application/x-zoo;application/x-tarz;application/x-archive;application/x-bzip2;application/x-jar;application/x-deb;application/x-ace;application/x-7z;application/x-arc;application/x-arj;application/x-compress;application/x-cpio;application/x-pak;
+Actions=extractHere;ExtractSubdir;ExtractTo;test;
+X-KDE-Priority=TopLevel
+X-KDE-Submenu=7-Zip
+X-KDE-Icon=p7zip
[Desktop Action extractHere]
-Name=Extract Here with 7-zip
+Name=Extract Here
Exec=p7zipForFilemanager x %U
Icon=p7zip
+
+[Desktop Action ExtractSubdir]
+Name=Extract to subdirectory
+Icon=p7zip
+Exec=p7zipForFilemanager xs %U
+
+[Desktop Action ExtractTo]
+Name=Extract to ...
+Icon=p7zip
+Exec=p7zipForFilemanager xd %U
+
+[Desktop Action test]
+Name=Test Archive
+Exec=p7zipForFilemanager t %U
+Icon=p7zip
diff --git a/GUI/kde/p7zip_extract_subdir.desktop b/GUI/kde/p7zip_extract_subdir.desktop
index 1800fa0..a711f3c 100644
--- a/GUI/kde/p7zip_extract_subdir.desktop
+++ b/GUI/kde/p7zip_extract_subdir.desktop
@@ -1,6 +1,5 @@
[Desktop Entry]
X-SuSE-translate=true
-Encoding=UTF-8
ServiceTypes=application/x-gzip,application/x-lha,application/x-tar,application/x-tgz,application/x-tbz,application/x-tbz2,application/x-zip,application/x-bzip,application/x-tzo,application/x-lzop,application/x-rar,application/x-rar-compressed,application/x-zoo,application/x-tarz,application/x-archive,application/x-bzip2,application/x-jar,application/x-deb,application/x-ace,application/x-7z,application/x-arc,application/x-arj,application/x-compress,application/x-cpio,application/x-pak
Actions=ExtractSubdir
diff --git a/GUI/kde/p7zip_extract_to.desktop b/GUI/kde/p7zip_extract_to.desktop
index bf13ec0..18d2b74 100644
--- a/GUI/kde/p7zip_extract_to.desktop
+++ b/GUI/kde/p7zip_extract_to.desktop
@@ -1,6 +1,5 @@
[Desktop Entry]
X-SuSE-translate=true
-Encoding=UTF-8
ServiceTypes=application/x-gzip,application/x-lha,application/x-tar,application/x-tgz,application/x-tbz,application/x-tbz2,application/x-zip,application/x-bzip,application/x-tzo,application/x-lzop,application/x-rar,application/x-rar-compressed,application/x-zoo,application/x-tarz,application/x-archive,application/x-bzip2,application/x-jar,application/x-deb,application/x-ace,application/x-7z,application/x-arc,application/x-arj,application/x-compress,application/x-cpio,application/x-pak
Actions=ExtractTo
diff --git a/GUI/kde/p7zip_test.desktop b/GUI/kde/p7zip_test.desktop
index 2c17acb..5212bb2 100644
--- a/GUI/kde/p7zip_test.desktop
+++ b/GUI/kde/p7zip_test.desktop
@@ -1,6 +1,5 @@
[Desktop Entry]
X-SuSE-translate=true
-Encoding=UTF-8
ServiceTypes=application/x-gzip,application/x-lha,application/x-tar,application/x-tgz,application/x-tbz,application/x-tbz2,application/x-zip,application/x-bzip,application/x-tzo,application/x-lzop,application/x-rar,application/x-rar-compressed,application/x-zoo,application/x-tarz,application/x-archive,application/x-bzip2,application/x-jar,application/x-deb,application/x-ace,application/x-7z,application/x-arc,application/x-arj,application/x-compress,application/x-cpio,application/x-pak
Actions=test

View File

@ -0,0 +1,290 @@
Author: Ben Hutchings <ben@decadent.org.uk>
Date: Tue, 19 May 2015 02:38:40 +0100
Description: Delay creation of symlinks to prevent arbitrary file writes (CVE-2015-1038)
Bug: http://sourceforge.net/p/p7zip/bugs/147/
Bug-Debian: https://bugs.debian.org/774660
Alexander Cherepanov discovered that 7zip is susceptible to a
directory traversal vulnerability. While extracting an archive, it
will extract symlinks and then follow them if they are referenced in
further entries. This can be exploited by a rogue archive to write
files outside the current directory.
We have to create placeholder files (which we already do) and delay
creating symlinks until the end of extraction.
Due to the possibility of anti-items (deletions) in the archive, it is
possible for placeholders to be deleted and replaced before we create
the symlinks. It's not clear that this can be used for mischief, but
GNU tar guards against similar problems by checking that the placeholder
still exists and is the same inode. XXX It also checks 'birth time' but
this isn't portable. We can probably get away with comparing ctime
since we don't support hard links.
diff -rup p7zip_15.09.orig/CPP/7zip/UI/Agent/Agent.cpp p7zip_15.09/CPP/7zip/UI/Agent/Agent.cpp
--- p7zip_15.09.orig/CPP/7zip/UI/Agent/Agent.cpp 2015-09-17 20:02:35.000000000 +0100
+++ p7zip_15.09/CPP/7zip/UI/Agent/Agent.cpp 2015-12-03 02:22:47.073724194 +0000
@@ -1515,7 +1515,7 @@ STDMETHODIMP CAgentFolder::Extract(const
HRESULT result = _agentSpec->GetArchive()->Extract(&realIndices.Front(),
realIndices.Size(), testMode, extractCallback);
if (result == S_OK)
- result = extractCallbackSpec->SetDirsTimes();
+ result = extractCallbackSpec->SetFinalAttribs();
return result;
COM_TRY_END
}
diff -rup p7zip_15.09.orig/CPP/7zip/UI/Client7z/Client7z.cpp p7zip_15.09/CPP/7zip/UI/Client7z/Client7z.cpp
--- p7zip_15.09.orig/CPP/7zip/UI/Client7z/Client7z.cpp 2015-10-17 15:52:30.000000000 +0100
+++ p7zip_15.09/CPP/7zip/UI/Client7z/Client7z.cpp 2015-12-03 02:22:47.073724194 +0000
@@ -230,8 +230,11 @@ private:
COutFileStream *_outFileStreamSpec;
CMyComPtr<ISequentialOutStream> _outFileStream;
+ CObjectVector<NWindows::NFile::NDir::CDelayedSymLink> _delayedSymLinks;
+
public:
void Init(IInArchive *archiveHandler, const FString &directoryPath);
+ HRESULT SetFinalAttribs();
UInt64 NumErrors;
bool PasswordIsDefined;
@@ -449,11 +452,23 @@ STDMETHODIMP CArchiveExtractCallback::Se
}
_outFileStream.Release();
if (_extractMode && _processedFileInfo.AttribDefined)
- SetFileAttrib(_diskFilePath, _processedFileInfo.Attrib);
+ SetFileAttrib(_diskFilePath, _processedFileInfo.Attrib, &_delayedSymLinks);
PrintNewLine();
return S_OK;
}
+HRESULT CArchiveExtractCallback::SetFinalAttribs()
+{
+ HRESULT result = S_OK;
+
+ for (int i = 0; i != _delayedSymLinks.Size(); ++i)
+ if (!_delayedSymLinks[i].Create())
+ result = E_FAIL;
+
+ _delayedSymLinks.Clear();
+
+ return result;
+}
STDMETHODIMP CArchiveExtractCallback::CryptoGetTextPassword(BSTR *password)
{
@@ -914,6 +929,8 @@ int MY_CDECL main(int numArgs, const cha
// extractCallbackSpec->PasswordIsDefined = true;
// extractCallbackSpec->Password = L"1";
HRESULT result = archive->Extract(NULL, (UInt32)(Int32)(-1), false, extractCallback);
+ if (result == S_OK)
+ result = extractCallbackSpec->SetFinalAttribs();
if (result != S_OK)
{
PrintError("Extract Error");
diff -rup p7zip_15.09.orig/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp p7zip_15.09/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp
--- p7zip_15.09.orig/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp 2015-10-03 09:49:15.000000000 +0100
+++ p7zip_15.09/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp 2015-12-03 02:24:40.444963545 +0000
@@ -1502,7 +1502,7 @@ STDMETHODIMP CArchiveExtractCallback::Se
NumFiles++;
if (!_stdOutMode && _extractMode && _fi.AttribDefined)
- SetFileAttrib(_diskFilePath, _fi.Attrib);
+ SetFileAttrib(_diskFilePath, _fi.Attrib, &_delayedSymLinks);
RINOK(_extractCallback2->SetOperationResult(opRes, BoolToInt(_encrypted)));
@@ -1584,8 +1584,9 @@ static unsigned GetNumSlashes(const FCha
}
}
-HRESULT CArchiveExtractCallback::SetDirsTimes()
+HRESULT CArchiveExtractCallback::SetFinalAttribs()
{
+ HRESULT result = S_OK;
CRecordVector<CExtrRefSortPair> pairs;
pairs.ClearAndSetSize(_extractedFolderPaths.Size());
unsigned i;
@@ -1622,5 +1623,12 @@ HRESULT CArchiveExtractCallback::SetDirs
(WriteATime && ATimeDefined) ? &ATime : NULL,
(WriteMTime && MTimeDefined) ? &MTime : (_arc->MTimeDefined ? &_arc->MTime : NULL));
}
- return S_OK;
+
+ for (int i = 0; i != _delayedSymLinks.Size(); ++i)
+ if (!_delayedSymLinks[i].Create())
+ result = E_FAIL;
+
+ _delayedSymLinks.Clear();
+
+ return result;
}
diff -rup p7zip_15.09.orig/CPP/7zip/UI/Common/ArchiveExtractCallback.h p7zip_15.09/CPP/7zip/UI/Common/ArchiveExtractCallback.h
--- p7zip_15.09.orig/CPP/7zip/UI/Common/ArchiveExtractCallback.h 2015-10-03 11:29:09.000000000 +0100
+++ p7zip_15.09/CPP/7zip/UI/Common/ArchiveExtractCallback.h 2015-12-03 02:22:47.074724204 +0000
@@ -6,6 +6,8 @@
#include "../../../Common/MyCom.h"
#include "../../../Common/Wildcard.h"
+#include "../../../Windows/FileDir.h"
+
#include "../../IPassword.h"
#include "../../Common/FileStreams.h"
@@ -237,6 +239,8 @@ class CArchiveExtractCallback:
bool _saclEnabled;
#endif
+ CObjectVector<NWindows::NFile::NDir::CDelayedSymLink> _delayedSymLinks;
+
void CreateComplexDirectory(const UStringVector &dirPathParts, FString &fullPath);
HRESULT GetTime(int index, PROPID propID, FILETIME &filetime, bool &filetimeIsDefined);
HRESULT GetUnpackSize();
@@ -330,7 +334,7 @@ public:
}
#endif
- HRESULT SetDirsTimes();
+ HRESULT SetFinalAttribs();
};
bool CensorNode_CheckPath(const NWildcard::CCensorNode &node, const CReadArcItem &item);
diff -rup p7zip_15.09.orig/CPP/7zip/UI/Common/Extract.cpp p7zip_15.09/CPP/7zip/UI/Common/Extract.cpp
--- p7zip_15.09.orig/CPP/7zip/UI/Common/Extract.cpp 2015-09-07 20:47:32.000000000 +0100
+++ p7zip_15.09/CPP/7zip/UI/Common/Extract.cpp 2015-12-03 02:22:47.075724215 +0000
@@ -207,7 +207,7 @@ static HRESULT DecompressArchive(
else
result = archive->Extract(&realIndices.Front(), realIndices.Size(), testMode, ecs);
if (result == S_OK && !options.StdInMode)
- result = ecs->SetDirsTimes();
+ result = ecs->SetFinalAttribs();
return callback->ExtractResult(result);
}
diff -rup p7zip_15.09.orig/CPP/Windows/FileDir.cpp p7zip_15.09/CPP/Windows/FileDir.cpp
--- p7zip_15.09.orig/CPP/Windows/FileDir.cpp 2015-10-10 13:37:41.000000000 +0100
+++ p7zip_15.09/CPP/Windows/FileDir.cpp 2015-12-03 02:22:47.075724215 +0000
@@ -347,7 +347,8 @@ static int convert_to_symlink(const char
return -1;
}
-bool SetFileAttrib(CFSTR fileName, DWORD fileAttributes)
+bool SetFileAttrib(CFSTR fileName, DWORD fileAttributes,
+ CObjectVector<CDelayedSymLink> *delayedSymLinks)
{
if (!fileName) {
SetLastError(ERROR_PATH_NOT_FOUND);
@@ -379,7 +380,9 @@ bool SetFileAttrib(CFSTR fileName, DWORD
stat_info.st_mode = fileAttributes >> 16;
#ifdef ENV_HAVE_LSTAT
if (S_ISLNK(stat_info.st_mode)) {
- if ( convert_to_symlink(name) != 0) {
+ if (delayedSymLinks)
+ delayedSymLinks->Add(CDelayedSymLink(name));
+ else if ( convert_to_symlink(name) != 0) {
TRACEN((printf("SetFileAttrib(%s,%d) : false-3\n",(const char *)name,fileAttributes)))
return false;
}
@@ -814,6 +817,43 @@ bool CTempDir::Remove()
return !_mustBeDeleted;
}
+#ifdef ENV_UNIX
+
+CDelayedSymLink::CDelayedSymLink(const char * source)
+ : _source(source)
+{
+ struct stat st;
+
+ if (lstat(_source, &st) == 0) {
+ _dev = st.st_dev;
+ _ino = st.st_ino;
+ } else {
+ _dev = 0;
+ }
+}
+
+bool CDelayedSymLink::Create()
+{
+ struct stat st;
+
+ if (_dev == 0) {
+ errno = EPERM;
+ return false;
+ }
+ if (lstat(_source, &st) != 0)
+ return false;
+ if (_dev != st.st_dev || _ino != st.st_ino) {
+ // Placeholder file has been overwritten or moved by another
+ // symbolic link creation
+ errno = EPERM;
+ return false;
+ }
+
+ return convert_to_symlink(_source) == 0;
+}
+
+#endif // ENV_UNIX
+
}}}
#ifndef _SFX
diff -rup p7zip_15.09.orig/CPP/Windows/FileDir.h p7zip_15.09/CPP/Windows/FileDir.h
--- p7zip_15.09.orig/CPP/Windows/FileDir.h 2015-06-19 11:52:06.000000000 +0100
+++ p7zip_15.09/CPP/Windows/FileDir.h 2015-12-03 02:22:47.075724215 +0000
@@ -4,6 +4,7 @@
#define __WINDOWS_FILE_DIR_H
#include "../Common/MyString.h"
+#include "../Common/MyVector.h"
#include "FileIO.h"
@@ -11,11 +12,14 @@ namespace NWindows {
namespace NFile {
namespace NDir {
+class CDelayedSymLink;
+
bool GetWindowsDir(FString &path);
bool GetSystemDir(FString &path);
bool SetDirTime(CFSTR path, const FILETIME *cTime, const FILETIME *aTime, const FILETIME *mTime);
-bool SetFileAttrib(CFSTR path, DWORD attrib);
+bool SetFileAttrib(CFSTR path, DWORD attrib,
+ CObjectVector<CDelayedSymLink> *delayedSymLinks = 0);
bool MyMoveFile(CFSTR existFileName, CFSTR newFileName);
#ifndef UNDER_CE
@@ -76,6 +80,31 @@ public:
bool Remove();
};
+// Symbolic links must be created last so that they can't be used to
+// create or overwrite files above the extraction directory.
+class CDelayedSymLink
+{
+#ifdef ENV_UNIX
+ // Where the symlink should be created. The target is specified in
+ // the placeholder file.
+ AString _source;
+
+ // Device and inode of the placeholder file. Before creating the
+ // symlink, we must check that these haven't been changed by creation
+ // of another symlink.
+ dev_t _dev;
+ ino_t _ino;
+
+public:
+ explicit CDelayedSymLink(const char * source);
+ bool Create();
+#else // !ENV_UNIX
+public:
+ CDelayedSymLink(const char * source) {}
+ bool Create() { return true; }
+#endif // ENV_UNIX
+};
+
#if !defined(UNDER_CE)
class CCurrentDirRestorer
{

View File

@ -0,0 +1,25 @@
Darwin has wchar_h and wctypes_h.
El Capitan needs <sys/types.h> for ino_t.
--- CPP/myWindows/config.h
+++ CPP/myWindows/config.h
@@ -5,7 +5,7 @@
#define FILESYSTEM_IS_CASE_SENSITIVE 1
#endif
- #if !defined(ENV_MACOSX) && !defined(ENV_BEOS)
+ #if !defined(ENV_BEOS)
/* <wchar.h> */
/* ENV_HAVE_WCHAR__H and not ENV_HAVE_WCHAR_H to avoid warning with wxWidgets */
--- CPP/myWindows/StdAfx.h
+++ CPP/myWindows/StdAfx.h
@@ -32,7 +32,7 @@
#include <errno.h>
#include <math.h>
-#ifdef __NETWARE__
+#if defined(__NETWARE__) || defined(__MACH__)
#include <sys/types.h>
#endif

View File

@ -0,0 +1,11 @@
--- p7zip_15.14.1/CPP/myWindows/StdAfx.h
+++ p7zip_15.14.1/CPP/myWindows/StdAfx.h
@@ -32,7 +32,7 @@
#include <errno.h>
#include <math.h>
-#ifdef __NETWARE__
+#if defined(__NETWARE__) || defined(__MACH__)
#include <sys/types.h>
#endif

View File

@ -0,0 +1,315 @@
Author: Ben Hutchings <ben@decadent.org.uk>
Date: Tue, 19 May 2015 02:38:40 +0100
Description: Delay creation of symlinks to prevent arbitrary file writes (CVE-2015-1038)
Bug: http://sourceforge.net/p/p7zip/bugs/147/
Bug-Debian: https://bugs.debian.org/774660
Alexander Cherepanov discovered that 7zip is susceptible to a
directory traversal vulnerability. While extracting an archive, it
will extract symlinks and then follow them if they are referenced in
further entries. This can be exploited by a rogue archive to write
files outside the current directory.
We have to create placeholder files (which we already do) and delay
creating symlinks until the end of extraction.
Due to the possibility of anti-items (deletions) in the archive, it is
possible for placeholders to be deleted and replaced before we create
the symlinks. It's not clear that this can be used for mischief, but
GNU tar guards against similar problems by checking that the placeholder
still exists and is the same inode. XXX It also checks 'birth time' but
this isn't portable. We can probably get away with comparing ctime
since we don't support hard links.
--- a/CPP/7zip/UI/Agent/Agent.cpp
+++ b/CPP/7zip/UI/Agent/Agent.cpp
@@ -424,6 +424,8 @@ STDMETHODIMP CAgentFolder::Extract(const
CMyComPtr<IArchiveExtractCallback> extractCallback = extractCallbackSpec;
UStringVector pathParts;
CProxyFolder *currentProxyFolder = _proxyFolderItem;
+ HRESULT res;
+
while (currentProxyFolder->Parent)
{
pathParts.Insert(0, currentProxyFolder->Name);
@@ -445,8 +447,11 @@ STDMETHODIMP CAgentFolder::Extract(const
(UInt64)(Int64)-1);
CUIntVector realIndices;
GetRealIndices(indices, numItems, realIndices);
- return _agentSpec->GetArchive()->Extract(&realIndices.Front(),
+ res = _agentSpec->GetArchive()->Extract(&realIndices.Front(),
realIndices.Size(), testMode, extractCallback);
+ if (res == S_OK && !extractCallbackSpec->CreateSymLinks())
+ res = E_FAIL;
+ return res;
COM_TRY_END
}
--- a/CPP/7zip/UI/Agent/ArchiveFolder.cpp
+++ b/CPP/7zip/UI/Agent/ArchiveFolder.cpp
@@ -20,6 +20,8 @@ STDMETHODIMP CAgentFolder::CopyTo(const
CMyComPtr<IArchiveExtractCallback> extractCallback = extractCallbackSpec;
UStringVector pathParts;
CProxyFolder *currentProxyFolder = _proxyFolderItem;
+ HRESULT res;
+
while (currentProxyFolder->Parent)
{
pathParts.Insert(0, currentProxyFolder->Name);
@@ -46,8 +48,11 @@ STDMETHODIMP CAgentFolder::CopyTo(const
(UInt64)(Int64)-1);
CUIntVector realIndices;
GetRealIndices(indices, numItems, realIndices);
- return _agentSpec->GetArchive()->Extract(&realIndices.Front(),
+ res = _agentSpec->GetArchive()->Extract(&realIndices.Front(),
realIndices.Size(), BoolToInt(false), extractCallback);
+ if (res == S_OK && !extractCallbackSpec->CreateSymLinks())
+ res = E_FAIL;
+ return res;
COM_TRY_END
}
--- a/CPP/7zip/UI/Client7z/Client7z.cpp
+++ b/CPP/7zip/UI/Client7z/Client7z.cpp
@@ -197,8 +197,11 @@ private:
COutFileStream *_outFileStreamSpec;
CMyComPtr<ISequentialOutStream> _outFileStream;
+ CObjectVector<NWindows::NFile::NDirectory::CDelayedSymLink> _delayedSymLinks;
+
public:
void Init(IInArchive *archiveHandler, const UString &directoryPath);
+ bool CreateSymLinks();
UInt64 NumErrors;
bool PasswordIsDefined;
@@ -392,11 +395,22 @@ STDMETHODIMP CArchiveExtractCallback::Se
}
_outFileStream.Release();
if (_extractMode && _processedFileInfo.AttribDefined)
- NFile::NDirectory::MySetFileAttributes(_diskFilePath, _processedFileInfo.Attrib);
+ NFile::NDirectory::MySetFileAttributes(_diskFilePath, _processedFileInfo.Attrib, &_delayedSymLinks);
PrintNewLine();
return S_OK;
}
+bool CArchiveExtractCallback::CreateSymLinks()
+{
+ bool success = true;
+
+ for (int i = 0; i != _delayedSymLinks.Size(); ++i)
+ success &= _delayedSymLinks[i].Create();
+
+ _delayedSymLinks.Clear();
+
+ return success;
+}
STDMETHODIMP CArchiveExtractCallback::CryptoGetTextPassword(BSTR *password)
{
--- a/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp
+++ b/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp
@@ -453,12 +453,24 @@ STDMETHODIMP CArchiveExtractCallback::Se
NumFiles++;
if (_extractMode && _fi.AttribDefined)
- NFile::NDirectory::MySetFileAttributes(_diskFilePath, _fi.Attrib);
+ NFile::NDirectory::MySetFileAttributes(_diskFilePath, _fi.Attrib, &_delayedSymLinks);
RINOK(_extractCallback2->SetOperationResult(operationResult, _encrypted));
return S_OK;
COM_TRY_END
}
+bool CArchiveExtractCallback::CreateSymLinks()
+{
+ bool success = true;
+
+ for (int i = 0; i != _delayedSymLinks.Size(); ++i)
+ success &= _delayedSymLinks[i].Create();
+
+ _delayedSymLinks.Clear();
+
+ return success;
+}
+
/*
STDMETHODIMP CArchiveExtractCallback::GetInStream(
const wchar_t *name, ISequentialInStream **inStream)
--- a/CPP/7zip/UI/Common/ArchiveExtractCallback.h
+++ b/CPP/7zip/UI/Common/ArchiveExtractCallback.h
@@ -6,6 +6,8 @@
#include "Common/MyCom.h"
#include "Common/Wildcard.h"
+#include "Windows/FileDir.h"
+
#include "../../IPassword.h"
#include "../../Common/FileStreams.h"
@@ -83,6 +85,8 @@ class CArchiveExtractCallback:
UInt64 _packTotal;
UInt64 _unpTotal;
+ CObjectVector<NWindows::NFile::NDirectory::CDelayedSymLink> _delayedSymLinks;
+
void CreateComplexDirectory(const UStringVector &dirPathParts, UString &fullPath);
HRESULT GetTime(int index, PROPID propID, FILETIME &filetime, bool &filetimeIsDefined);
HRESULT GetUnpackSize();
@@ -138,6 +142,7 @@ public:
const UStringVector &removePathParts,
UInt64 packSize);
+ bool CreateSymLinks();
};
#endif
--- a/CPP/7zip/UI/Common/Extract.cpp
+++ b/CPP/7zip/UI/Common/Extract.cpp
@@ -96,6 +96,9 @@ static HRESULT DecompressArchive(
else
result = archive->Extract(&realIndices.Front(), realIndices.Size(), testMode, extractCallbackSpec);
+ if (result == S_OK && !extractCallbackSpec->CreateSymLinks())
+ result = E_FAIL;
+
return callback->ExtractResult(result);
}
--- a/CPP/Windows/FileDir.cpp
+++ b/CPP/Windows/FileDir.cpp
@@ -453,9 +453,10 @@ bool SetDirTime(LPCWSTR fileName, const
}
#ifndef _UNICODE
-bool MySetFileAttributes(LPCWSTR fileName, DWORD fileAttributes)
+bool MySetFileAttributes(LPCWSTR fileName, DWORD fileAttributes,
+ CObjectVector<CDelayedSymLink> *delayedSymLinks)
{
- return MySetFileAttributes(UnicodeStringToMultiByte(fileName, CP_ACP), fileAttributes);
+ return MySetFileAttributes(UnicodeStringToMultiByte(fileName, CP_ACP), fileAttributes, delayedSymLinks);
}
bool MyRemoveDirectory(LPCWSTR pathName)
@@ -488,7 +489,8 @@ static int convert_to_symlink(const char
return -1;
}
-bool MySetFileAttributes(LPCTSTR fileName, DWORD fileAttributes)
+bool MySetFileAttributes(LPCTSTR fileName, DWORD fileAttributes,
+ CObjectVector<CDelayedSymLink> *delayedSymLinks)
{
if (!fileName) {
SetLastError(ERROR_PATH_NOT_FOUND);
@@ -520,7 +522,9 @@ bool MySetFileAttributes(LPCTSTR fileNam
stat_info.st_mode = fileAttributes >> 16;
#ifdef ENV_HAVE_LSTAT
if (S_ISLNK(stat_info.st_mode)) {
- if ( convert_to_symlink(name) != 0) {
+ if (delayedSymLinks)
+ delayedSymLinks->Add(CDelayedSymLink(name));
+ else if ( convert_to_symlink(name) != 0) {
TRACEN((printf("MySetFileAttributes(%s,%d) : false-3\n",name,fileAttributes)))
return false;
}
@@ -924,4 +928,41 @@ bool CTempDirectory::Create(LPCTSTR pref
}
+#ifdef ENV_UNIX
+
+CDelayedSymLink::CDelayedSymLink(LPCSTR source)
+ : _source(source)
+{
+ struct stat st;
+
+ if (lstat(_source, &st) == 0) {
+ _dev = st.st_dev;
+ _ino = st.st_ino;
+ } else {
+ _dev = 0;
+ }
+}
+
+bool CDelayedSymLink::Create()
+{
+ struct stat st;
+
+ if (_dev == 0) {
+ errno = EPERM;
+ return false;
+ }
+ if (lstat(_source, &st) != 0)
+ return false;
+ if (_dev != st.st_dev || _ino != st.st_ino) {
+ // Placeholder file has been overwritten or moved by another
+ // symbolic link creation
+ errno = EPERM;
+ return false;
+ }
+
+ return convert_to_symlink(_source) == 0;
+}
+
+#endif // ENV_UNIX
+
}}}
--- a/CPP/Windows/FileDir.h
+++ b/CPP/Windows/FileDir.h
@@ -4,6 +4,7 @@
#define __WINDOWS_FILEDIR_H
#include "../Common/MyString.h"
+#include "../Common/MyVector.h"
#include "Defs.h"
/* GetFullPathName for 7zAES.cpp */
@@ -13,11 +14,15 @@ namespace NWindows {
namespace NFile {
namespace NDirectory {
+class CDelayedSymLink;
+
bool SetDirTime(LPCWSTR fileName, const FILETIME *creationTime, const FILETIME *lastAccessTime, const FILETIME *lastWriteTime);
-bool MySetFileAttributes(LPCTSTR fileName, DWORD fileAttributes);
+bool MySetFileAttributes(LPCTSTR fileName, DWORD fileAttributes,
+ CObjectVector<CDelayedSymLink> *delayedSymLinks = 0);
#ifndef _UNICODE
-bool MySetFileAttributes(LPCWSTR fileName, DWORD fileAttributes);
+bool MySetFileAttributes(LPCWSTR fileName, DWORD fileAttributes,
+ CObjectVector<CDelayedSymLink> *delayedSymLinks = 0);
#endif
bool MyMoveFile(LPCTSTR existFileName, LPCTSTR newFileName);
@@ -80,6 +85,31 @@ public:
bool Remove();
};
+// Symbolic links must be created last so that they can't be used to
+// create or overwrite files above the extraction directory.
+class CDelayedSymLink
+{
+#ifdef ENV_UNIX
+ // Where the symlink should be created. The target is specified in
+ // the placeholder file.
+ AString _source;
+
+ // Device and inode of the placeholder file. Before creating the
+ // symlink, we must check that these haven't been changed by creation
+ // of another symlink.
+ dev_t _dev;
+ ino_t _ino;
+
+public:
+ explicit CDelayedSymLink(LPCSTR source);
+ bool Create();
+#else // !ENV_UNIX
+public:
+ CDelayedSymLink(LPCSTR source) {}
+ bool Create() { return true; }
+#endif // ENV_UNIX
+};
+
#ifdef _UNICODE
typedef CTempFile CTempFileW;
#endif

View File

@ -1,12 +1,12 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Thu Jun 7 14:29:51 UTC 2012
Date: Thu Jun 7 14:31:12 UTC 2012
Subject: fix QA warnings
https://sourceforge.net/tracker/?func=detail&atid=660493&aid=3532590&group_id=111810
--- CPP/7zip/Archive/NtfsHandler.cpp
+++ CPP/7zip/Archive/NtfsHandler.cpp
@@ -1250,7 +1250,7 @@
@@ -1280,7 +1280,7 @@
if (recSizeLog < Header.SectorSizeLog)
return false;
numSectorsInRec = 1 << (recSizeLog - Header.SectorSizeLog);

View File

@ -0,0 +1,24 @@
diff -Naupr p7zip_9.20.1.orig/Asm/x64/7zCrcT8U.asm p7zip_9.20.1/Asm/x64/7zCrcT8U.asm
--- p7zip_9.20.1.orig/Asm/x64/7zCrcT8U.asm 2008-08-14 11:18:07.000000000 +0200
+++ p7zip_9.20.1/Asm/x64/7zCrcT8U.asm 2011-07-26 17:43:57.727910278 +0200
@@ -101,3 +101,8 @@ _CrcUpdateT8:
ret
end
+
+%ifidn __OUTPUT_FORMAT__,elf
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
+
diff -Naupr p7zip_9.20.1.orig/Asm/x86/7zCrcT8U.asm p7zip_9.20.1/Asm/x86/7zCrcT8U.asm
--- p7zip_9.20.1.orig/Asm/x86/7zCrcT8U.asm 2009-07-14 12:44:15.000000000 +0200
+++ p7zip_9.20.1/Asm/x86/7zCrcT8U.asm 2011-07-26 17:44:23.938864508 +0200
@@ -99,3 +99,8 @@ _CrcUpdateT8:
; end
+
+%ifidn __OUTPUT_FORMAT__,elf
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
+

View File

@ -0,0 +1,17 @@
--- ./CPP/7zip/Crypto/Sha1.cpp 2010-10-20 06:56:08.000000000 +0200
+++ CPP/7zip/Crypto/Sha1.cpp.new 2013-09-15 09:19:51.000000000 +0200
@@ -148,10 +148,10 @@
for (int i = 0; i < kBlockSizeInWords; i++)
{
UInt32 d = _buffer[i];
- data[i * 4 + 0 - kBlockSize] = (Byte)(d);
- data[i * 4 + 1 - kBlockSize] = (Byte)(d >> 8);
- data[i * 4 + 2 - kBlockSize] = (Byte)(d >> 16);
- data[i * 4 + 3 - kBlockSize] = (Byte)(d >> 24);
+ data[(int)i * 4 + 0 - (int)kBlockSize] = (Byte)(d);
+ data[(int)i * 4 + 1 - (int)kBlockSize] = (Byte)(d >> 8);
+ data[(int)i * 4 + 2 - (int)kBlockSize] = (Byte)(d >> 16);
+ data[(int)i * 4 + 3 - (int)kBlockSize] = (Byte)(d >> 24);
}
returnRes = rar350Mode;
}

View File

@ -0,0 +1,283 @@
Author: Ben Hutchings <ben@decadent.org.uk>
Date: Tue, 19 May 2015 02:38:40 +0100
Description: Delay creation of symlinks to prevent arbitrary file writes (CVE-2015-1038)
Bug: http://sourceforge.net/p/p7zip/bugs/147/
Bug-Debian: https://bugs.debian.org/774660
Alexander Cherepanov discovered that 7zip is susceptible to a
directory traversal vulnerability. While extracting an archive, it
will extract symlinks and then follow them if they are referenced in
further entries. This can be exploited by a rogue archive to write
files outside the current directory.
We have to create placeholder files (which we already do) and delay
creating symlinks until the end of extraction.
Due to the possibility of anti-items (deletions) in the archive, it is
possible for placeholders to be deleted and replaced before we create
the symlinks. It's not clear that this can be used for mischief, but
GNU tar guards against similar problems by checking that the placeholder
still exists and is the same inode. XXX It also checks 'birth time' but
this isn't portable. We can probably get away with comparing ctime
since we don't support hard links.
--- a/CPP/7zip/UI/Agent/Agent.cpp
+++ b/CPP/7zip/UI/Agent/Agent.cpp
@@ -1215,7 +1215,7 @@ STDMETHODIMP CAgentFolder::Extract(const
HRESULT result = _agentSpec->GetArchive()->Extract(&realIndices.Front(),
realIndices.Size(), testMode, extractCallback);
if (result == S_OK)
- result = extractCallbackSpec->SetDirsTimes();
+ result = extractCallbackSpec->SetFinalAttribs();
return result;
COM_TRY_END
}
--- a/CPP/7zip/UI/Client7z/Client7z.cpp
+++ b/CPP/7zip/UI/Client7z/Client7z.cpp
@@ -222,8 +222,11 @@ private:
COutFileStream *_outFileStreamSpec;
CMyComPtr<ISequentialOutStream> _outFileStream;
+ CObjectVector<NWindows::NFile::NDir::CDelayedSymLink> _delayedSymLinks;
+
public:
void Init(IInArchive *archiveHandler, const FString &directoryPath);
+ HRESULT SetFinalAttribs();
UInt64 NumErrors;
bool PasswordIsDefined;
@@ -441,11 +444,23 @@ STDMETHODIMP CArchiveExtractCallback::Se
}
_outFileStream.Release();
if (_extractMode && _processedFileInfo.AttribDefined)
- SetFileAttrib(_diskFilePath, _processedFileInfo.Attrib);
+ SetFileAttrib(_diskFilePath, _processedFileInfo.Attrib, &_delayedSymLinks);
PrintNewLine();
return S_OK;
}
+HRESULT CArchiveExtractCallback::SetFinalAttribs()
+{
+ HRESULT result = S_OK;
+
+ for (int i = 0; i != _delayedSymLinks.Size(); ++i)
+ if (!_delayedSymLinks[i].Create())
+ result = E_FAIL;
+
+ _delayedSymLinks.Clear();
+
+ return result;
+}
STDMETHODIMP CArchiveExtractCallback::CryptoGetTextPassword(BSTR *password)
{
@@ -912,6 +927,8 @@ int MY_CDECL main(int numArgs, const cha
// extractCallbackSpec->PasswordIsDefined = true;
// extractCallbackSpec->Password = L"1";
HRESULT result = archive->Extract(NULL, (UInt32)(Int32)(-1), false, extractCallback);
+ if (result == S_OK)
+ result = extractCallbackSpec->SetFinalAttribs();
if (result != S_OK)
{
PrintError("Extract Error");
--- a/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp
+++ b/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp
@@ -1083,7 +1083,7 @@ STDMETHODIMP CArchiveExtractCallback::Se
NumFiles++;
if (_extractMode && _fi.AttribDefined)
- SetFileAttrib(_diskFilePath, _fi.Attrib);
+ SetFileAttrib(_diskFilePath, _fi.Attrib, &_delayedSymLinks);
RINOK(_extractCallback2->SetOperationResult(operationResult, _encrypted));
return S_OK;
COM_TRY_END
@@ -1149,8 +1149,9 @@ static int GetNumSlashes(const FChar *s)
}
}
-HRESULT CArchiveExtractCallback::SetDirsTimes()
+HRESULT CArchiveExtractCallback::SetFinalAttribs()
{
+ HRESULT result = S_OK;
CRecordVector<CExtrRefSortPair> pairs;
pairs.ClearAndSetSize(_extractedFolderPaths.Size());
unsigned i;
@@ -1187,5 +1188,12 @@ HRESULT CArchiveExtractCallback::SetDirs
(WriteATime && ATimeDefined) ? &ATime : NULL,
(WriteMTime && MTimeDefined) ? &MTime : (_arc->MTimeDefined ? &_arc->MTime : NULL));
}
- return S_OK;
+
+ for (int i = 0; i != _delayedSymLinks.Size(); ++i)
+ if (!_delayedSymLinks[i].Create())
+ result = E_FAIL;
+
+ _delayedSymLinks.Clear();
+
+ return result;
}
--- a/CPP/7zip/UI/Common/ArchiveExtractCallback.h
+++ b/CPP/7zip/UI/Common/ArchiveExtractCallback.h
@@ -6,6 +6,8 @@
#include "../../../Common/MyCom.h"
#include "../../../Common/Wildcard.h"
+#include "../../../Windows/FileDir.h"
+
#include "../../IPassword.h"
#include "../../Common/FileStreams.h"
@@ -213,6 +215,8 @@ class CArchiveExtractCallback:
bool _saclEnabled;
#endif
+ CObjectVector<NWindows::NFile::NDir::CDelayedSymLink> _delayedSymLinks;
+
void CreateComplexDirectory(const UStringVector &dirPathParts, FString &fullPath);
HRESULT GetTime(int index, PROPID propID, FILETIME &filetime, bool &filetimeIsDefined);
HRESULT GetUnpackSize();
@@ -293,7 +297,7 @@ public:
_baseParentFolder = indexInArc;
}
- HRESULT SetDirsTimes();
+ HRESULT SetFinalAttribs();
};
#endif
--- a/CPP/7zip/UI/Common/Extract.cpp
+++ b/CPP/7zip/UI/Common/Extract.cpp
@@ -170,7 +170,7 @@ static HRESULT DecompressArchive(
else
result = archive->Extract(&realIndices.Front(), realIndices.Size(), testMode, ecs);
if (result == S_OK && !options.StdInMode)
- result = ecs->SetDirsTimes();
+ result = ecs->SetFinalAttribs();
return callback->ExtractResult(result);
}
--- a/CPP/Windows/FileDir.cpp
+++ b/CPP/Windows/FileDir.cpp
@@ -343,7 +343,8 @@ static int convert_to_symlink(const char
return -1;
}
-bool SetFileAttrib(CFSTR fileName, DWORD fileAttributes)
+bool SetFileAttrib(CFSTR fileName, DWORD fileAttributes,
+ CObjectVector<CDelayedSymLink> *delayedSymLinks)
{
if (!fileName) {
SetLastError(ERROR_PATH_NOT_FOUND);
@@ -375,7 +376,9 @@ bool SetFileAttrib(CFSTR fileName, DWORD
stat_info.st_mode = fileAttributes >> 16;
#ifdef ENV_HAVE_LSTAT
if (S_ISLNK(stat_info.st_mode)) {
- if ( convert_to_symlink(name) != 0) {
+ if (delayedSymLinks)
+ delayedSymLinks->Add(CDelayedSymLink(name));
+ else if ( convert_to_symlink(name) != 0) {
TRACEN((printf("SetFileAttrib(%s,%d) : false-3\n",(const char *)name,fileAttributes)))
return false;
}
@@ -885,6 +888,43 @@ bool CTempDir::Remove()
return !_mustBeDeleted;
}
+#ifdef ENV_UNIX
+
+CDelayedSymLink::CDelayedSymLink(const char * source)
+ : _source(source)
+{
+ struct stat st;
+
+ if (lstat(_source, &st) == 0) {
+ _dev = st.st_dev;
+ _ino = st.st_ino;
+ } else {
+ _dev = 0;
+ }
+}
+
+bool CDelayedSymLink::Create()
+{
+ struct stat st;
+
+ if (_dev == 0) {
+ errno = EPERM;
+ return false;
+ }
+ if (lstat(_source, &st) != 0)
+ return false;
+ if (_dev != st.st_dev || _ino != st.st_ino) {
+ // Placeholder file has been overwritten or moved by another
+ // symbolic link creation
+ errno = EPERM;
+ return false;
+ }
+
+ return convert_to_symlink(_source) == 0;
+}
+
+#endif // ENV_UNIX
+
}}}
--- a/CPP/Windows/FileDir.h
+++ b/CPP/Windows/FileDir.h
@@ -4,6 +4,7 @@
#define __WINDOWS_FILE_DIR_H
#include "../Common/MyString.h"
+#include "../Common/MyVector.h"
#include "FileIO.h"
@@ -11,11 +12,14 @@ namespace NWindows {
namespace NFile {
namespace NDir {
+class CDelayedSymLink;
+
bool GetWindowsDir(FString &path);
bool GetSystemDir(FString &path);
bool SetDirTime(CFSTR path, const FILETIME *cTime, const FILETIME *aTime, const FILETIME *mTime);
-bool SetFileAttrib(CFSTR path, DWORD attrib);
+bool SetFileAttrib(CFSTR path, DWORD attrib,
+ CObjectVector<CDelayedSymLink> *delayedSymLinks = 0);
bool MyMoveFile(CFSTR existFileName, CFSTR newFileName);
#ifndef UNDER_CE
@@ -69,6 +73,31 @@ public:
bool Remove();
};
+// Symbolic links must be created last so that they can't be used to
+// create or overwrite files above the extraction directory.
+class CDelayedSymLink
+{
+#ifdef ENV_UNIX
+ // Where the symlink should be created. The target is specified in
+ // the placeholder file.
+ AString _source;
+
+ // Device and inode of the placeholder file. Before creating the
+ // symlink, we must check that these haven't been changed by creation
+ // of another symlink.
+ dev_t _dev;
+ ino_t _ino;
+
+public:
+ explicit CDelayedSymLink(const char * source);
+ bool Create();
+#else // !ENV_UNIX
+public:
+ CDelayedSymLink(const char * source) {}
+ bool Create() { return true; }
+#endif // ENV_UNIX
+};
+
#if !defined(UNDER_CE)
class CCurrentDirRestorer
{

View File

@ -0,0 +1,28 @@
diff -Naur old/CPP/7zip/UI/FileManager/FM.cpp new/CPP/7zip/UI/FileManager/FM.cpp
--- old/CPP/7zip/UI/FileManager/FM.cpp 2015-01-18 08:59:09.000000000 -1000
+++ new/CPP/7zip/UI/FileManager/FM.cpp 2015-02-09 11:39:55.575712452 -1000
@@ -348,24 +348,7 @@
bool IsLargePageSupported()
{
- #ifdef _WIN64
return true;
- #else
- OSVERSIONINFO versionInfo;
- versionInfo.dwOSVersionInfoSize = sizeof(versionInfo);
- if (!::GetVersionEx(&versionInfo))
- return false;
- if (versionInfo.dwPlatformId != VER_PLATFORM_WIN32_NT || versionInfo.dwMajorVersion < 5)
- return false;
- if (versionInfo.dwMajorVersion > 5)
- return true;
- if (versionInfo.dwMinorVersion < 1)
- return false;
- if (versionInfo.dwMinorVersion > 1)
- return true;
- // return IsWow64();
- return false;
- #endif
}
#if 0 //#ifndef UNDER_CE

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
<description>maintainer</description>
</maintainer>
<use>
<flag name="rar">Enable support for non-free rar decoder</flag>
</use>
<upstream>
<remote-id type="sourceforge">p7zip</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,161 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
WX_GTK_VER="3.0"
inherit eutils multilib toolchain-funcs wxwidgets
DESCRIPTION="Port of 7-Zip archiver for Unix"
HOMEPAGE="http://p7zip.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
LICENSE="LGPL-2.1 rar? ( unRAR )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="doc kde rar +pch static wxwidgets abi_x86_x32"
REQUIRED_USE="kde? ( wxwidgets )"
RDEPEND="
kde? ( x11-libs/wxGTK:${WX_GTK_VER}[X] kde-base/kdelibs )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
DEPEND="${RDEPEND}
amd64? ( dev-lang/yasm )
abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
x86? ( dev-lang/nasm )"
S=${WORKDIR}/${PN}_${PV}
src_prepare() {
epatch \
"${FILESDIR}"/${P}-CVE-2015-1038.patch
if ! use pch; then
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
fi
sed \
-e 's:-m32 ::g' \
-e 's:-m64 ::g' \
-e 's:-pipe::g' \
-e "/^CXX=/s:g++:$(tc-getCXX):" \
-e "/^CC=/s:gcc:$(tc-getCC):" \
-e '/ALLFLAGS/s:-s ::' \
-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \
-i makefile* || die
# remove non-free RAR codec
if use rar; then
ewarn "Enabling nonfree RAR decompressor"
else
sed \
-e '/Rar/d' \
-e '/RAR/d' \
-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
rm -rf CPP/7zip/Compress/Rar || die
fi
if use abi_x86_x32; then
sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use amd64; then
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use x86; then
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
elif [[ ${CHOST} == *-darwin* ]] ; then
# Mac OS X needs this special makefile, because it has a non-GNU linker
[[ ${CHOST} == *64-* ]] \
&& cp -f makefile.macosx_64bits makefile.machine \
|| cp -f makefile.macosx_32bits makefile.machine
# bundles have extension .bundle but don't die because USE=-rar
# removes the Rar directory
sed -i -e '/strcpy(name/s/\.so/.bundle/' \
CPP/Windows/DLL.cpp || die
sed -i -e '/^PROG=/s/\.so/.bundle/' \
CPP/7zip/Bundles/Format7zFree/makefile \
$(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
elif use x86-fbsd; then
# FreeBSD needs this special makefile, because it hasn't -ldl
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
fi
if use static; then
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
fi
if use kde || use wxwidgets; then
need-wxwidgets unicode
einfo "Preparing dependency list"
emake depend
fi
}
src_compile() {
emake all3
if use kde || use wxwidgets; then
emake -- 7zG
# emake -- 7zFM
fi
}
src_test() {
emake test test_7z test_7zr
}
src_install() {
# this wrappers can not be symlinks, p7zip should be called with full path
make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
if use kde || use wxwidgets; then
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
# make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
# make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
dobin GUI/p7zipForFilemanager
exeinto /usr/$(get_libdir)/${PN}
# doexe bin/7z{G,FM}
doexe bin/7zG
insinto /usr/$(get_libdir)/${PN}
doins -r GUI/{Lang,help}
insinto /usr/share/icons/hicolor/16x16/apps/
newins GUI/p7zip_16_ok.png p7zip.png
if use kde; then
rm GUI/kde4/p7zip_compress.desktop || die
insinto /usr/share/kde4/services/ServiceMenus
doins GUI/kde4/*.desktop
dodir /usr/share/kservices5/ServiceMenus
for item in "${D}"/usr/share/kde4/services/ServiceMenus/*.desktop; do
item="$(basename ${item})"
dosym "/usr/share/kde4/services/ServiceMenus/${item}" "/usr/share/kservices5/ServiceMenus/${item}"
done
fi
fi
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
doexe bin/*$(get_modname)
if use rar; then
exeinto /usr/$(get_libdir)/${PN}/Codecs/
doexe bin/Codecs/*$(get_modname)
fi
doman man1/7z.1 man1/7za.1 man1/7zr.1
dodoc ChangeLog README TODO
if use doc; then
dodoc DOC/*.txt
dohtml -r DOC/MANUAL/*
fi
}

View File

@ -0,0 +1,156 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
WX_GTK_VER="3.0"
inherit eutils multilib toolchain-funcs wxwidgets
DESCRIPTION="Port of 7-Zip archiver for Unix"
HOMEPAGE="http://p7zip.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
LICENSE="LGPL-2.1 rar? ( unRAR )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="doc kde rar +pch static wxwidgets abi_x86_x32"
REQUIRED_USE="kde? ( wxwidgets )"
RDEPEND="
kde? ( x11-libs/wxGTK:${WX_GTK_VER}[X] kde-base/kdelibs )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
DEPEND="${RDEPEND}
amd64? ( dev-lang/yasm )
abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
x86? ( dev-lang/nasm )"
S=${WORKDIR}/${PN}_${PV}
src_prepare() {
epatch \
"${FILESDIR}"/${P}-CVE-2015-1038.patch
if ! use pch; then
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
fi
sed \
-e 's:-m32 ::g' \
-e 's:-m64 ::g' \
-e 's:-pipe::g' \
-e "/^CXX=/s:g++:$(tc-getCXX):" \
-e "/^CC=/s:gcc:$(tc-getCC):" \
-e '/ALLFLAGS/s:-s ::' \
-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \
-i makefile* || die
# remove non-free RAR codec
if use rar; then
ewarn "Enabling nonfree RAR decompressor"
else
sed \
-e '/Rar/d' \
-e '/RAR/d' \
-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
rm -rf CPP/7zip/Compress/Rar || die
fi
if use abi_x86_x32; then
sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use amd64; then
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use x86; then
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
elif [[ ${CHOST} == *-darwin* ]] ; then
# Mac OS X needs this special makefile, because it has a non-GNU linker
[[ ${CHOST} == *64-* ]] \
&& cp -f makefile.macosx_64bits makefile.machine \
|| cp -f makefile.macosx_32bits makefile.machine
# bundles have extension .bundle but don't die because USE=-rar
# removes the Rar directory
sed -i -e '/strcpy(name/s/\.so/.bundle/' \
CPP/Windows/DLL.cpp || die
sed -i -e '/^PROG=/s/\.so/.bundle/' \
CPP/7zip/Bundles/Format7zFree/makefile \
$(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
elif use x86-fbsd; then
# FreeBSD needs this special makefile, because it hasn't -ldl
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
fi
if use static; then
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
fi
if use kde || use wxwidgets; then
need-wxwidgets unicode
einfo "Preparing dependency list"
emake depend
fi
}
src_compile() {
emake all3
if use kde || use wxwidgets; then
emake -- 7zG
# emake -- 7zFM
fi
}
src_test() {
emake test test_7z test_7zr
}
src_install() {
# this wrappers can not be symlinks, p7zip should be called with full path
make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
if use kde || use wxwidgets; then
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
# make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
# make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
dobin GUI/p7zipForFilemanager
exeinto /usr/$(get_libdir)/${PN}
# doexe bin/7z{G,FM}
doexe bin/7zG
insinto /usr/$(get_libdir)/${PN}
doins -r GUI/{Lang,help}
insinto /usr/share/icons/hicolor/16x16/apps/
newins GUI/p7zip_16_ok.png p7zip.png
if use kde; then
rm GUI/kde4/p7zip_compress.desktop || die
insinto /usr/share/kde4/services/ServiceMenus
doins GUI/kde4/*.desktop
fi
fi
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
doexe bin/*$(get_modname)
if use rar; then
exeinto /usr/$(get_libdir)/${PN}/Codecs/
doexe bin/Codecs/*$(get_modname)
fi
doman man1/7z.1 man1/7za.1 man1/7zr.1
dodoc ChangeLog README TODO
if use doc; then
dodoc DOC/*.txt
dohtml -r DOC/MANUAL/*
fi
}

View File

@ -0,0 +1,158 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
WX_GTK_VER="3.0"
inherit eutils multilib toolchain-funcs wxwidgets
DESCRIPTION="Port of 7-Zip archiver for Unix"
HOMEPAGE="http://p7zip.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
LICENSE="LGPL-2.1 rar? ( unRAR )"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="doc kde rar +pch static wxwidgets abi_x86_x32"
REQUIRED_USE="kde? ( wxwidgets )"
RDEPEND="
kde? ( x11-libs/wxGTK:${WX_GTK_VER}[X] kde-base/kdelibs )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
DEPEND="${RDEPEND}
amd64? ( dev-lang/yasm )
abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
x86? ( dev-lang/nasm )"
S=${WORKDIR}/${PN}_${PV}
src_prepare() {
epatch "${FILESDIR}"/${P}-darwin.patch
if ! use pch; then
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
fi
sed \
-e 's:-m32 ::g' \
-e 's:-m64 ::g' \
-e 's:-pipe::g' \
-e '/ALLFLAGS/s:-s ::' \
-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \
-i makefile* || die
# remove non-free RAR codec
if use rar; then
ewarn "Enabling nonfree RAR decompressor"
else
sed \
-e '/Rar/d' \
-e '/RAR/d' \
-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
rm -rf CPP/7zip/Compress/Rar || die
fi
if use abi_x86_x32; then
sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use amd64; then
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use x86; then
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
elif [[ ${CHOST} == *-darwin* ]] ; then
# Mac OS X needs this special makefile, because it has a non-GNU
# linker, it doesn't matter so much for bitwidth, for it doesn't
# do anything with it
cp -f makefile.macosx_llvm_64bits makefile.machine
# bundles have extension .bundle but don't die because USE=-rar
# removes the Rar directory
sed -i -e '/strcpy(name/s/\.so/.bundle/' \
CPP/Windows/DLL.cpp || die
sed -i -e '/^PROG=/s/\.so/.bundle/' \
CPP/7zip/Bundles/Format7zFree/makefile.list \
$(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
elif use x86-fbsd; then
# FreeBSD needs this special makefile, because it hasn't -ldl
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
fi
if use static; then
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
fi
if use kde || use wxwidgets; then
need-wxwidgets unicode
einfo "Preparing dependency list"
emake depend
fi
}
src_compile() {
emake CC=$(tc-getCC) CXX=$(tc-getCXX) all3
if use kde || use wxwidgets; then
emake CC=$(tc-getCC) CXX=$(tc-getCXX) -- 7zG
# emake -- 7zFM
fi
}
src_test() {
emake test test_7z test_7zr
}
src_install() {
# this wrappers can not be symlinks, p7zip should be called with full path
make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
if use kde || use wxwidgets; then
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
# make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
# make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
dobin GUI/p7zipForFilemanager
exeinto /usr/$(get_libdir)/${PN}
# doexe bin/7z{G,FM}
doexe bin/7zG
insinto /usr/$(get_libdir)/${PN}
doins -r GUI/{Lang,help}
insinto /usr/share/icons/hicolor/16x16/apps/
newins GUI/p7zip_16_ok.png p7zip.png
if use kde; then
rm GUI/kde4/p7zip_compress.desktop || die
insinto /usr/share/kde4/services/ServiceMenus
doins GUI/kde4/*.desktop
dodir /usr/share/kservices5/ServiceMenus
for item in "${D}"/usr/share/kde4/services/ServiceMenus/*.desktop; do
item="$(basename ${item})"
dosym "/usr/share/kde4/services/ServiceMenus/${item}" "/usr/share/kservices5/ServiceMenus/${item}"
done
fi
fi
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
doexe bin/*$(get_modname)
if use rar; then
exeinto /usr/$(get_libdir)/${PN}/Codecs/
doexe bin/Codecs/*$(get_modname)
fi
doman man1/7z.1 man1/7za.1 man1/7zr.1
dodoc ChangeLog README TODO
if use doc; then
dodoc DOC/*.txt
dohtml -r DOC/MANUAL/*
fi
}

View File

@ -0,0 +1,158 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
WX_GTK_VER="3.0"
inherit eutils multilib toolchain-funcs wxwidgets
DESCRIPTION="Port of 7-Zip archiver for Unix"
HOMEPAGE="http://p7zip.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
LICENSE="LGPL-2.1 rar? ( unRAR )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="doc kde rar +pch static wxwidgets abi_x86_x32"
REQUIRED_USE="kde? ( wxwidgets )"
RDEPEND="
kde? ( x11-libs/wxGTK:${WX_GTK_VER}[X] kde-base/kdelibs )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
DEPEND="${RDEPEND}
amd64? ( dev-lang/yasm )
abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
x86? ( dev-lang/nasm )"
S=${WORKDIR}/${PN}_${PV}
src_prepare() {
epatch "${FILESDIR}"/${P}-darwin.patch
if ! use pch; then
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
fi
sed \
-e 's:-m32 ::g' \
-e 's:-m64 ::g' \
-e 's:-pipe::g' \
-e '/ALLFLAGS/s:-s ::' \
-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \
-i makefile* || die
# remove non-free RAR codec
if use rar; then
ewarn "Enabling nonfree RAR decompressor"
else
sed \
-e '/Rar/d' \
-e '/RAR/d' \
-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
rm -rf CPP/7zip/Compress/Rar || die
fi
if use abi_x86_x32; then
sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use amd64; then
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use x86; then
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
elif [[ ${CHOST} == *-darwin* ]] ; then
# Mac OS X needs this special makefile, because it has a non-GNU
# linker, it doesn't matter so much for bitwidth, for it doesn't
# do anything with it
cp -f makefile.macosx_llvm_64bits makefile.machine
# bundles have extension .bundle but don't die because USE=-rar
# removes the Rar directory
sed -i -e '/strcpy(name/s/\.so/.bundle/' \
CPP/Windows/DLL.cpp || die
sed -i -e '/^PROG=/s/\.so/.bundle/' \
CPP/7zip/Bundles/Format7zFree/makefile.list \
$(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
elif use x86-fbsd; then
# FreeBSD needs this special makefile, because it hasn't -ldl
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
fi
if use static; then
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
fi
if use kde || use wxwidgets; then
need-wxwidgets unicode
einfo "Preparing dependency list"
emake depend
fi
}
src_compile() {
emake CC=$(tc-getCC) CXX=$(tc-getCXX) all3
if use kde || use wxwidgets; then
emake CC=$(tc-getCC) CXX=$(tc-getCXX) -- 7zG
# emake -- 7zFM
fi
}
src_test() {
emake test test_7z test_7zr
}
src_install() {
# this wrappers can not be symlinks, p7zip should be called with full path
make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
if use kde || use wxwidgets; then
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
# make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
# make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
dobin GUI/p7zipForFilemanager
exeinto /usr/$(get_libdir)/${PN}
# doexe bin/7z{G,FM}
doexe bin/7zG
insinto /usr/$(get_libdir)/${PN}
doins -r GUI/{Lang,help}
insinto /usr/share/icons/hicolor/16x16/apps/
newins GUI/p7zip_16_ok.png p7zip.png
if use kde; then
rm GUI/kde4/p7zip_compress.desktop || die
insinto /usr/share/kde4/services/ServiceMenus
doins GUI/kde4/*.desktop
dodir /usr/share/kservices5/ServiceMenus
for item in "${D}"/usr/share/kde4/services/ServiceMenus/*.desktop; do
item="$(basename ${item})"
dosym "/usr/share/kde4/services/ServiceMenus/${item}" "/usr/share/kservices5/ServiceMenus/${item}"
done
fi
fi
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
doexe bin/*$(get_modname)
if use rar; then
exeinto /usr/$(get_libdir)/${PN}/Codecs/
doexe bin/Codecs/*$(get_modname)
fi
doman man1/7z.1 man1/7za.1 man1/7zr.1
dodoc ChangeLog README TODO
if use doc; then
dodoc DOC/*.txt
dohtml -r DOC/MANUAL/*
fi
}

View File

@ -1,11 +1,12 @@
# Copyright 1999-2012 Gentoo Foundation
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-arch/p7zip/p7zip-9.13.ebuild,v 1.11 2012/06/07 16:29:50 hasufell Exp $
# $Id$
EAPI=4
EAPI="2"
WX_GTK_VER="2.8"
inherit eutils flag-o-matic toolchain-funcs multilib wxwidgets
inherit eutils multilib toolchain-funcs wxwidgets
DESCRIPTION="Port of 7-Zip archiver for Unix"
HOMEPAGE="http://p7zip.sourceforge.net/"
@ -13,47 +14,58 @@ SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
LICENSE="LGPL-2.1 rar? ( unRAR )"
SLOT="0"
KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="doc kde rar static wxwidgets"
KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 ~s390 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="doc kde rar +pch static wxwidgets"
REQUIRED_USE="kde? ( wxwidgets )"
RDEPEND="
kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs )
wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )"
DEPEND="${RDEPEND}"
DEPEND="${RDEPEND}
amd64? ( dev-lang/yasm )
x86? ( dev-lang/nasm )"
S=${WORKDIR}/${PN}_${PV}
pkg_setup() {
use wxwidgets && wxwidgets_pkg_setup
append-flags -fno-strict-aliasing
}
src_prepare() {
epatch "${FILESDIR}"/${P}-QA.patch
epatch \
"${FILESDIR}"/${P}-execstack.patch \
"${FILESDIR}"/${P}-QA.patch \
"${FILESDIR}"/${P}-CVE-2015-1038.patch
if use kde && ! use wxwidgets ; then
einfo "USE-flag kde needs wxwidgets flag"
einfo "silently enabling wxwidgets flag"
if ! use pch; then
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
fi
sed \
-e 's:-m32 ::g' \
-e 's:-m64 ::g' \
-e 's:-O::g' \
-e 's:-pipe::g' \
-e "/^CC/s:\$(ALLFLAGS):${CFLAGS} \$(ALLFLAGS):g" \
-e "/^CXX/s:\$(ALLFLAGS):${CXXFLAGS} \$(ALLFLAGS):g" \
-i makefile* || die
# remove non-free RAR codec
if use rar; then
ewarn "Enabling nonfree RAR decompressor"
else
sed -e '/Rar/d' -i makefile*
rm -rf CPP/7zip/Compress/Rar
sed -e '/Rar/d' -i makefile* || die
rm -rf CPP/7zip/Compress/Rar || die
epatch "${FILESDIR}"/9.04-makefile.patch
fi
sed -i \
-e "/^CXX=/s:g++:$(tc-getCXX):" \
-e "/^CC=/s:gcc:$(tc-getCC):" \
-e "s:OPTFLAGS=-O:OPTFLAGS=${CXXFLAGS}:" \
-e '/ALLFLAGS/s:-s ::' \
makefile* || die "changing makefiles"
if use amd64; then
cp -f makefile.linux_amd64 makefile.machine
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use x86; then
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
elif [[ ${CHOST} == *-darwin* ]] ; then
# Mac OS X needs this special makefile, because it has a non-GNU linker
[[ ${CHOST} == *64-* ]] \
@ -61,35 +73,36 @@ src_prepare() {
|| cp -f makefile.macosx_32bits makefile.machine
# bundles have extension .bundle but don't die because USE=-rar
# removes the Rar directory
sed -i -e '/strcpy(name/s/\.so/.bundle/' \
CPP/Windows/DLL.cpp || die
sed -i -e '/^PROG=/s/\.so/.bundle/' \
CPP/7zip/Bundles/Format7zFree/makefile \
CPP/7zip/Compress/Rar/makefile
$(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
elif use x86-fbsd; then
# FreeBSD needs this special makefile, because it hasn't -ldl
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
fi
use static && sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine
# We can be more parallel
cp -f makefile.parallel_jobs makefile
epatch "${FILESDIR}"/9.04-kde4.patch
if use static; then
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
fi
if use kde || use wxwidgets; then
einfo "Preparing dependency list"
emake depend || die
emake depend
fi
}
src_compile() {
emake all3 || die "compilation error"
emake all3
if use kde || use wxwidgets; then
emake 7zG || die "error building GUI"
emake -- 7zG
emake -- 7zFM
fi
}
src_test() {
emake test_7z test_7zr || die "test failed"
emake test test_7z test_7zr
}
src_install() {
@ -100,34 +113,36 @@ src_install() {
if use kde || use wxwidgets; then
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
dobin GUI/p7zipForFilemanager
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7zG
doexe bin/7z{G,FM}
insinto /usr/$(get_libdir)/${PN}
doins -r GUI/{Lang,help}
if use kde; then
insinto /usr/share/icons/hicolor/16x16/apps/
newins GUI/p7zip_16_ok.png p7zip.png
if use kde; then
rm GUI/kde4/p7zip_compress.desktop || die
insinto /usr/share/kde4/services/ServiceMenus
doins GUI/kde/*.desktop
doins GUI/kde4/*.desktop
fi
fi
dobin "${FILESDIR}/p7zip" || die
# gzip introduced in 4.42, so beware :)
newbin contrib/gzip-like_CLI_wrapper_for_7z/p7zip 7zg || die
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx || die "doexe bins"
doexe bin/*$(get_modname) || die "doexe *$(get_modname) files"
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
doexe bin/*$(get_modname)
if use rar; then
exeinto /usr/$(get_libdir)/${PN}/Codecs/
doexe bin/Codecs/*$(get_modname) || die "doexe Codecs/*$(get_modname) files"
doexe bin/Codecs/*$(get_modname)
fi
doman man1/7z.1 man1/7za.1 man1/7zr.1

View File

@ -0,0 +1,156 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
WX_GTK_VER="2.8"
inherit eutils multilib toolchain-funcs wxwidgets
DESCRIPTION="Port of 7-Zip archiver for Unix"
HOMEPAGE="http://p7zip.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
LICENSE="LGPL-2.1 rar? ( unRAR )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="doc kde rar +pch static wxwidgets abi_x86_x32"
REQUIRED_USE="kde? ( wxwidgets )"
RDEPEND="
kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs )
wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )"
DEPEND="${RDEPEND}
amd64? ( dev-lang/yasm )
abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
x86? ( dev-lang/nasm )"
S=${WORKDIR}/${PN}_${PV}
src_prepare() {
epatch \
"${FILESDIR}"/${P}-osversion.patch \
"${FILESDIR}"/${P}-CVE-2015-1038.patch
if ! use pch; then
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
fi
sed \
-e 's:-m32 ::g' \
-e 's:-m64 ::g' \
-e 's:-O::g' \
-e 's:-pipe::g' \
-e "/^CXX=/s:g++:$(tc-getCXX):" \
-e "/^CC=/s:gcc:$(tc-getCC):" \
-e '/ALLFLAGS/s:-s ::' \
-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \
-i makefile* || die
# remove non-free RAR codec
if use rar; then
ewarn "Enabling nonfree RAR decompressor"
else
sed \
-e '/Rar/d' \
-e '/RAR/d' \
-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
rm -rf CPP/7zip/Compress/Rar || die
fi
if use abi_x86_x32; then
sed -i -e "/^ASM=/s:amd64:x32:" makefile*
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use amd64; then
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use x86; then
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
elif [[ ${CHOST} == *-darwin* ]] ; then
# Mac OS X needs this special makefile, because it has a non-GNU linker
[[ ${CHOST} == *64-* ]] \
&& cp -f makefile.macosx_64bits makefile.machine \
|| cp -f makefile.macosx_32bits makefile.machine
# bundles have extension .bundle but don't die because USE=-rar
# removes the Rar directory
sed -i -e '/strcpy(name/s/\.so/.bundle/' \
CPP/Windows/DLL.cpp || die
sed -i -e '/^PROG=/s/\.so/.bundle/' \
CPP/7zip/Bundles/Format7zFree/makefile \
$(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
elif use x86-fbsd; then
# FreeBSD needs this special makefile, because it hasn't -ldl
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
fi
if use static; then
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
fi
if use kde || use wxwidgets; then
einfo "Preparing dependency list"
emake depend
fi
}
src_compile() {
emake all3
if use kde || use wxwidgets; then
emake -- 7zG
emake -- 7zFM
fi
}
src_test() {
emake test test_7z test_7zr
}
src_install() {
# this wrappers can not be symlinks, p7zip should be called with full path
make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
if use kde || use wxwidgets; then
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
dobin GUI/p7zipForFilemanager
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z{G,FM}
insinto /usr/$(get_libdir)/${PN}
doins -r GUI/{Lang,help}
insinto /usr/share/icons/hicolor/16x16/apps/
newins GUI/p7zip_16_ok.png p7zip.png
if use kde; then
rm GUI/kde4/p7zip_compress.desktop || die
insinto /usr/share/kde4/services/ServiceMenus
doins GUI/kde4/*.desktop
fi
fi
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
doexe bin/*$(get_modname)
if use rar; then
exeinto /usr/$(get_libdir)/${PN}/Codecs/
doexe bin/Codecs/*$(get_modname)
fi
doman man1/7z.1 man1/7za.1 man1/7zr.1
dodoc ChangeLog README TODO
if use doc; then
dodoc DOC/*.txt
dohtml -r DOC/MANUAL/*
fi
}

View File

@ -0,0 +1,157 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
WX_GTK_VER="3.0"
inherit eutils multilib toolchain-funcs wxwidgets
DESCRIPTION="Port of 7-Zip archiver for Unix"
HOMEPAGE="http://p7zip.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
LICENSE="LGPL-2.1 rar? ( unRAR )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="doc kde rar +pch static wxwidgets abi_x86_x32"
REQUIRED_USE="kde? ( wxwidgets )"
RDEPEND="
kde? ( x11-libs/wxGTK:${WX_GTK_VER}[X] kde-base/kdelibs )
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
DEPEND="${RDEPEND}
amd64? ( dev-lang/yasm )
abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
x86? ( dev-lang/nasm )"
S=${WORKDIR}/${PN}_${PV}
src_prepare() {
epatch \
"${FILESDIR}"/${P}-osversion.patch \
"${FILESDIR}"/${P}-CVE-2015-1038.patch
if ! use pch; then
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
fi
sed \
-e 's:-m32 ::g' \
-e 's:-m64 ::g' \
-e 's:-O::g' \
-e 's:-pipe::g' \
-e "/^CXX=/s:g++:$(tc-getCXX):" \
-e "/^CC=/s:gcc:$(tc-getCC):" \
-e '/ALLFLAGS/s:-s ::' \
-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \
-i makefile* || die
# remove non-free RAR codec
if use rar; then
ewarn "Enabling nonfree RAR decompressor"
else
sed \
-e '/Rar/d' \
-e '/RAR/d' \
-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
rm -rf CPP/7zip/Compress/Rar || die
fi
if use abi_x86_x32; then
sed -i -e "/^ASM=/s:amd64:x32:" makefile*
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use amd64; then
cp -f makefile.linux_amd64_asm makefile.machine || die
elif use x86; then
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
elif [[ ${CHOST} == *-darwin* ]] ; then
# Mac OS X needs this special makefile, because it has a non-GNU linker
[[ ${CHOST} == *64-* ]] \
&& cp -f makefile.macosx_64bits makefile.machine \
|| cp -f makefile.macosx_32bits makefile.machine
# bundles have extension .bundle but don't die because USE=-rar
# removes the Rar directory
sed -i -e '/strcpy(name/s/\.so/.bundle/' \
CPP/Windows/DLL.cpp || die
sed -i -e '/^PROG=/s/\.so/.bundle/' \
CPP/7zip/Bundles/Format7zFree/makefile \
$(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
elif use x86-fbsd; then
# FreeBSD needs this special makefile, because it hasn't -ldl
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
fi
if use static; then
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
fi
if use kde || use wxwidgets; then
need-wxwidgets unicode
einfo "Preparing dependency list"
emake depend
fi
}
src_compile() {
emake all3
if use kde || use wxwidgets; then
emake -- 7zG
emake -- 7zFM
fi
}
src_test() {
emake test test_7z test_7zr
}
src_install() {
# this wrappers can not be symlinks, p7zip should be called with full path
make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
if use kde || use wxwidgets; then
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
dobin GUI/p7zipForFilemanager
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z{G,FM}
insinto /usr/$(get_libdir)/${PN}
doins -r GUI/{Lang,help}
insinto /usr/share/icons/hicolor/16x16/apps/
newins GUI/p7zip_16_ok.png p7zip.png
if use kde; then
rm GUI/kde4/p7zip_compress.desktop || die
insinto /usr/share/kde4/services/ServiceMenus
doins GUI/kde4/*.desktop
fi
fi
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
exeinto /usr/$(get_libdir)/${PN}
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
doexe bin/*$(get_modname)
if use rar; then
exeinto /usr/$(get_libdir)/${PN}/Codecs/
doexe bin/Codecs/*$(get_modname)
fi
doman man1/7z.1 man1/7za.1 man1/7zr.1
dodoc ChangeLog README TODO
if use doc; then
dodoc DOC/*.txt
dohtml -r DOC/MANUAL/*
fi
}

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=compile install prepare test
DEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] ) amd64? ( dev-lang/yasm ) abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 ) x86? ( dev-lang/nasm )
DESCRIPTION=Port of 7-Zip archiver for Unix
EAPI=5
HOMEPAGE=http://p7zip.sourceforge.net/
IUSE=doc kde rar +pch static wxwidgets abi_x86_x32
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris
LICENSE=LGPL-2.1 rar? ( unRAR )
RDEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] )
REQUIRED_USE=kde? ( wxwidgets )
SLOT=0
SRC_URI=mirror://sourceforge/p7zip/p7zip_15.09_src_all.tar.bz2
_eclasses_=eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e multilib 3972ca401cf7dbb430df9995f5d8d580 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 wxwidgets cf6a488b00cd81e258206bc14b4167d9
_md5_=d4d6fd21ae280c228050e65f74876aa6

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=compile install prepare test
DEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] ) amd64? ( dev-lang/yasm ) abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 ) x86? ( dev-lang/nasm )
DESCRIPTION=Port of 7-Zip archiver for Unix
EAPI=5
HOMEPAGE=http://p7zip.sourceforge.net/
IUSE=doc kde rar +pch static wxwidgets abi_x86_x32
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris
LICENSE=LGPL-2.1 rar? ( unRAR )
RDEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] )
REQUIRED_USE=kde? ( wxwidgets )
SLOT=0
SRC_URI=mirror://sourceforge/p7zip/p7zip_15.09_src_all.tar.bz2
_eclasses_=eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e multilib 3972ca401cf7dbb430df9995f5d8d580 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 wxwidgets cf6a488b00cd81e258206bc14b4167d9
_md5_=126302fd16d053a449702c9d9df3f910

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=compile install prepare test
DEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] ) amd64? ( dev-lang/yasm ) abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 ) x86? ( dev-lang/nasm )
DESCRIPTION=Port of 7-Zip archiver for Unix
EAPI=5
HOMEPAGE=http://p7zip.sourceforge.net/
IUSE=doc kde rar +pch static wxwidgets abi_x86_x32
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris
LICENSE=LGPL-2.1 rar? ( unRAR )
RDEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] )
REQUIRED_USE=kde? ( wxwidgets )
SLOT=0
SRC_URI=mirror://sourceforge/p7zip/p7zip_15.14_src_all.tar.bz2
_eclasses_=eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e multilib 3972ca401cf7dbb430df9995f5d8d580 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 wxwidgets cf6a488b00cd81e258206bc14b4167d9
_md5_=79803eb4c5cbe66c078a99870c9674a9

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=compile install prepare test
DEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] ) amd64? ( dev-lang/yasm ) abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 ) x86? ( dev-lang/nasm )
DESCRIPTION=Port of 7-Zip archiver for Unix
EAPI=5
HOMEPAGE=http://p7zip.sourceforge.net/
IUSE=doc kde rar +pch static wxwidgets abi_x86_x32
KEYWORDS=~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris
LICENSE=LGPL-2.1 rar? ( unRAR )
RDEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] )
REQUIRED_USE=kde? ( wxwidgets )
SLOT=0
SRC_URI=mirror://sourceforge/p7zip/p7zip_15.14.1_src_all.tar.bz2
_eclasses_=eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e multilib 3972ca401cf7dbb430df9995f5d8d580 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 wxwidgets cf6a488b00cd81e258206bc14b4167d9
_md5_=4002094286aac594abe2ef0db60765e8

View File

@ -1,13 +1,14 @@
DEFINED_PHASES=compile install prepare setup test
DEPEND=kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )
DEFINED_PHASES=compile install prepare test
DEPEND=kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] ) amd64? ( dev-lang/yasm ) x86? ( dev-lang/nasm )
DESCRIPTION=Port of 7-Zip archiver for Unix
EAPI=2
EAPI=4
HOMEPAGE=http://p7zip.sourceforge.net/
IUSE=doc kde rar static wxwidgets
KEYWORDS=alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos
IUSE=doc kde rar +pch static wxwidgets
KEYWORDS=alpha amd64 ~arm hppa ia64 ppc ppc64 ~s390 sparc x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris
LICENSE=LGPL-2.1 rar? ( unRAR )
RDEPEND=kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )
REQUIRED_USE=kde? ( wxwidgets )
SLOT=0
SRC_URI=mirror://sourceforge/p7zip/p7zip_9.13_src_all.tar.bz2
SRC_URI=mirror://sourceforge/p7zip/p7zip_9.20.1_src_all.tar.bz2
_eclasses_=eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e multilib 3972ca401cf7dbb430df9995f5d8d580 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 wxwidgets cf6a488b00cd81e258206bc14b4167d9
_md5_=c28cc567e5d01b14ffa199a95d10354e
_md5_=a7610ec1860b9d0fc38d1a89609b96ca

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=compile install prepare test
DEPEND=kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] ) amd64? ( dev-lang/yasm ) abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 ) x86? ( dev-lang/nasm )
DESCRIPTION=Port of 7-Zip archiver for Unix
EAPI=5
HOMEPAGE=http://p7zip.sourceforge.net/
IUSE=doc kde rar +pch static wxwidgets abi_x86_x32
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris
LICENSE=LGPL-2.1 rar? ( unRAR )
RDEPEND=kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )
REQUIRED_USE=kde? ( wxwidgets )
SLOT=0
SRC_URI=mirror://sourceforge/p7zip/p7zip_9.38.1_src_all.tar.bz2
_eclasses_=eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e multilib 3972ca401cf7dbb430df9995f5d8d580 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 wxwidgets cf6a488b00cd81e258206bc14b4167d9
_md5_=11afbb60c318a0aad1b55fcb3dba6eb5

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=compile install prepare test
DEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] ) amd64? ( dev-lang/yasm ) abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 ) x86? ( dev-lang/nasm )
DESCRIPTION=Port of 7-Zip archiver for Unix
EAPI=5
HOMEPAGE=http://p7zip.sourceforge.net/
IUSE=doc kde rar +pch static wxwidgets abi_x86_x32
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris
LICENSE=LGPL-2.1 rar? ( unRAR )
RDEPEND=kde? ( x11-libs/wxGTK:3.0[X] kde-base/kdelibs ) wxwidgets? ( x11-libs/wxGTK:3.0[X] )
REQUIRED_USE=kde? ( wxwidgets )
SLOT=0
SRC_URI=mirror://sourceforge/p7zip/p7zip_9.38.1_src_all.tar.bz2
_eclasses_=eutils 9d81603248f2ba3ec59124320d123e5e flag-o-matic d270fa247153df66074f795fa42dba3e multilib 3972ca401cf7dbb430df9995f5d8d580 toolchain-funcs 7a212e5e01adfa4805c9978366e6ee85 wxwidgets cf6a488b00cd81e258206bc14b4167d9
_md5_=bf7516d19a25d1baaf0c88a9fbefd032