From 3c08d48c1d3ae2d4cf1b0af43fb35a8b4dd6079c Mon Sep 17 00:00:00 2001 From: Brandon Philips Date: Thu, 21 Mar 2013 18:19:11 -0700 Subject: [PATCH] move(sys-apps/portage): Move to the coreos-overlay until gentoo releases a new version of portage with our fixes we need to use the coreos-overlay. --- .../portage-stable/sys-apps/portage/ChangeLog | 210 - .../sys-apps/portage/ChangeLog-2012 | 2972 -------------- .../portage-stable/sys-apps/portage/Manifest | 29 - .../sys-apps/portage/files/2.1.10.11-r9.patch | 3458 ----------------- .../sys-apps/portage/files/README.RESCUE | 2 - .../sys-apps/portage/metadata.xml | 18 - .../portage/portage-2.1.10.11-r9.ebuild | 331 -- .../sys-apps/portage/portage-2.1.11.31.ebuild | 278 -- .../sys-apps/portage/portage-2.1.11.50.ebuild | 278 -- .../portage/portage-2.1.6.7_p1.ebuild | 263 -- .../portage/portage-2.2.0_alpha142.ebuild | 332 -- .../portage/portage-2.2.0_alpha161.ebuild | 332 -- .../sys-apps/portage/portage-9999.ebuild | 311 -- 13 files changed, 8814 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/ChangeLog delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/ChangeLog-2012 delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/2.1.10.11-r9.patch delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/files/README.RESCUE delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/metadata.xml delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.10.11-r9.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.11.31.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.11.50.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.6.7_p1.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.2.0_alpha142.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.2.0_alpha161.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/ChangeLog b/sdk_container/src/third_party/portage-stable/sys-apps/portage/ChangeLog deleted file mode 100644 index 7531be121b..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/ChangeLog +++ /dev/null @@ -1,210 +0,0 @@ -# ChangeLog for sys-apps/portage -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.1185 2013/01/27 22:04:14 zmedico Exp $ - - 27 Jan 2013; Zac Medico portage-2.1.11.31.ebuild, - portage-2.1.11.50.ebuild, portage-2.2.0_alpha142.ebuild, - portage-2.2.0_alpha161.ebuild, portage-9999.ebuild: - Remove obsolete warning about RMD160 hash support. - -*portage-2.2.0_alpha161 (24 Jan 2013) - - 24 Jan 2013; Zac Medico +portage-2.2.0_alpha161.ebuild, - -portage-2.2.0_alpha159.ebuild, -portage-2.2.0_alpha160.ebuild: - 2.2.0_alpha161 version bump. This includes all of the fixes in 2.1.11.50. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.50 (24 Jan 2013) - - 24 Jan 2013; Zac Medico +portage-2.1.11.50.ebuild, - -portage-2.1.11.48.ebuild, -portage-2.1.11.49.ebuild: - 2.1.11.50 version bump. This fixes bug #453892 ('TypeError: must be char, not - unicode' exception with Python 2 when renaming files during merge), a - regression since 2.1.11.44 and 2.2.0_alpha155. Bug #445274 tracks all bugs - fixed since portage-2.1.11.31. - -*portage-2.2.0_alpha160 (24 Jan 2013) - - 24 Jan 2013; Zac Medico +portage-2.2.0_alpha160.ebuild, - -portage-2.2.0_alpha158.ebuild: - 2.2.0_alpha160 version bump. This includes all of the fixes in 2.1.11.49. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.49 (24 Jan 2013) - - 24 Jan 2013; Zac Medico +portage-2.1.11.49.ebuild, - -portage-2.1.11.47.ebuild: - 2.1.11.49 version bump. This fixes some more potential cases that are related - to bug #453400 (AttributeError triggered by slot conflict involving default - USE deps and implicit IUSE). Bug #445274 tracks all bugs fixed since - portage-2.1.11.31. - -*portage-2.2.0_alpha159 (21 Jan 2013) - - 21 Jan 2013; Zac Medico +portage-2.2.0_alpha159.ebuild, - -portage-2.2.0_alpha155.ebuild: - 2.2.0_alpha159 version bump. This includes all of the fixes in 2.1.11.48. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.48 (21 Jan 2013) - - 21 Jan 2013; Zac Medico +portage-2.1.11.48.ebuild, - -portage-2.1.11.44.ebuild: - 2.1.11.48 version bump. This fixes bug #453358 (better examples for - ACCEPT_LICENSE in make.conf man page) and bug #453400 (AttributeError - triggered by slot conflict involving default USE deps and implicit IUSE). Bug - #445274 tracks all bugs fixed since portage-2.1.11.31. - -*portage-2.2.0_alpha158 (20 Jan 2013) - - 20 Jan 2013; Zac Medico +portage-2.2.0_alpha158.ebuild, - -portage-2.2.0_alpha157.ebuild: - 2.2.0_alpha158 version bump. This includes all of the fixes in 2.1.11.47. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.47 (20 Jan 2013) - - 20 Jan 2013; Zac Medico +portage-2.1.11.47.ebuild, - -portage-2.1.11.46.ebuild: - 2.1.11.47 version bump. This fixes repoman 'TypeError: must be char, not - unicode' exception with Python 2 when downloading metadata.dtd (regression - since 2.1.11.44 and 2.2.0_alpha155). Bug #445274 tracks all bugs fixed since - portage-2.1.11.31. - -*portage-2.2.0_alpha157 (20 Jan 2013) - - 20 Jan 2013; Zac Medico +portage-2.2.0_alpha157.ebuild, - -portage-2.2.0_alpha156.ebuild: - 2.2.0_alpha157 version bump. This includes all of the fixes in 2.1.11.46. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.46 (20 Jan 2013) - - 20 Jan 2013; Zac Medico +portage-2.1.11.46.ebuild, - -portage-2.1.11.45.ebuild: - 2.1.11.46 version bump. This fixes serious bugs in repoman code from the - previous release. Bug #445274 tracks all bugs fixed since portage-2.1.11.31. - -*portage-2.2.0_alpha156 (20 Jan 2013) - - 20 Jan 2013; Zac Medico +portage-2.2.0_alpha156.ebuild, - -portage-2.2.0_alpha154.ebuild: - 2.2.0_alpha156 version bump. This includes all of the fixes in 2.1.11.45. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.45 (20 Jan 2013) - - 20 Jan 2013; Zac Medico +portage-2.1.11.45.ebuild, - -portage-2.1.11.43.ebuild: - 2.1.11.45 version bump. This fixes a repoman bug which cause it handle stable - use force/mask incorrectly. Bug #445274 tracks all bugs fixed since - portage-2.1.11.31. - -*portage-2.2.0_alpha155 (19 Jan 2013) - - 19 Jan 2013; Zac Medico +portage-2.2.0_alpha155.ebuild, - -portage-2.2.0_alpha153.ebuild: - 2.2.0_alpha155 version bump. This includes all of the fixes in 2.1.11.44. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.44 (19 Jan 2013) - - 19 Jan 2013; Zac Medico +portage-2.1.11.44.ebuild, - -portage-2.1.11.42.ebuild: - 2.1.11.44 version bump. This adds support for the @security package set, which - installs GLSA security updates (like glsa-check from gentoolkit). Bug #445274 - tracks all bugs fixed since portage-2.1.11.31. - -*portage-2.2.0_alpha154 (16 Jan 2013) - - 16 Jan 2013; Zac Medico +portage-2.2.0_alpha154.ebuild, - -portage-2.2.0_alpha151.ebuild: - 2.2.0_alpha154 version bump. This includes all of the fixes in 2.1.11.43. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.43 (16 Jan 2013) - - 16 Jan 2013; Zac Medico +portage-2.1.11.43.ebuild, - -portage-2.1.11.40.ebuild: - 2.1.11.43 version bump. This fixes bug #451048 (show free ram/swap in emerge - --info output). This also fixes random 'Bad file descriptor' errors for PyPy, - by avoiding file descriptor interference via dup2(). Bug #445274 tracks all - bugs fixed since portage-2.1.11.31. - -*portage-2.2.0_alpha153 (15 Jan 2013) - - 15 Jan 2013; Zac Medico +portage-2.2.0_alpha153.ebuild, - -portage-2.2.0_alpha152.ebuild: - 2.2.0_alpha153 version bump. This includes all of the fixes in 2.1.11.42. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.42 (15 Jan 2013) - - 15 Jan 2013; Zac Medico +portage-2.1.11.42.ebuild, - -portage-2.1.11.41.ebuild: - 2.1.11.42 version bump. This fixes bug #452030 (prevent duplicate test runs - with test-fail-continue) and bug #452176 (warn about deprecated /etc/make.* - files). This also fixes a random KeyError which can occur when checking binary - package digests (regression since 2.1.11.39 and 2.2.0_alpha150). Bug #445274 - tracks all bugs fixed since portage-2.1.11.31. - - 14 Jan 2013; Zac Medico portage-9999.ebuild: - Remove LINGUAS loop which is handled by the Makefile now. - -*portage-2.2.0_alpha152 (14 Jan 2013) - - 14 Jan 2013; Zac Medico +portage-2.2.0_alpha152.ebuild, - -portage-2.2.0_alpha149.ebuild: - 2.2.0_alpha152 version bump. This includes all of the fixes in 2.1.11.41. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.41 (14 Jan 2013) - - 14 Jan 2013; Zac Medico +portage-2.1.11.41.ebuild, - -portage-2.1.11.38.ebuild: - 2.1.11.41 version bump. This fixes bug #430488 (python3 support for selinux) - and bug #451386 (handle non-shell-script in /etc/init.d). Bug #445274 tracks - all bugs fixed since portage-2.1.11.31. - - 14 Jan 2013; Zac Medico portage-9999.ebuild: - Add linguas_ru for bug #450372. - -*portage-2.2.0_alpha151 (11 Jan 2013) - - 11 Jan 2013; Zac Medico +portage-2.2.0_alpha151.ebuild, - -portage-2.2.0_alpha150.ebuild: - 2.2.0_alpha150 version bump. This includes all of the fixes in 2.1.11.40. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.40 (11 Jan 2013) - - 11 Jan 2013; Zac Medico +portage-2.1.11.40.ebuild, - -portage-2.1.11.39.ebuild: - 2.1.11.40 version bump. This fixes bug #451344 (spawn_nofetch portage - NameError, a regression in 2.1.11.39 and 2.2.0_alpha150). Bug #445274 tracks - all bugs fixed since portage-2.1.11.31. - -*portage-2.2.0_alpha150 (10 Jan 2013) - - 10 Jan 2013; Zac Medico +portage-2.2.0_alpha150.ebuild: - 2.2.0_alpha150 version bump. This includes all of the fixes in 2.1.11.39. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.39 (10 Jan 2013) - - 10 Jan 2013; Zac Medico +portage-2.1.11.39.ebuild: - 2.1.11.39 version bump. This fixes bug #243192 (update quickpkg man page), bug - #298298 (include packages from nested package sets in emerge --depclean - summary), bug #446610 (handle syncfs return value), bug #446662 (add - QA_CONFIGURE_OPTIONS), bug #448176 (fix emerge --keep-going to avoid dropping - packages), bug #448858 (relocation error triggered by glibc upgrade), bug - #449678 (silence repoman warning about usex for EAPI 5), bug #449708 (make - use() fatal when called with unknown flags in EAPI 5), bug #450278 (add - QA_AM_MAINTAINER_MODE), bug #450960 (mention relavant file names in autounmask - messages), and bug #451118 (fix make.conf.5 formatting of compress-index - docs). Bug #445274 tracks all bugs fixed since portage-2.1.11.31. - - 01 Jan 2013; Andreas K. Huettel +ChangeLog-2012: - Split ChangeLog. - - For previous entries, please see ChangeLog-2012. diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/ChangeLog-2012 b/sdk_container/src/third_party/portage-stable/sys-apps/portage/ChangeLog-2012 deleted file mode 100644 index e8d3b81fc8..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/ChangeLog-2012 +++ /dev/null @@ -1,2972 +0,0 @@ -# ChangeLog for sys-apps/portage -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog-2012,v 1.1 2013/01/01 13:38:34 dilfridge Exp $ - - 22 Dec 2012; Zac Medico metadata.xml, - portage-2.1.11.31.ebuild, portage-2.1.11.38.ebuild, portage-2.1.6.7_p1.ebuild, - portage-2.2.0_alpha142.ebuild, portage-2.2.0_alpha149.ebuild, - portage-9999.ebuild: - Replace USE=pypy1_9 with pypy2_0. - - 22 Dec 2012; Zac Medico -portage-2.1.11.37.ebuild, - -portage-2.1.11.9.ebuild, -portage-2.2.0_alpha148.ebuild: - Remove old versions. - -*portage-2.2.0_alpha149 (16 Dec 2012) - - 16 Dec 2012; Zac Medico +portage-2.2.0_alpha149.ebuild: - 2.2.0_alpha149 version bump. This includes all of the fixes in 2.1.11.38. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.38 (16 Dec 2012) - - 16 Dec 2012; Zac Medico +portage-2.1.11.38.ebuild: - 2.1.11.38 version bump. This fixes 'ValueError: I/O operation on closed file' - for API consumers using python's multiprocessing module, and also fixes - repoman handling of * and ~* in KEYWORDS. Bug #445274 tracks all bugs fixed - since portage-2.1.11.31. - - 13 Dec 2012; Zac Medico -portage-2.1.11.33.ebuild, - -portage-2.1.11.36.ebuild, -portage-2.2.0_alpha144.ebuild, - -portage-2.2.0_alpha147.ebuild: - Remove old versions. - -*portage-2.2.0_alpha148 (11 Dec 2012) - - 11 Dec 2012; Zac Medico +portage-2.2.0_alpha148.ebuild: - 2.2.0_alpha148 version bump. This includes all of the fixes in 2.1.11.37. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.37 (11 Dec 2012) - - 11 Dec 2012; Zac Medico +portage-2.1.11.37.ebuild: - 2.1.11.37 version bump. This fixes bug #446136 (duplicate elog messages), bug - #446774 (regression triggers die during strip), and bug #446420 (preserve - xattrs for stripped binaries) Bug #445274 tracks all bugs fixed since - portage-2.1.11.31. - - 11 Dec 2012; Raúl Porcel portage-2.1.11.31.ebuild: - alpha/ia64/m68k/s390/sh/sparc stable wrt #440852 - -*portage-2.2.0_alpha147 (10 Dec 2012) - - 10 Dec 2012; Zac Medico +portage-2.2.0_alpha147.ebuild, - -portage-2.2.0_alpha146.ebuild: - 2.2.0_alpha147 version bump. This includes all of the fixes in 2.1.11.36. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.36 (10 Dec 2012) - - 10 Dec 2012; Zac Medico +portage-2.1.11.36.ebuild, - -portage-2.1.11.35.ebuild: - 2.1.11.36 version bump. This fixes a regression in 2.1.11.35 and - 2.2.0_alpha146 which would prevent autounmask from working correctly with - implicit IUSE flags. Bug #445274 tracks all bugs fixed since - portage-2.1.11.31. - -*portage-2.2.0_alpha146 (10 Dec 2012) - - 10 Dec 2012; Zac Medico +portage-2.2.0_alpha146.ebuild, - -portage-2.2.0_alpha145.ebuild: - 2.2.0_alpha146 version bump. This includes all of the fixes in 2.1.11.35. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.35 (10 Dec 2012) - - 10 Dec 2012; Zac Medico +portage-2.1.11.35.ebuild, - -portage-2.1.11.34.ebuild: - 2.1.11.35 version bump. This fixes bug #442086 (don't suggest autounmask USE - changes for use-dep defaults) and bug #446666 (emerge ValueError regression - triggered by autoumask and use-dep defaults). Bug #445274 tracks all bugs - fixed since portage-2.1.11.31. - -*portage-2.2.0_alpha145 (08 Dec 2012) - - 08 Dec 2012; Zac Medico +portage-2.2.0_alpha145.ebuild: - 2.2.0_alpha145 version bump. This includes all of the fixes in 2.1.11.34. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.34 (08 Dec 2012) - - 08 Dec 2012; Zac Medico +portage-2.1.11.34.ebuild: - 2.1.11.34 version bump. This fixes bug #445506 (make emerge --depclean remove - unavailable slots), bug #445628 (don't show 'None' for path of license files), - bug 446358 (fix regression in emerge --info which caused it to bail out for - existing packages), and bug #446324 (support emerge --verbose=n) Bug #445274 - tracks all bugs fixed since portage-2.1.11.31. - - 05 Dec 2012; Zac Medico portage-2.1.11.31.ebuild, - portage-2.1.11.33.ebuild, portage-2.1.11.9.ebuild, - portage-2.2.0_alpha142.ebuild, portage-2.2.0_alpha144.ebuild, - portage-9999.ebuild: - Accept missing readline flag for bash 3.x as discussed in bug #445576, comment - #9. - - 04 Dec 2012; Zac Medico portage-2.1.11.31.ebuild, - portage-2.1.11.33.ebuild, portage-2.1.11.9.ebuild, - portage-2.2.0_alpha142.ebuild, portage-2.2.0_alpha144.ebuild, - portage-9999.ebuild: - For compgen, require bash[readline] (bug #445576). - -*portage-2.2.0_alpha144 (01 Dec 2012) - - 01 Dec 2012; Zac Medico +portage-2.2.0_alpha144.ebuild, - -portage-2.2.0_alpha143.ebuild: - 2.2.0_alpha144 version bump. This includes all of the fixes in 2.1.11.33. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.33 (01 Dec 2012) - - 01 Dec 2012; Zac Medico +portage-2.1.11.33.ebuild, - -portage-2.1.11.32.ebuild: - 2.1.11.33 version bump. This fixes bug #445336 (regression in 2.1.11.32 and - 2.2.0_alpha143 which triggered 'File exists' errors with splitdebug). Bug - #445274 tracks all bugs fixed since portage-2.1.11.31. - -*portage-2.2.0_alpha143 (29 Nov 2012) - - 29 Nov 2012; Zac Medico +portage-2.2.0_alpha143.ebuild, - -portage-2.2.0_alpha120.ebuild: - 2.2.0_alpha143 version bump. This includes all of the fixes in 2.1.11.32. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.32 (29 Nov 2012) - - 29 Nov 2012; Zac Medico +portage-2.1.11.32.ebuild: - 2.1.11.32 version bump. This fixes bug #367215 (package moves should not cause - a package to block itself), bug #421099 (parallel strip issues with - hardlinks), bug #434942 (obsolete eclass-overrides information in portage.5), - bug #440680 (repoman deprecation warning for boost-utils.eclass), bug #440982 - (new emerge --quiet-fail option), bug #441948 (handle permission exceptions - when writing elog logs), bug #442190 (fix emerge-webrsync to apply - portage:portage ownership), bug #442536 (keep temp dir after pkg_pretend - failure), bug #442786 (repoman validate metadata.xml use restriction atoms), - and bug #444596 (make emerge --info fail for unmatched atoms). Bug #445274 - tracks all bugs fixed since portage-2.1.11.31. - - 16 Nov 2012; Agostino Sarubbo portage-2.1.11.31.ebuild: - Stable for X86, wrt bug #440852 - - 07 Nov 2012; Jeroen Roovers portage-2.1.11.31.ebuild: - Stable for HPPA (bug #440852). - - 04 Nov 2012; Agostino Sarubbo portage-2.1.11.31.ebuild: - Stable for amd64, wrt bug #440852 - - 03 Nov 2012; Anthony G. Basile portage-2.1.11.31.ebuild: - stable arm, bug #440852 - - 02 Nov 2012; Anthony G. Basile portage-2.1.11.31.ebuild: - stable ppc ppc64, bug #440852 - - 30 Oct 2012; Zac Medico -portage-2.1.11.30.ebuild, - -portage-2.2.0_alpha141.ebuild: - Remove old versions. - -*portage-2.2.0_alpha142 (26 Oct 2012) - - 26 Oct 2012; Zac Medico +portage-2.2.0_alpha142.ebuild: - 2.2.0_alpha142 version bump. This includes all of the fixes in 2.1.11.31. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.31 (26 Oct 2012) - - 26 Oct 2012; Zac Medico +portage-2.1.11.31.ebuild: - 2.1.11.31 version bump. This fixes bug #436294 (show linker version in emerge - --info), bug #439490 (use checkbashisms for init script QA warning), bug - #439584 (sync disk after each package merge), bug #439688 (fix unnecessary - rebuilds triggered by missed updates), and bug #439694 (fix emerge to account - for initially broken built slot operator deps). Bug #431026 tracks all bugs - fixed since portage-2.1.11.9. - - 24 Oct 2012; Zac Medico -portage-2.1.11.29.ebuild, - -portage-2.2.0_alpha140.ebuild: - Remove old versions. - -*portage-2.2.0_alpha141 (18 Oct 2012) - - 18 Oct 2012; Zac Medico +portage-2.2.0_alpha141.ebuild, - -portage-2.2.0_alpha138.ebuild: - 2.2.0_alpha141 version bump. This includes all of the fixes in 2.1.11.30. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.30 (18 Oct 2012) - - 18 Oct 2012; Zac Medico +portage-2.1.11.30.ebuild, - -portage-2.1.11.27.ebuild: - 2.1.11.30 version bump. This fixes various issues with SLOT handling related - to EAPI 5 sub-slots, including keepdir failures. This also fixes bug #438640 - (remove old binhost protocol, since it causes problems when using a proxy). - Bug #431026 tracks all bugs fixed since portage-2.1.11.9. - -*portage-2.2.0_alpha140 (17 Oct 2012) - - 17 Oct 2012; Zac Medico +portage-2.2.0_alpha140.ebuild, - -portage-2.2.0_alpha139.ebuild: - 2.2.0_alpha140 version bump. This includes all of the fixes in 2.1.11.29. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.29 (17 Oct 2012) - - 17 Oct 2012; Zac Medico +portage-2.1.11.29.ebuild, - -portage-2.1.11.28.ebuild: - 2.1.11.29 version bump. This fixes some cases where egencache --update- - manifests would unnecessarily re-signing manifests (for bug #436918), and also - fixes some cases where emerge --jobs would add jobs too slowly when --load- - average was enabled (for bug #438650). Bug #431026 tracks all bugs fixed since - portage-2.1.11.9. - -*portage-2.2.0_alpha139 (17 Oct 2012) - - 17 Oct 2012; Zac Medico +portage-2.2.0_alpha139.ebuild, - -portage-2.2.0_alpha137.ebuild: - 2.2.0_alpha139 version bump. This includes all of the fixes in 2.1.11.28. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.28 (17 Oct 2012) - - 17 Oct 2012; Zac Medico +portage-2.1.11.28.ebuild, - -portage-2.1.11.26.ebuild: - 2.1.11.28 version bump. This fixes egencache --update-manifests to forcefully - replace existing signatures when appropriate (for bug #436918), and also adds - a repoman restriction for PORTAGE_GPG_KEY (key id must be exactly 8, 16, 24, - 32 or 40 hexdigits long). Bug #431026 tracks all bugs fixed since - portage-2.1.11.9. - -*portage-2.2.0_alpha138 (15 Oct 2012) - - 15 Oct 2012; Zac Medico +portage-2.2.0_alpha138.ebuild: - 2.2.0_alpha138 version bump. This includes all of the fixes in 2.1.11.27. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.27 (15 Oct 2012) - - 15 Oct 2012; Zac Medico +portage-2.1.11.27.ebuild: - 2.1.11.27 version bump. This fixes bug #437910 (QA_MULTILIB_PATHS variable for - FEATURES=multilib-strict), bug #438254 (distinguish binary packages in merge - display), and bug #438364 (repoman special git commit footer). Bug #431026 - tracks all bugs fixed since portage-2.1.11.9. - - 13 Oct 2012; Zac Medico -portage-2.1.11.25.ebuild, - -portage-2.2.0_alpha136.ebuild: - Remove old versions. - -*portage-2.2.0_alpha137 (10 Oct 2012) - - 10 Oct 2012; Zac Medico +portage-2.2.0_alpha137.ebuild, - portage-9999.ebuild: - 2.2.0_alpha137 version bump. This includes all of the fixes in 2.1.11.26. Bug - #210077 tracks all bugs fixed since portage-2.1.x. Also, sync 9999 ebuild with - latest. - -*portage-2.1.11.26 (10 Oct 2012) - - 10 Oct 2012; Zac Medico +portage-2.1.11.26.ebuild: - 2.1.11.26 version bump. This fixes bug #437872 (support *_beta* wildcard - atoms) and also fixes a regression since 2.1.11.11 which triggers behavior - similar to bug #403895 (emerge --load-average sometimes fails to schedule new - builds when the load average drops). Bug #431026 tracks all bugs fixed since - portage-2.1.11.9. - - 10 Oct 2012; Zac Medico -portage-2.1.11.24.ebuild, - -portage-2.2.0_alpha135.ebuild: - Remove old versions. - -*portage-2.2.0_alpha136 (08 Oct 2012) - - 08 Oct 2012; Zac Medico +portage-2.2.0_alpha136.ebuild: - 2.2.0_alpha136 version bump. This includes all of the fixes in 2.1.11.25. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.25 (08 Oct 2012) - - 08 Oct 2012; Zac Medico +portage-2.1.11.25.ebuild: - 2.1.11.25 version bump. This fixes bug #437180 (intermittent test failure in - test_ipc_daemon), bug #437546 (use same repoman commit message for regular and - manifest commits), and bug #437588 (fix Unknown tag error building rpms with - 4.10.0). Bug #431026 tracks all bugs fixed since portage-2.1.11.9. - - 06 Oct 2012; Zac Medico -portage-2.1.11.23.ebuild, - -portage-2.2.0_alpha134.ebuild: - Remove old versions. - -*portage-2.2.0_alpha135 (04 Oct 2012) - - 04 Oct 2012; Zac Medico +portage-2.2.0_alpha135.ebuild: - 2.2.0_alpha135 version bump. This includes all of the fixes in 2.1.11.24. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.24 (04 Oct 2012) - - 04 Oct 2012; Zac Medico +portage-2.1.11.24.ebuild: - 2.1.11.24 version bump. This fixes bug #436918 (add egencache --update- - manifests action) and bug #436974 (regression if fetching for RESTRICT=mirror - ebuilds with python-2.6). Bug #431026 tracks all bugs fixed since - portage-2.1.11.9. - - 29 Sep 2012; Zac Medico -portage-2.1.11.22.ebuild, - -portage-2.2.0_alpha133.ebuild: - Remove old versions. - -*portage-2.2.0_alpha134 (27 Sep 2012) - - 27 Sep 2012; Zac Medico +portage-2.2.0_alpha134.ebuild, - -portage-2.2.0_alpha132.ebuild: - 2.2.0_alpha134 version bump. This includes all of the fixes in 2.1.11.23. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.23 (27 Sep 2012) - - 27 Sep 2012; Zac Medico +portage-2.1.11.23.ebuild, - -portage-2.1.11.21.ebuild: - 2.1.11.23 version bump. This fixes bug #436330 (extended atom syntax in - /etc/portage/profile) and bug #436334 (intermittent test failure in - test_ipc_daemon, triggered by heavy load). Bug #431026 tracks all bugs fixed - since portage-2.1.11.9. - -*portage-2.2.0_alpha133 (26 Sep 2012) - - 26 Sep 2012; Zac Medico +portage-2.2.0_alpha133.ebuild, - -portage-2.2.0_alpha131.ebuild: - 2.2.0_alpha133 version bump. This includes all of the fixes in 2.1.11.22. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.22 (26 Sep 2012) - - 26 Sep 2012; Zac Medico +portage-2.1.11.22.ebuild, - -portage-2.1.11.20.ebuild: - 2.1.11.22 version bump. This fixes bug #436084 (avoid unnecessary scanning of - PKGDIR). This also adds support for experimental EAPI 5-hdepend. Bug #431026 - tracks all bugs fixed since portage-2.1.11.9. - -*portage-2.2.0_alpha132 (24 Sep 2012) - - 24 Sep 2012; Zac Medico +portage-2.2.0_alpha132.ebuild, - -portage-2.2.0_alpha130.ebuild: - 2.2.0_alpha132 version bump. This includes all of the fixes in 2.1.11.21. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.21 (24 Sep 2012) - - 24 Sep 2012; Zac Medico +portage-2.1.11.21.ebuild, - -portage-2.1.11.19.ebuild: - 2.1.11.21 version bump. This fixes bug #435834 (ensure that libx32/*.so is - executable). Bug #431026 tracks all bugs fixed since portage-2.1.11.9. - - 22 Sep 2012; Zac Medico portage-2.1.11.20.ebuild: - Patch emerge man page to indicate that --depclean-lib-check is disabled by - default. - - 21 Sep 2012; Zac Medico portage-2.2.0_alpha131.ebuild, - portage-9999.ebuild: - Fix make.globals/preserve-libs code to work correctly. - -*portage-2.2.0_alpha131 (21 Sep 2012) - - 21 Sep 2012; Zac Medico +portage-2.2.0_alpha131.ebuild, - -portage-2.2.0_alpha129.ebuild: - 2.2.0_alpha131 version bump. This includes all of the fixes in 2.1.11.20. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.20 (21 Sep 2012) - - 21 Sep 2012; Zac Medico +portage-2.1.11.20.ebuild, - -portage-2.1.11.18.ebuild: - 2.1.11.20 version bump. This fixes bug #435720 (prefer mirrors explicitly - listed in SRC_URI when fetching with RESTRICT=primaryuri). This also adds - support for FEATURES=preserve-libs, though it's not enabled by default. Bug - #431026 tracks all bugs fixed since portage-2.1.11.9. - - 21 Sep 2012; Zac Medico portage-9999.ebuild: - Append FEATURES=preserve-libs in make.globals, since it will soon be removed - from the default make.globals. - -*portage-2.2.0_alpha130 (20 Sep 2012) - - 20 Sep 2012; Zac Medico +portage-2.2.0_alpha130.ebuild, - -portage-2.2.0_alpha128.ebuild: - 2.2.0_alpha130 version bump. This includes all of the fixes in 2.1.11.19. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.19 (20 Sep 2012) - - 20 Sep 2012; Zac Medico +portage-2.1.11.19.ebuild, - -portage-2.1.11.17.ebuild: - 2.1.11.19 version bump. This adds support for EAPI 5. Bug #431026 tracks all - bugs fixed since portage-2.1.11.9. - -*portage-2.2.0_alpha129 (18 Sep 2012) - - 18 Sep 2012; Zac Medico +portage-2.2.0_alpha129.ebuild, - -portage-2.2.0_alpha127.ebuild: - 2.2.0_alpha129 version bump. This includes all of the fixes in 2.1.11.18. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.18 (18 Sep 2012) - - 18 Sep 2012; Zac Medico +portage-2.1.11.18.ebuild, - -portage-2.1.11.16.ebuild: - 2.1.11.18 version bump. This fixes a bug #435242 (fix repoman to detect EAPI 4 - unsatisfied use-dep defaults). Bug #431026 tracks all bugs fixed since - portage-2.1.11.9. - -*portage-2.2.0_alpha128 (14 Sep 2012) - - 14 Sep 2012; Zac Medico +portage-2.2.0_alpha128.ebuild, - -portage-2.2.0_alpha125.ebuild: - 2.2.0_alpha128 version bump. This includes all of the fixes in 2.1.11.17. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.17 (14 Sep 2012) - - 14 Sep 2012; Zac Medico +portage-2.1.11.17.ebuild, - -portage-2.1.11.14.ebuild: - 2.1.11.17 version bump. This fixes a bug #373209 (bind FEATURES=-test to - USE=-test). Bug #431026 tracks all bugs fixed since portage-2.1.11.9. - -*portage-2.2.0_alpha127 (12 Sep 2012) - - 12 Sep 2012; Zac Medico +portage-2.2.0_alpha127.ebuild, - -portage-2.2.0_alpha126.ebuild: - 2.2.0_alpha127 version bump. This includes all of the fixes in 2.1.11.16. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.16 (12 Sep 2012) - - 12 Sep 2012; Zac Medico +portage-2.1.11.16.ebuild, - -portage-2.1.11.15.ebuild: - 2.1.11.16 version bump. This fixes a regression in 2.1.11.15 which would - trigger merge failures on FreeBSD when chflags needed to be called. Bug - #431026 tracks all bugs fixed since portage-2.1.11.9. - -*portage-2.2.0_alpha126 (12 Sep 2012) - - 12 Sep 2012; Zac Medico +portage-2.2.0_alpha126.ebuild, - -portage-2.2.0_alpha124.ebuild: - 2.2.0_alpha126 version bump. This includes all of the fixes in 2.1.11.15. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.15 (12 Sep 2012) - - 12 Sep 2012; Zac Medico +portage-2.1.11.15.ebuild, - -portage-2.1.11.13.ebuild: - 2.1.11.15 version bump. This fixes bug #310789 (fix repoman to handle unicode - paths when python things paths should be ascii), bug #332217 (fix timestamp - and permissions of WORKDIR after unpack), and bug #434540 (format binary - package USE mismatch display for pasting into package.use).This also adds - support for EAPI 5_pre2, which supports all features approved in the Gentoo - Council meeting on September 11. Bug #431026 tracks all bugs fixed since - portage-2.1.11.9. - -*portage-2.2.0_alpha125 (08 Sep 2012) - - 08 Sep 2012; Zac Medico +portage-2.2.0_alpha125.ebuild: - 2.2.0_alpha125 version bump. This includes all of the fixes in 2.1.11.14, and - also fixes bug #387059 (deprecate @installed), and bug #433964 (fix AgeSet to - use BUILD_TIME metadata). Bug #210077 tracks all bugs fixed since - portage-2.1.x. - -*portage-2.1.11.14 (08 Sep 2012) - - 08 Sep 2012; Zac Medico +portage-2.1.11.14.ebuild: - 2.1.11.14 version bump. This fixes bug #380551 (note in dispatch-conf.conf to - install rcs if necessary), bug #400641 (ignore ENOTDIR when removing temp - dirs), bug #416917 (add etc-update --quiet option), and bug #423403 (update - pkg_nofetch description in ebuild.5 man page). Bug #431026 tracks all bugs - fixed since portage-2.1.11.9. - - 06 Sep 2012; Zac Medico -portage-2.1.11.12-r2.ebuild, - -portage-2.2.0_alpha123-r2.ebuild: - Remove old versions. - -*portage-2.2.0_alpha124 (03 Sep 2012) - - 03 Sep 2012; Zac Medico +portage-2.2.0_alpha124.ebuild: - 2.2.0_alpha124 version bump. This includes all of the fixes in 2.1.11.13 - (including support for EAPI 5_pre1), and also fixes bug #433704 (add DateSet - package set class). Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.13 (02 Sep 2012) - - 02 Sep 2012; Zac Medico +portage-2.1.11.13.ebuild: - 2.1.11.13 version bump. This fixes bug #433694 (emaint cleanconfmem is too - aggressive), and also adds support for experimental EAPI 5_pre1. For - information about EAPI 5_pre1, refer to the html documentation that's - installed when USE=doc is enabled. Bug #431026 tracks all bugs fixed since - portage-2.1.11.9. - -*portage-2.1.11.12-r2 (02 Sep 2012) -*portage-2.2.0_alpha123-r2 (02 Sep 2012) - - 02 Sep 2012; Zac Medico +portage-2.1.11.12-r2.ebuild, - +portage-2.2.0_alpha123-r2.ebuild, -portage-2.1.11.12-r1.ebuild, - -portage-2.2.0_alpha123-r1.ebuild, portage-9999.ebuild: - Add /usr/lib/portage/pym to PYTHONPATH via /etc/env.d/05portage, for portage - API consumers. This way we don't have to rely on patched python having the - correct path, since it has been known to incorrectly add - /usr/libx32/portage/pym to sys.path. Also, remove obsolete ebuild-helpers/sed - code from portage-9999.ebuild. - -*portage-2.1.11.12-r1 (01 Sep 2012) -*portage-2.2.0_alpha123-r1 (01 Sep 2012) - - 01 Sep 2012; Zac Medico +portage-2.1.11.12-r1.ebuild, - +portage-2.2.0_alpha123-r1.ebuild, -portage-2.1.11.12.ebuild, - -portage-2.2.0_alpha123.ebuild, portage-2.1.11.9.ebuild, - portage-2.1.6.7_p1.ebuild, portage-2.2.0_alpha120.ebuild: - Revert libdir changes in existing ebuilds, in order to avoid possible issues - when re-installing those versions on multilib systems. Revision bump latest - versions with the libdir changes, which is necessary in order to avoid - mentioned issues. - - 01 Sep 2012; Zac Medico portage-2.1.11.12.ebuild, - portage-2.1.11.9.ebuild, portage-2.1.6.7_p1.ebuild, - portage-2.2.0_alpha120.ebuild, portage-2.2.0_alpha123.ebuild, - portage-9999.ebuild: - Install in /usr/lib instead of using multilib get_libdir, since current - versions of portage are do not install any ELF binaries. - - 01 Sep 2012; Zac Medico -portage-2.1.11.11.ebuild, - -portage-2.2.0_alpha122.ebuild: - Remove old versions. - -*portage-2.2.0_alpha123 (26 Aug 2012) - - 26 Aug 2012; Zac Medico +portage-2.2.0_alpha123.ebuild: - 2.2.0_alpha123 version bump. This includes all of the fixes in 2.1.11.12. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.12 (26 Aug 2012) - - 26 Aug 2012; Zac Medico +portage-2.1.11.12.ebuild: - 2.1.11.12 version bump. This fixes bug #421099 (parallel debugedit/strip - interference), but #431078 (EAPI 5 stable use masking), and bug #432862 - (ignore irrelevant validate-desktop-entry errors/warnings, especially for KDE - service entries). Bug #431026 tracks all bugs fixed since portage-2.1.11.9. - - 26 Aug 2012; Zac Medico -portage-2.1.10.65.ebuild, - -portage-2.1.11.10.ebuild, -portage-2.2.0_alpha110.ebuild, - -portage-2.2.0_alpha121.ebuild: - Remove old versions. - - 26 Aug 2012; Raúl Porcel portage-2.1.11.9.ebuild: - alpha/ia64/m68k/s390/sh/sparc stable wrt #430674 - -*portage-2.2.0_alpha122 (22 Aug 2012) - - 22 Aug 2012; Zac Medico +portage-2.2.0_alpha122.ebuild: - 2.2.0_alpha122 version bump. This includes all of the fixes in 2.1.11.11. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.11 (22 Aug 2012) - - 22 Aug 2012; Zac Medico +portage-2.1.11.11.ebuild: - 2.1.11.11 version bump. This fixes bug #142202 (fix emerge-webrsync to handle - permissions when non-root users), bug #364105 (fix emerge-webrsync to use - PORTAGE_RSYNC_OPTS), bug #392565 (add warning in make.conf man page about - PORTAGE_TMPDIR under PORTDIR), bug #432024 (emerge poll loop optimizations), - and bug #432170 (add PORTAGE_CHECKSUM_FILTER variable that can be used to skip - whirlpool checksums on slow computers). Bug #431026 tracks all bugs fixed - since portage-2.1.11.9. - -*portage-2.2.0_alpha121 (11 Aug 2012) - - 11 Aug 2012; Zac Medico +portage-2.2.0_alpha121.ebuild: - 2.2.0_alpha121 version bump. This includes all of the fixes in 2.1.11.10. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.10 (11 Aug 2012) - - 11 Aug 2012; Zac Medico +portage-2.1.11.10.ebuild: - 2.1.11.10 version bump. This fixes bug #417123 (repoman virtual/libusb check), - bug #427384 (tweak USE dep negative default example in man page), bug #427862 - (remove /etc/make.globals symlink), bug #429978 (Note GLEP 37 in portage man - page), and bug #430962 (fix permissions of source files installed by - FEAUTURES=installsources). Bug #431026 tracks all bugs fixed since - portage-2.1.11.9. - - 10 Aug 2012; Anthony G. Basile portage-2.1.11.9.ebuild: - Stable arm, bug #430674 - - 10 Aug 2012; Anthony G. Basile portage-2.1.11.9.ebuild: - Stable ppc ppc64, bug #430674 - - 09 Aug 2012; Jeroen Roovers portage-2.1.11.9.ebuild: - Stable for HPPA (bug #430674). - - 09 Aug 2012; Agostino Sarubbo portage-2.1.11.9.ebuild: - Stable for x86, wrt bug #430674 - - 09 Aug 2012; Agostino Sarubbo portage-2.1.11.9.ebuild: - Stable for amd64, wrt bug #430674 - - 04 Aug 2012; Zac Medico portage-2.1.10.65.ebuild, - portage-2.1.11.9.ebuild, portage-2.1.6.7_p1.ebuild, - portage-2.2.0_alpha110.ebuild, portage-2.2.0_alpha120.ebuild, - portage-9999.ebuild: - Add sys-devel/patch to DEPEND for bug #429746. - - 26 Jul 2012; Zac Medico -portage-2.1.11.8.ebuild, - -portage-2.2.0_alpha119.ebuild: - Remove old versions. - - 24 Jul 2012; Zac Medico portage-9999.ebuild: - Remove /etc/make.globals symlink code (bug #427862). - - 24 Jul 2012; Michał Górny portage-9999.ebuild: - Apply user patches. - -*portage-2.2.0_alpha120 (18 Jul 2012) - - 18 Jul 2012; Zac Medico +portage-2.2.0_alpha120.ebuild, - -portage-2.2.0_alpha118.ebuild: - 2.2.0_alpha120 version bump. This includes all of the fixes in 2.1.11.9. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.9 (18 Jul 2012) - - 18 Jul 2012; Zac Medico +portage-2.1.11.9.ebuild, - -portage-2.1.11.7.ebuild: - 2.1.11.9 version bump. This fixes bug #402197 (allow wildcard atoms to match - *9999* ebuilds), bug #427068 (fix etc-update --automode -5 to not use mv -i), - and bug #427036 (emerge KeyError since portage-2.1.11 which is triggered by - --rebuild-if-new options). Bug #423075 tracks all bugs fixed since - portage-2.1.10.65. - -*portage-2.2.0_alpha119 (18 Jul 2012) - - 18 Jul 2012; Zac Medico +portage-2.2.0_alpha119.ebuild, - -portage-2.2.0_alpha117.ebuild: - 2.2.0_alpha119 version bump. This includes all of the fixes in 2.1.11.8. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.8 (18 Jul 2012) - - 18 Jul 2012; Zac Medico +portage-2.1.11.8.ebuild, - -portage-2.1.11.6.ebuild: - 2.1.11.8 version bump. This fixes bug #426476 (fix package moves to work - correctly with dots in package names for EAPI 4-python). Bug #423075 tracks - all bugs fixed since portage-2.1.10.65. - -*portage-2.2.0_alpha118 (14 Jul 2012) - - 14 Jul 2012; Zac Medico +portage-2.2.0_alpha118.ebuild, - -portage-2.2.0_alpha116.ebuild: - 2.2.0_alpha118 version bump. This includes all of the fixes in 2.1.11.7. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.7 (14 Jul 2012) - - 14 Jul 2012; Zac Medico +portage-2.1.11.7.ebuild, - -portage-2.1.11.5.ebuild: - 2.1.11.7 version bump. This fixes slotmove to work correctly for EAPI 4-slot- - abi packages (see bug #426476 for more information). Bug #423075 tracks all - bugs fixed since portage-2.1.10.65. - -*portage-2.2.0_alpha117 (12 Jul 2012) - - 12 Jul 2012; Zac Medico +portage-2.2.0_alpha117.ebuild: - 2.2.0_alpha117 version bump. This includes all of the fixes in 2.1.11.6. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.6 (12 Jul 2012) - - 12 Jul 2012; Zac Medico +portage-2.1.11.6.ebuild: - 2.1.11.6 version bump. This fixes bug #425046 (avoid doing whirlpool digest - checks when unaccelerated) and bug #425558 (add new emerge --complete-graph- - if-new-use option and enable by default). Bug #423075 tracks all bugs fixed - since portage-2.1.10.65. - - 06 Jul 2012; Zac Medico portage-2.1.10.65.ebuild, - portage-2.1.11.5.ebuild, portage-2.2.0_alpha110.ebuild, - portage-2.2.0_alpha116.ebuild, portage-9999.ebuild: - Require python[ssl] or python-mhash for whirlpool (bug #425046). - - 06 Jul 2012; Zac Medico -portage-2.1.11.4.ebuild, - -portage-2.2.0_alpha115.ebuild: - Remove old versions. - -*portage-2.2.0_alpha116 (05 Jul 2012) - - 05 Jul 2012; Zac Medico +portage-2.2.0_alpha116.ebuild, - -portage-2.1.11.3.ebuild, -portage-2.2.0_alpha114.ebuild: - 2.2.0_alpha116 version bump. This includes all of the fixes in 2.1.11.5. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.5 (05 Jul 2012) - - 05 Jul 2012; Zac Medico +portage-2.1.11.5.ebuild: - 2.1.11.5 version bump. This fixes bug #424651 (when necessary for downgrades, - trigger rebuilds to solve EAPI 4-slot-abi deps). Bug #423075 tracks all bugs - fixed since portage-2.1.10.65. - -*portage-2.2.0_alpha115 (02 Jul 2012) - - 02 Jul 2012; Zac Medico +portage-2.2.0_alpha115.ebuild: - 2.2.0_alpha115 version bump. This includes all of the fixes in 2.1.11.4. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.4 (02 Jul 2012) - - 02 Jul 2012; Zac Medico +portage-2.1.11.4.ebuild: - 2.1.11.4 version bump. This fixes abug #156282 (support FEATURES=unmerge- - backup), bug #424275 (support FEATURES=downgrade-backup), bug #424259 (don't - use SIGUSR1 under Jython), and bug #424489 (fix incorrect evaluation of EAPI 4 - -slot-abi deps that have USE conditionals). Bug #423075 tracks all bugs fixed - since portage-2.1.10.65. - - 01 Jul 2012; Zac Medico -portage-2.1.10.49.ebuild, - -portage-2.2.0_alpha89.ebuild: - Remove old versions. - - 01 Jul 2012; Raúl Porcel portage-2.1.10.65.ebuild: - alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #422721 - - 29 Jun 2012; Brent Baude portage-2.1.10.65.ebuild: - Marking portage-2.1.10.65 ppc for bug 422721 - -*portage-2.2.0_alpha114 (27 Jun 2012) - - 27 Jun 2012; Zac Medico +portage-2.2.0_alpha114.ebuild, - -portage-2.2.0_alpha113.ebuild: - 2.2.0_alpha114 version bump. This includes all of the fixes in 2.1.11.3. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.3 (27 Jun 2012) - - 27 Jun 2012; Zac Medico +portage-2.1.11.3.ebuild, - -portage-2.1.11.2.ebuild: - 2.1.11.3 version bump. This fixes a TypeError exception that's triggered by a - slot conflict involving EAPI 4-slot-abi sub-slot dependencies, and fixes a - backtracking bug which caused the backtracker to ignore relevant solutions in - some cases. Bug #423075 tracks all bugs fixed since portage-2.1.10.65. - - 27 Jun 2012; Jeroen Roovers portage-2.1.10.65.ebuild: - Stable for HPPA (bug #422721). - -*portage-2.2.0_alpha113 (25 Jun 2012) - - 25 Jun 2012; Zac Medico +portage-2.2.0_alpha113.ebuild, - -portage-2.2.0_alpha112.ebuild: - 2.2.0_alpha113 version bump. This includes all of the fixes in 2.1.11.2. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.2 (25 Jun 2012) - - 25 Jun 2012; Zac Medico +portage-2.1.11.2.ebuild, - -portage-2.1.11.1.ebuild: - 2.1.11.2 version bump. This fixes bug #403895 (emerge --load-average sometimes - fails to schedule new builds when the load average drops) and also fixes a - NameError exception that's triggered when using EAPI 4-slot-abi. Bug #423075 - tracks all bugs fixed since portage-2.1.10.65. - -*portage-2.2.0_alpha112 (23 Jun 2012) - - 23 Jun 2012; Zac Medico +portage-2.2.0_alpha112.ebuild, - -portage-2.2.0_alpha111.ebuild: - 2.2.0_alpha112 version bump. This includes all of the fixes in 2.1.11.1. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11.1 (23 Jun 2012) - - 23 Jun 2012; Zac Medico +portage-2.1.11.1.ebuild, - -portage-2.1.11.ebuild: - 2.1.11 version bump. This fixes bug #423127 (regression in 2.1.11 and - 2.2.0_alpha111 which triggers annoying eerror messages about preserved /lib - and /usr/lib symlinks). Bug #423075 tracks all bugs fixed since - portage-2.1.10.65. - - 23 Jun 2012; Zac Medico portage-9999.ebuild: - Merge diff from 2.2.0_alpha111 ebuild. - -*portage-2.2.0_alpha111 (23 Jun 2012) - - 23 Jun 2012; Zac Medico +portage-2.2.0_alpha111.ebuild: - 2.2.0_alpha111 version bump. This includes all of the fixes in 2.1.11. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.11 (23 Jun 2012) - - 23 Jun 2012; Zac Medico +portage-2.1.11.ebuild: - 2.1.11 version bump. This fixes bug #384061 (user-defined package sets in - /etc/portage/sets), bug #419717 (make repoman skip signing of non-existent - Manifest when appropriate), bug #420735 (make repoman update Manifest - immediately after the ChangeLog is written with --ask), bug #420847 (make - autounmask handle license unmask without unnecessary keyword unmasking), bug - #421165 (unmerge orphan symlinks when CONTENTS lists directory instead), and - bug #421659 (add UNINSTALL_IGNORE variable to protect paths from being - unmerged). User-defined package sets can now be created by placing files in - the /etc/portage/sets/ directory. Refer to the emerge(1) and portage(5) man - pages for more information. There is experimental support for EAPI "4-slot- - abi". Refer to the corresponding html documentation that is installed with - USE=doc, and also to the emerge(1) man page for information about the related - --ignore-built-slot-abi-deps and --rebuild-if-new-slot-abi options. Bug - #423075 tracks all bugs fixed since portage-2.1.10.65. - - 22 Jun 2012; Jeff Horelick portage-2.1.10.65.ebuild: - marked x86 per bug 422721 - - 22 Jun 2012; Brent Baude portage-2.1.10.65.ebuild: - Marking portage-2.1.10.65 ppc64 for bug 422721 - - 22 Jun 2012; Agostino Sarubbo portage-2.1.10.65.ebuild: - Stable for amd64, wrt bug #422721 - - 13 Jun 2012; Zac Medico metadata.xml, - portage-2.1.10.49.ebuild, portage-2.1.10.65.ebuild, - portage-2.2.0_alpha110.ebuild, portage-2.2.0_alpha89.ebuild, - portage-9999.ebuild: - Replace USE=pypy1_8 with pypy1_9. - - 06 Jun 2012; Zac Medico -portage-2.1.10.64.ebuild, - -portage-2.2.0_alpha109.ebuild: - Remove old versions. - -*portage-2.2.0_alpha110 (04 Jun 2012) - - 04 Jun 2012; Zac Medico +portage-2.2.0_alpha110.ebuild, - -portage-2.2.0_alpha108.ebuild: - 2.2.0_alpha110 version bump. This includes all of the fixes in 2.1.10.65. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - - 04 Jun 2012; Zac Medico portage-9999.ebuild: - Support bash <4.1 again. - -*portage-2.1.10.65 (04 Jun 2012) - - 04 Jun 2012; Zac Medico +portage-2.1.10.65.ebuild, - -portage-2.1.10.63.ebuild: - 2.1.10.65 version bump. This fixes an AttributeError exception triggered by - repoman --without-mask (regression in 2.1.10.64 and 2.2.0_alpha109), and adds - backward compatiblity for bash <4.1. Bug #409383 tracks all bugs fixed since - portage-2.1.10.49. - - 02 Jun 2012; Zac Medico portage-2.1.10.63.ebuild, - portage-2.1.10.64.ebuild, portage-2.2.0_alpha108.ebuild, - portage-2.2.0_alpha109.ebuild, portage-9999.ebuild: - Require bash 4.1 for exec {mj_control_fd}<>${mj_control_pipe}. - -*portage-2.2.0_alpha109 (02 Jun 2012) - - 02 Jun 2012; Zac Medico +portage-2.2.0_alpha109.ebuild: - 2.2.0_alpha109 version bump. This includes all of the fixes in 2.1.10.64. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.64 (02 Jun 2012) - - 02 Jun 2012; Zac Medico +portage-2.1.10.64.ebuild: - 2.1.10.64 version bump. This fixes bug #418309 (regression since 2.1.10.59 and - 2.2.0_alpha104 which triggers intermittent ecompressdir failures). Bug #409383 - tracks all bugs fixed since portage-2.1.10.49. - - 25 May 2012; Zac Medico -portage-2.1.10.62.ebuild, - -portage-2.2.0_alpha107.ebuild: - Remove old versions. - -*portage-2.2.0_alpha108 (24 May 2012) - - 24 May 2012; Zac Medico +portage-2.2.0_alpha108.ebuild: - 2.2.0_alpha108 version bump. This includes all of the fixes in 2.1.10.63. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.63 (24 May 2012) - - 24 May 2012; Zac Medico +portage-2.1.10.63.ebuild: - 2.1.10.63 version bump. This fixes bug #416431 (absolute symlink adjustment - for $D results in broken symlinks) and bug #417253 (KeyError triggered by - corrupt metadata cache entries). Bug #409383 tracks all bugs fixed since - portage-2.1.10.49. - -*portage-2.1.6.7_p1 (22 May 2012) - - 22 May 2012; Zac Medico +portage-2.1.6.7_p1.ebuild, - -portage-2.1.6.13.ebuild, -portage-2.1.6.7.ebuild: - 2.1.6.7_p1 *stable* version bump, in order to provide a smoother upgrade path - for older systems. This only fixes incompatibilites with newer python (bug - #330937) and bash (bug #297933). Also, remove old stable versions that have - broken upgrade paths. - - 21 May 2012; Zac Medico portage-2.1.10.49.ebuild, - portage-2.1.6.13.ebuild, portage-2.1.6.7.ebuild, portage-2.2.0_alpha89.ebuild: - Tweak to avoid false-positive for repoman portage.internal check wrt env- - update. - - 18 May 2012; Zac Medico -portage-2.1.10.60.ebuild, - -portage-2.2.0_alpha105.ebuild: - Remove old versions. - -*portage-2.2.0_alpha107 (17 May 2012) - - 17 May 2012; Zac Medico +portage-2.2.0_alpha107.ebuild, - -portage-2.2.0_alpha106.ebuild: - 2.2.0_alpha107 version bump. This includes all of the fixes in 2.1.10.62. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.62 (17 May 2012) - - 17 May 2012; Zac Medico +portage-2.1.10.62.ebuild, - -portage-2.1.10.61.ebuild: - 2.1.10.62 version bump. This fixes a traceback triggered by empty variable - settings without quotes in make.conf (regression in 2.1.10.61 and - 2.2.0_alpha106).= Bug #409383 tracks all bugs fixed since portage-2.1.10.49. - -*portage-2.2.0_alpha106 (16 May 2012) - - 16 May 2012; Zac Medico +portage-2.2.0_alpha106.ebuild, - -portage-2.2.0_alpha104.ebuild: - 2.2.0_alpha106 version bump. This includes all of the fixes in 2.1.10.61. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.61 (16 May 2012) - - 16 May 2012; Zac Medico +portage-2.1.10.61.ebuild, - -portage-2.1.10.59.ebuild: - 2.1.10.61 version bump. This fixes bug #416231 (unhandled Permission denied - error triggered by invalid EAPI assignment). FEATURES=config-protect-if- - modified is now enabled by default. This causes the CONFIG_PROTECT behavior to - be skipped for files that have not been modified since they were installed. - Bug #409383 tracks all bugs fixed since portage-2.1.10.49. - -*portage-2.2.0_alpha105 (15 May 2012) - - 15 May 2012; Zac Medico +portage-2.2.0_alpha105.ebuild, - -portage-2.2.0_alpha103.ebuild: - 2.2.0_alpha105 version bump. This includes all of the fixes in 2.1.10.60. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.60 (15 May 2012) - - 15 May 2012; Zac Medico +portage-2.1.10.60.ebuild, - -portage-2.1.10.58.ebuild: - 2.1.10.60 version bump. This fixes bug #406867 (display merge list on stdout, - despite autounmask) and bug #415579 (regression in 2.1.10.59 and - 2.2.0_alpha104 for ftp binhost). Bug #409383 tracks all bugs fixed since - portage-2.1.10.49. - -*portage-2.2.0_alpha104 (12 May 2012) - - 12 May 2012; Zac Medico +portage-2.2.0_alpha104.ebuild, - -portage-2.2.0_alpha101.ebuild, -portage-2.2.0_alpha102.ebuild: - 2.2.0_alpha104 version bump. This includes all of the fixes in 2.1.10.59. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.59 (12 May 2012) - - 12 May 2012; Zac Medico +portage-2.1.10.59.ebuild, - -portage-2.1.10.57.ebuild: - 2.1.10.59 version bump. This fixes Sabayon bug #3305 (signal module raises - ValueError since Entropy uses threads), and also include enhanced robustness - in handling of metadata for unsupported EAPIs. Bug #409383 tracks all bugs - fixed since portage-2.1.10.49. - -*portage-2.2.0_alpha103 (09 May 2012) - - 09 May 2012; Zac Medico +portage-2.2.0_alpha103.ebuild: - 2.2.0_alpha103 version bump. This includes all of the fixes in 2.1.10.58. Bug - #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.58 (09 May 2012) - - 09 May 2012; Zac Medico +portage-2.1.10.58.ebuild: - 2.1.10.58 version bump. This fixes bug #402167 (enable FEATURES=parse-eapi- - ebuild-head by default), bug #410691 (handle *.py[co] file collisions), bug - #413895 (source per-package bashrc later), bug #413983 (fix binhost + http - passwd for python3), bug #414123 (enable repoman LIVEVCS check for gentoo - only), bug #414125 (handle KDE service menus in repoman desktop.invalid - check), bug #414201 (make die message quote = for zsh), and bug #415125 (fix - unsatisfied REQUIRED_USE display for packages unmasked by autounmask). Bug - #409383 tracks all bugs fixed since portage-2.1.10.49. - -*portage-2.2.0_alpha102 (08 May 2012) - - 08 May 2012; Zac Medico +portage-2.2.0_alpha102.ebuild: - 2.2.0_alpha102 version bump. This fixes bug #410691 (handle *.py[co] file - collisions), bug #413895 (source per-package bashrc later), bug #413983 (fix - binhost + http passwd for python3), bug #414123 (enable repoman LIVEVCS check - for gentoo only), bug #414125 (handle KDE service menus in repoman - desktop.invalid check), and bug #414201 (make die message quote = for zsh). - Bug #210077 tracks all bugs fixed since portage-2.1.x. - - 26 Apr 2012; Alexis Ballier - portage-2.2.0_alpha101.ebuild: - keyword ~amd64-fbsd - - 25 Apr 2012; Zac Medico -portage-2.1.10.56.ebuild, - -portage-2.2.0_alpha100.ebuild: - Remove old versions. - -*portage-2.2.0_alpha101 (22 Apr 2012) - - 22 Apr 2012; Zac Medico +portage-2.2.0_alpha101.ebuild: - 2.2.0_alpha101 version bump. This includes all of the fixes in - portage-2.1.10.57. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.57 (22 Apr 2012) - - 22 Apr 2012; Zac Medico +portage-2.1.10.57.ebuild: - 2.1.10.57 version bump. This fixes bug #411835 (use example.com in docs), bug - #411897 (fix TypeError in perform_all checksum function), bug #412161 (avoid - redundant news display), bug #412391 (emerge --depclean bails out due to - invalid internal caching), bug #412453 (cleanup hardlink code), bug #412845 - (show config updates after preserve-libs messages), and bug #412865 (add - $T/build.log symlink to PORT_LOGDIR), Bug #409383 tracks all bugs fixed since - portage-2.1.10.49. - - 07 Apr 2012; Zac Medico -portage-2.1.10.55.ebuild, - -portage-2.2.0_alpha99.ebuild: - Remove old versions. - -*portage-2.2.0_alpha100 (05 Apr 2012) - - 05 Apr 2012; Zac Medico +portage-2.2.0_alpha100.ebuild: - 2.2.0_alpha100 version bump. This includes all of the fixes in - portage-2.1.10.56. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.56 (05 Apr 2012) - - 05 Apr 2012; Zac Medico +portage-2.1.10.56.ebuild: - 2.1.10.56 version bump. This fixes bug #386901 (emerge progress counter for - --unmerge), bug #410687 (selinux sandbox violation for - /sys/fs/selinux/context), and bug #410801 (emerge hang after merge list - display triggered by slot conflict). Bug #409383 tracks all bugs fixed since - portage-2.1.10.49. - - 04 Apr 2012; Zac Medico -portage-2.1.10.44.ebuild, - -portage-2.1.10.52.ebuild, -portage-2.2.0_alpha96.ebuild: - Remove old versions. - -*portage-2.2.0_alpha99 (03 Apr 2012) - - 03 Apr 2012; Zac Medico +portage-2.2.0_alpha99.ebuild, - -portage-2.2.0_alpha98.ebuild: - 2.2.0_alpha99 version bump. This includes all of the fixes in - portage-2.1.10.55. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.55 (03 Apr 2012) - - 03 Apr 2012; Zac Medico +portage-2.1.10.55.ebuild, - -portage-2.1.10.54.ebuild: - 2.1.10.55 version bump. This fixes bug #410625 (erroneous 'bad substitution' - errors for profile.env). Bug #409383 tracks all bugs fixed since - portage-2.1.10.49. - -*portage-2.2.0_alpha98 (01 Apr 2012) - - 01 Apr 2012; Zac Medico +portage-2.2.0_alpha98.ebuild, - -portage-2.2.0_alpha97.ebuild: - 2.2.0_alpha98 version bump. This includes all of the fixes in - portage-2.1.10.54. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.54 (01 Apr 2012) - - 01 Apr 2012; Zac Medico +portage-2.1.10.54.ebuild, - -portage-2.1.10.53.ebuild: - 2.1.10.54 version bump. This fixes bug #410417 (dispatch-conf TypeError - regression with python3 in portage-2.1.10.53). Bug #409383 tracks all bugs - fixed since portage-2.1.10.49. - - 01 Apr 2012; Raúl Porcel portage-2.1.10.49.ebuild: - alpha/ia64/m68k/s390/sh/sparc stable wrt #408391 - -*portage-2.2.0_alpha97 (01 Apr 2012) - - 01 Apr 2012; Zac Medico +portage-2.2.0_alpha97.ebuild: - 2.2.0_alpha97 version bump. This includes all of the fixes in - portage-2.1.10.53. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.53 (01 Apr 2012) - - 01 Apr 2012; Zac Medico +portage-2.1.10.53.ebuild: - 2.1.10.53 version bump. This fixes bug #409627 (document bashrc caveats for - variables like FEATURES and INSTALL_MASK) and bug #410315 (dispatch-conf - TypeError regression since portage-2.1.10.50). Bug #409383 tracks all bugs - fixed since portage-2.1.10.49. - - 30 Mar 2012; Zac Medico -portage-2.1.10.51.ebuild, - -portage-2.2.0_alpha95.ebuild: - Remove old versions. - -*portage-2.2.0_alpha96 (28 Mar 2012) - - 28 Mar 2012; Zac Medico +portage-2.2.0_alpha96.ebuild, - -portage-2.2.0_alpha93.ebuild: - 2.2.0_alpha96 version bump. This includes all of the fixes in - portage-2.1.10.52. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.52 (28 Mar 2012) - - 28 Mar 2012; Zac Medico +portage-2.1.10.52.ebuild: - 2.1.10.52 version bump. This fixes bug #374335 (Bad file descriptor errors - triggered by mod_jabber elog module), bug #398843 (suggest dispatch-conf - instead of etc-update), bug #409647 (exit status 130 for --ask 'n' answer), - bug #409835 (localize 'update portage' message), bug #409839 (fix grabdict - docstring), and bug #409849 (fix etc-update to work with emacs diff_command). - Bug #409383 tracks all bugs fixed since portage-2.1.10.49. - - 25 Mar 2012; Markus Meier portage-2.1.10.49.ebuild: - arm stable, bug #408391 - - 23 Mar 2012; Zac Medico portage-9999.ebuild: - Add die for dodoc failure. - -*portage-2.2.0_alpha95 (23 Mar 2012) - - 23 Mar 2012; Zac Medico +portage-2.2.0_alpha95.ebuild, - -portage-2.2.0_alpha94.ebuild: - 2.2.0_alpha95 version bump. This includes all of the fixes in - portage-2.1.10.51. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.51 (23 Mar 2012) - - 23 Mar 2012; Zac Medico +portage-2.1.10.51.ebuild, - -portage-2.1.10.50.ebuild: - 2.1.10.51 version bump. This fixes bug #382407 (disable repoman - dependency.unknown warnings for blocker atoms), bug #402323 (clarify copy - error message for FEATURES=xattr), and bug #409359 (clarify error message for - collisions between symlinks and directories). Bug #409383 tracks all bugs - fixed since portage-2.1.10.49. - -*portage-2.2.0_alpha94 (23 Mar 2012) - - 23 Mar 2012; Zac Medico +portage-2.2.0_alpha94.ebuild: - 2.2.0_alpha94 version bump. This includes all of the fixes in - portage-2.1.10.50. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.50 (23 Mar 2012) - - 23 Mar 2012; Zac Medico +portage-2.1.10.50.ebuild: - 2.1.10.50 version bump. This fixes bug #335320 (add Makefile for portage to - install itself), bug #361759 (QA warning for files installed to - /etc/udev/rules.d), bug #373009 (make emerge --changelog show some more - entries), bug #388259 (show restricted fetch instructions immediately after - the merge list), bug #399863 (autounmask message shows wrong parent atom), bug - #402577 (repoman support for PORTAGE_CONFIGROOT), bug #406407 (internal - whirlpool digest incorrect for gsl-1.15.tar.gz), bug #406749 (QA Notice for - install of non UTF-8 file names), bug #406875 (repoman --digest option), bug - #406877 (make repoman ignore irrelevant temp files), bug #407449 (repoman - triggers erroneous QA Notice about illegally inherited eclass), bug #409085 - (map emerge --buildpkg=n map to FEATURES=-buildpkg), and bug #409179 (show - nested package.mask file names in masking messages). Bug #409383 tracks all - bugs fixed since portage-2.1.10.49. - - 22 Mar 2012; Jeff Horelick portage-2.1.10.49.ebuild: - marked x86 per bug 408391 - - 21 Mar 2012; Zac Medico -portage-2.2.0_alpha84.ebuild, - -portage-2.2.0_alpha90.ebuild: - Remove old versions. - -*portage-2.2.0_alpha93 (19 Mar 2012) - - 19 Mar 2012; Zac Medico +portage-2.2.0_alpha93.ebuild, - -portage-2.2.0_alpha92.ebuild: - 2.2.0_alpha93 version bump. This fixes a regression in 2.2.0_alpha91 which - triggers a KeyError exception when there's a package in the merge list with an - unsatisfied fetch restriction. Bug #210077 tracks all bugs fixed since - portage-2.1.x. - -*portage-2.2.0_alpha92 (18 Mar 2012) - - 18 Mar 2012; Zac Medico +portage-2.2.0_alpha92.ebuild, - -portage-2.2.0_alpha91.ebuild: - 2.2.0_alpha92 version bump. This fixes a regression in 2.2.0_alpha91 which - triggers a NameError exception when running dispatch-conf. Bug #210077 tracks - all bugs fixed since portage-2.1.x. - -*portage-2.2.0_alpha91 (18 Mar 2012) - - 18 Mar 2012; Zac Medico +portage-2.2.0_alpha91.ebuild: - 2.2.0_alpha91 version bump. This fixes bug #335320 (add Makefile for portage - to install itself), bug #388259 (show restricted fetch instructions - immediately after the merge list), bug #406407 (internal whirlpool digest - incorrect for gsl-1.15.tar.gz), bug #406749 (QA Notice for install of non - UTF-8 file names), bug #406875 (repoman --digest option), bug #406877 (make - repoman ignore irrelevant temp files), and bug #407449 (repoman triggers - erroneous QA Notice about illegally inherited eclass). Bug #210077 tracks all - bugs fixed since portage-2.1.x. - - 17 Mar 2012; Tony Vroon portage-2.1.10.49.ebuild: - Marked stable on AMD64 based on arch testing by Elijah "Armageddon" El - Lazkani & Michael "n0idx80" Harrison in bug #408391. - - 17 Mar 2012; Zac Medico portage-9999.ebuild: - Call the new Makefile for src_compile and src_install. - - 16 Mar 2012; Brent Baude portage-2.1.10.49.ebuild: - Marking portage-2.1.10.49 ppc for bug 408391 - - 16 Mar 2012; Brent Baude portage-2.1.10.49.ebuild: - Marking portage-2.1.10.49 ppc64 for bug 408391 - - 16 Mar 2012; Jeroen Roovers portage-2.1.10.49.ebuild: - Stable for HPPA (bug #408391). - -*portage-2.2.0_alpha90 (05 Mar 2012) - - 05 Mar 2012; Zac Medico +portage-2.2.0_alpha90.ebuild: - 2.2.0_alpha90 version bump. This fixes bug #399863 (autounmask message shows - wrong parent atom) and bug #406837 (erroneously preserved libGLU.so.1 after - mesa update) Bug #210077 tracks all bugs fixed since portage-2.1.x. - - 01 Mar 2012; Zac Medico -portage-2.1.10.48.ebuild, - -portage-2.2.0_alpha88.ebuild: - Remove old versions. - -*portage-2.2.0_alpha89 (23 Feb 2012) - - 23 Feb 2012; Zac Medico +portage-2.2.0_alpha89.ebuild: - 2.2.0_alpha89 version bump. This includes all of the fixes in - portage-2.1.10.49. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.49 (23 Feb 2012) - - 23 Feb 2012; Zac Medico +portage-2.1.10.49.ebuild: - 2.1.10.49 version bump. This fixes bug #384397 (remove orphan symlinks to - directories) and bug #405327 (erroneous rename of absolute symlink to - symlink.bz2). Bug #402213 tracks all bugs fixed since portage-2.1.10.44. - - 23 Feb 2012; Zac Medico -portage-2.1.10.41.ebuild, - -portage-2.1.10.46.ebuild, -portage-2.2.0_alpha86.ebuild: - Remove old versions. - - 21 Feb 2012; Zac Medico portage-2.1.10.46.ebuild, - portage-2.1.10.48.ebuild: - Bug #402215: Re-add ~alpha, ~m68k, ~mips, and ~s390 keywords, since the - corresponding arch profiles now have USE=xattr masked for sys-apps/portage, - pending ~arch keywords for dev-python/pyxattr. - - 20 Feb 2012; Zac Medico portage-2.2.0_alpha88.ebuild: - Fix SRC_URI. - -*portage-2.2.0_alpha88 (20 Feb 2012) - - 20 Feb 2012; Zac Medico +portage-2.2.0_alpha88.ebuild, - -portage-2.2.0_alpha87.ebuild: - 2.2.0_alpha88 version bump. This includes all of the fixes in - portage-2.1.10.48. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.48 (20 Feb 2012) - - 20 Feb 2012; Zac Medico +portage-2.1.10.48.ebuild, - -portage-2.1.10.47.ebuild: - 2.1.10.48 version bump. This fixes bug #404995 (regression in 2.1.10.47 and - 2.2.0_alpha87 which causes an infinite loop in emerge when parallel-fetch is - running and it is supposed to exit due to a build failure). Bug #402213 tracks - all bugs fixed since portage-2.1.10.44. - - 18 Feb 2012; Zac Medico portage-2.1.10.41.ebuild, - portage-2.1.10.44.ebuild, portage-2.1.10.46.ebuild, portage-2.1.10.47.ebuild, - portage-2.2.0_alpha84.ebuild, portage-2.2.0_alpha86.ebuild, - portage-2.2.0_alpha87.ebuild, portage-9999.ebuild: - Remove special USE=build python dependencies, since they no longer function - correctly as reported in bug #399331. - -*portage-2.2.0_alpha87 (18 Feb 2012) - - 18 Feb 2012; Zac Medico +portage-2.2.0_alpha87.ebuild, - -portage-2.2.0_alpha85.ebuild: - 2.2.0_alpha87 version bump. This includes all of the fixes in - portage-2.1.10.47. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.47 (18 Feb 2012) - - 18 Feb 2012; Zac Medico +portage-2.1.10.47.ebuild, - -portage-2.1.10.45.ebuild: - 2.1.10.47 version bump. This fixes bug #402339 (repoman check for env-update - calls) and bug #403705 (repoman copyright header check not working). It also - has PyPy support which can by enabled with USE=pypy1_8 (puts pypy-c1.8 in - portage shebangs). Bug #402213 tracks all bugs fixed since portage-2.1.10.44. - - 14 Feb 2012; Zac Medico portage-9999.ebuild: - Require pypy[bzip2], for quickpkg. - - 14 Feb 2012; Zac Medico metadata.xml, - portage-9999.ebuild: - Add support for USE=pypy1_8. - -*portage-2.2.0_alpha86 (12 Feb 2012) - - 12 Feb 2012; Zac Medico +portage-2.2.0_alpha86.ebuild: - 2.2.0_alpha86 version bump. This includes all of the fixes in - portage-2.1.10.46. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.46 (12 Feb 2012) - - 12 Feb 2012; Zac Medico +portage-2.1.10.46.ebuild: - 2.1.10.46 version bump. This fixes bug #398009 (disable repoman ChangeLog - creation for Manifest-only commits, unless --echangelog=force), bug #401919 - (handle POLLHUP race condition that triggers high emerge cpu usage), bug - #402335 (fix emerge to avoid hitting recursion limit in rare cases), bug - #403149 (validate file names in the xpak segments of binary packages), and bug - #403181 (FEATURES=no{doc,info,man} breakage in portage-2.1.10.45 and - 2.2.0_alpha85). Bug #402213 tracks all bugs fixed since portage-2.1.10.44. - - 05 Feb 2012; Zac Medico portage-2.1.10.45.ebuild, - portage-2.2.0_alpha85.ebuild, portage-9999.ebuild: - Add preinst ewarn message for USE=xattr if pyxattr is not installed. - - 04 Feb 2012; Zac Medico -portage-2.1.10.11.ebuild, - -portage-2.2.0_alpha81.ebuild: - Remove old versions. - -*portage-2.2.0_alpha85 (04 Feb 2012) - - 04 Feb 2012; Zac Medico +portage-2.2.0_alpha85.ebuild: - 2.2.0_alpha85 version bump. This includes all of the fixes in - portage-2.1.10.45. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.45 (04 Feb 2012) - - 04 Feb 2012; Zac Medico +portage-2.1.10.45.ebuild: - 2.1.10.45 version bump. This fixes bug #269410 (add --human-readable to rsync - opts), bug #333687 (repoman support for git commit --gpg-sign), bug #397415 - (fix REQUIRED_USE sample in ebuild.5), bug #398543 (add ./ to quickpkg file - names), bug #398587 (handle unicode in overlay path), bug #399595 (erroneous - rename of html dir symlink to html.bz2), bug #402099 (honor repos.conf - priority settings), and bug #400679 (handle rm failure for info dir files). - Bug #402213 tracks all bugs fixed since portage-2.1.10.44. - - 02 Feb 2012; Samuli Suominen portage-2.1.10.44.ebuild: - ppc64 stable wrt #400559 - - 01 Feb 2012; Brent Baude portage-2.1.10.44.ebuild: - Marking portage-2.1.10.44 ppc for bug 400559 - - 31 Jan 2012; Jeroen Roovers portage-2.1.10.44.ebuild: - Stable for HPPA (bug #400559). - - 28 Jan 2012; Raúl Porcel portage-2.1.10.44.ebuild: - alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #400559 - - 28 Jan 2012; Pawel Hajdan jr - portage-2.1.10.44.ebuild: - x86 stable wrt bug #400559 - - 26 Jan 2012; Agostino Sarubbo portage-2.1.10.44.ebuild: - Stable for AMD64, wrt bug #400559 - - 15 Jan 2012; Raúl Porcel portage-2.1.10.41.ebuild: - sh stable - - 04 Jan 2012; Brent Baude portage-2.1.10.41.ebuild: - Marking portage-2.1.10.41 ppc for bug 394695 - - 01 Jan 2012; Raúl Porcel portage-2.1.10.41.ebuild: - ia64/m68k/s390/sh/sparc stable wrt #394695 - - 29 Dec 2011; Zac Medico -portage-2.1.10.43.ebuild, - -portage-2.2.0_alpha83.ebuild: - Remove old versions. - -*portage-2.2.0_alpha84 (28 Dec 2011) - - 28 Dec 2011; Zac Medico +portage-2.2.0_alpha84.ebuild: - 2.2.0_alpha84 version bump. This includes all of the fixes in - portage-2.1.10.44. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.44 (28 Dec 2011) - - 28 Dec 2011; Zac Medico +portage-2.1.10.44.ebuild: - 2.1.10.44 version bump. This fixes bug #395995 (later repoman --ask prompt) - and also fixes a regression since portage-2.1.10.42 and 2.2.0_alpha82 which - caused layout.conf settings to be ignored for repositories that had settings - in repos.conf. Bug #395831 tracks all bugs fixed since portage-2.1.10.41. - -*portage-2.2.0_alpha83 (24 Dec 2011) - - 24 Dec 2011; Zac Medico +portage-2.2.0_alpha83.ebuild, - -portage-2.2.0_alpha82.ebuild: - 2.2.0_alpha83 version bump. This includes all of the fixes in - portage-2.1.10.43. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.43 (24 Dec 2011) - - 24 Dec 2011; Zac Medico +portage-2.1.10.43.ebuild, - -portage-2.1.10.42.ebuild: - 2.1.10.43 version bump. This fixes bug #395877 (false positive results in - CFLAGS ignorance check) and bug #395879 (emerge AttributeError triggered by - ambiguous atom argument, a regression in portage-2.1.10.42 and 2.2.0_alpha82). - Also included is a new config-protect-if-modified FEATURES setting (see the - make.conf man page). Bug #395831 tracks all bugs fixed since - portage-2.1.10.41. - -*portage-2.2.0_alpha82 (23 Dec 2011) - - 23 Dec 2011; Zac Medico +portage-2.2.0_alpha82.ebuild: - 2.2.0_alpha82 version bump. This includes all of the fixes in - portage-2.1.10.42. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.42 (23 Dec 2011) - - 23 Dec 2011; Zac Medico +portage-2.1.10.42.ebuild: - 2.1.10.42 version bump. This fixes bug #390489 (export COLUMNS variable so - java-utils-2.eclass doesn't die in java-pkg_init when stdin is not a tty), bug - #394091 (export valid COLUMNS variable so perl doesn't die when output is - redirected), bug #394995 (InvalidDependString triggered by REQUIRED_USE - containing a flag not in IUSE), and bug #395705 (OSError: [Errno 121] Remote - I/O error when PORTAGE_RO_DISTDIRS refers to NFS). Bug #395831 tracks all bugs - fixed since portage-2.1.10.41. - - 23 Dec 2011; Zac Medico -portage-2.1.9.42.ebuild, - -portage-2.2.0_alpha51.ebuild: - Remove old versions. - - 22 Dec 2011; Matt Turner portage-2.1.10.41.ebuild: - alpha stable, bug #394695. - - 22 Dec 2011; Zac Medico portage-9999.ebuild: - Adjust make.globals PORTDIR and PORTAGE_TMPDIR for prefix installs. - - 21 Dec 2011; Markus Meier portage-2.1.10.41.ebuild: - arm stable, bug #394695 - - 19 Dec 2011; Jeroen Roovers portage-2.1.10.41.ebuild: - Stable for HPPA (bug #394695). - - 18 Dec 2011; Agostino Sarubbo portage-2.1.10.41.ebuild: - Stable for X86/AMD64, wrt bug #394695 - - 18 Dec 2011; Zac Medico -portage-2.1.10.40.ebuild, - -portage-2.2.0_alpha80.ebuild: - Remove old versions. - - 14 Dec 2011; Zac Medico portage-2.1.10.41.ebuild: - Remove obsolete elog message about --quiet-build. - -*portage-2.2.0_alpha81 (14 Dec 2011) - - 14 Dec 2011; Zac Medico +portage-2.2.0_alpha81.ebuild, - -portage-2.2.0_alpha79.ebuild: - 2.2.0_alpha81 version bump. This includes all of the fixes in - portage-2.1.10.41. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.41 (14 Dec 2011) - - 14 Dec 2011; Zac Medico +portage-2.1.10.41.ebuild, - -portage-2.1.10.39.ebuild: - 2.1.10.41 version bump. This fixes bug #390523 (revert emerge --quiet-build - default, as Gentoo's council has decided) and bug #394195 (use hardlinks to - simulate locks on filesystems that don't support real locks). Bug #381649 - tracks all bugs fixed since portage-2.1.10.11. - - 11 Dec 2011; Zac Medico portage-2.2.0_alpha80.ebuild, - portage-9999.ebuild: - For prefix installs, add EPREFIX to *_BINARY constants. - -*portage-2.2.0_alpha80 (11 Dec 2011) - - 11 Dec 2011; Zac Medico +portage-2.2.0_alpha80.ebuild: - 2.2.0_alpha80 version bump. This includes all of the fixes in - portage-2.1.10.40. There is also support for two additional features which - include FEATURES=xattr (preserve extended attributes when merging files) and - FEATURES=force-prefix (emulation of the "Gentoo Prefix" branch of portage). - Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.40 (11 Dec 2011) - - 11 Dec 2011; Zac Medico +portage-2.1.10.40.ebuild: - 2.1.10.40 version bump. This fixes bug #393517 (document the relationship - between emerge --package-moves and fixpackages) and bug #394091 (portage sets - COLUMNS=-1 when output is redirected). Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - - 10 Dec 2011; Zac Medico portage-9999.ebuild: - Add USE=xattr and corresponding deps. - - 09 Dec 2011; Zac Medico portage-9999.ebuild: - Adjust SYNC in make.globals for prefix installs. - - 09 Dec 2011; Zac Medico portage-9999.ebuild: - Enable FEATURES=force-prefix in make.globals for prefix installs. - - 08 Dec 2011; Zac Medico portage-9999.ebuild: - Add support for prefix installs. - - 29 Nov 2011; Zac Medico -portage-2.1.10.38.ebuild, - -portage-2.2.0_alpha78.ebuild: - Remove old versions. - -*portage-2.2.0_alpha79 (27 Nov 2011) - - 27 Nov 2011; Zac Medico +portage-2.2.0_alpha79.ebuild: - 2.2.0_alpha79 version bump. This includes all of the fixes in - portage-2.1.10.39. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.39 (27 Nov 2011) - - 27 Nov 2011; Zac Medico +portage-2.1.10.39.ebuild: - 2.1.10.39 version bump. This fixes bug #392059 (emerge KeyError triggered by - unsatisfied dependencies). Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - - 27 Nov 2011; Zac Medico -portage-2.1.10.37.ebuild, - -portage-2.2.0_alpha77.ebuild: - Remove old versions. - -*portage-2.2.0_alpha78 (26 Nov 2011) - - 26 Nov 2011; Zac Medico +portage-2.2.0_alpha78.ebuild: - 2.2.0_alpha78 version bump. This includes all of the fixes in - portage-2.1.10.38. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.38 (26 Nov 2011) - - 26 Nov 2011; Zac Medico +portage-2.1.10.38.ebuild: - 2.1.10.38 version bump. This fixes bug #390965 (one-character messages from - the elog syslog module) and also fixes a regression in make.defaults - inheritance of variables from make.globals (such as PORTAGE_ELOG_CLASSES). Bug - #381649 tracks all bugs fixed since portage-2.1.10.11. - - 24 Nov 2011; Zac Medico -portage-2.1.10.36.ebuild, - -portage-2.2.0_alpha76.ebuild: - Remove old versions. - -*portage-2.2.0_alpha77 (21 Nov 2011) - - 21 Nov 2011; Zac Medico +portage-2.2.0_alpha77.ebuild, - -portage-2.2.0_alpha74.ebuild, -portage-2.2.0_alpha75.ebuild: - 2.2.0_alpha77 version bump. This includes all of the fixes in - portage-2.1.10.37. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.37 (21 Nov 2011) - - 21 Nov 2011; Zac Medico +portage-2.1.10.37.ebuild, - -portage-2.1.10.34.ebuild, -portage-2.1.10.35.ebuild: - 2.1.10.37 version bump. This fixes bug #391199 (repoman "abiguous workdir" - error when using <=subversion-1.6). Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - -*portage-2.2.0_alpha76 (19 Nov 2011) - - 19 Nov 2011; Zac Medico +portage-2.2.0_alpha76.ebuild: - 2.2.0_alpha76 version bump. This includes all of the fixes in - portage-2.1.10.36. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.36 (19 Nov 2011) - - 19 Nov 2011; Zac Medico +portage-2.1.10.36.ebuild: - 2.1.10.36 version bump. This fixes bug #390833 (KeyError triggered by \r - characters in elog messages) and bug #390893 (emerge --changelog displays - entry for currently installed version). Bug #381649 tracks all bugs fixed - since portage-2.1.10.11. - -*portage-2.2.0_alpha75 (17 Nov 2011) - - 17 Nov 2011; Zac Medico +portage-2.2.0_alpha75.ebuild: - 2.2.0_alpha75 version bump. This includes all of the fixes in - portage-2.1.10.35. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.35 (17 Nov 2011) - - 17 Nov 2011; Zac Medico +portage-2.1.10.35.ebuild, - -portage-2.1.10.32.ebuild, -portage-2.2.0_alpha72.ebuild: - 2.1.10.35 version bump. This fixes bug #390711 (clean up previous build prior - to pkg_pretend) and bug #390699 (support HOSTNAME variable for emerge quiet - mode xterm titles). Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - - 12 Nov 2011; Zac Medico metadata.xml, - portage-2.1.10.11.ebuild, portage-2.1.10.32.ebuild, portage-2.1.10.34.ebuild, - portage-2.1.6.13.ebuild, portage-2.1.6.7.ebuild, portage-2.1.9.42.ebuild, - portage-2.2.0_alpha51.ebuild, portage-2.2.0_alpha72.ebuild, - portage-2.2.0_alpha74.ebuild, portage-9999.ebuild: - Use the metadata.xml upstream doc element to reference the 'Working with - Portage' section of the handbook, instead of calling einfo every time that - portage is installed. - - 12 Nov 2011; Zac Medico portage-2.2.0_alpha51.ebuild, - portage-2.2.0_alpha72.ebuild, portage-2.2.0_alpha74.ebuild, - portage-9999.ebuild: - Remove unconditional elog messages that suggest to use the 'latest development - version' of portage. There's no point in displaying this every time, - especially now that the portage-9999 ebuild is available. - -*portage-2.2.0_alpha74 (11 Nov 2011) - - 11 Nov 2011; Zac Medico +portage-2.2.0_alpha74.ebuild, - -portage-2.2.0_alpha73.ebuild: - 2.2.0_alpha74 version bump. This includes the --quiet-build change that's in - portage-2.1.10.34. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.34 (11 Nov 2011) - - 11 Nov 2011; Zac Medico +portage-2.1.10.34.ebuild, - -portage-2.1.10.33.ebuild: - 2.1.10.34 version bump. The emerge --quiet-build option is now enabled by - default. Set --quiet-build=n in EMERGE_DEFAULT_OPTS if you want to disable it - by default. See the emerge(1) man page for more information about this option. - Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - - 11 Nov 2011; Zac Medico portage-9999.ebuild: - Remove obsolete less dependency (bug #384663) and tweak style of - preinst/postinst boolean conditions. - - 10 Nov 2011; Zac Medico portage-2.1.6.13.ebuild, - portage-2.1.6.7.ebuild: - Reference bug #330937 for the python-2.6.6 blocker in old portage. This - blocker breaks the upgrade path from +portage-2.2.0_alpha73.ebuild: - 2.2.0_alpha73 version bump. This includes all of the fixes in - portage-2.1.10.33. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.33 (10 Nov 2011) - - 10 Nov 2011; Zac Medico +portage-2.1.10.33.ebuild: - 2.1.10.33 version bump. This fixes bug #389047 (docompress -x triggers lost - files when PORTAGE_COMPRESS is empty), bug #389609 (add emerge --moo action), - bug #389611 (emerge --changelog support for ChangeLog-YYYY), and bug #389617 - (respect --usepkgonly in package spelling suggestions). Bug #381649 tracks all - bugs fixed since portage-2.1.10.11. - - 10 Nov 2011; Zac Medico -portage-2.1.10.31.ebuild, - -portage-2.2.0_alpha71.ebuild: - Remove old versions. - - 02 Nov 2011; Zac Medico portage-9999.ebuild: - Bump to EAPI 3 and add prefix support. - -*portage-2.2.0_alpha72 (30 Oct 2011) - - 30 Oct 2011; Zac Medico +portage-2.2.0_alpha72.ebuild: - 2.2.0_alpha72 version bump. This includes all of the fixes in - portage-2.1.10.32. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.32 (30 Oct 2011) - - 30 Oct 2011; Zac Medico +portage-2.1.10.32.ebuild: - 2.1.10.32 version bump. This fixes bug #388031 (layout.conf profile-formats - setting), bug #388233 (emerge --check-news action), bug #388593 (run - pkg_pretend inside PORTAGE_TMPDIR), bug #388615 (optimize prelink-checksums - FEATURES setting), and bug #388773 (quickpkg unicode handling). This also - includes various fixes and improvements in metadata cache handling, including - layout.conf cache-formats support for md5-dict format which can now be - generated with egencache. Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - - 23 Oct 2011; Zac Medico -portage-2.2.0_alpha67.ebuild, - -portage-2.1.10.27.ebuild, -portage-2.1.10.29.ebuild, - -portage-2.2.0_alpha69.ebuild, -portage-2.2.0_alpha70.ebuild, - -portage-2.1.10.30.ebuild: - Remove old versions. - -*portage-2.2.0_alpha71 (23 Oct 2011) - - 23 Oct 2011; Zac Medico +portage-2.2.0_alpha71.ebuild: - 2.2.0_alpha71 version bump. This includes all of the fixes in - portage-2.1.10.31. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.31 (23 Oct 2011) - - 23 Oct 2011; Zac Medico +portage-2.1.10.31.ebuild: - 2.1.10.31 version bump. This fixes bug #388187 (InvalidAtom traceback - triggered by invalid atom in global updates after emerge --sync). Bug #381649 - tracks all bugs fixed since portage-2.1.10.11. - -*portage-2.2.0_alpha70 (21 Oct 2011) - - 21 Oct 2011; Zac Medico +portage-2.2.0_alpha70.ebuild: - 2.2.0_alpha70 version bump. This includes all of the fixes in - portage-2.1.10.30. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.30 (21 Oct 2011) - - 21 Oct 2011; Zac Medico +portage-2.1.10.30.ebuild: - 2.1.10.30 version bump. This adds support for repoman --echangelog=y to update - copyright dates in all changed files, and has support for a new - metadata/layout.conf "update-changelog" setting that enables repoman - --echangelog=y automatically (already enabled in the gentoo-x86). Bug #381649 - tracks all bugs fixed since portage-2.1.10.11. - - 19 Oct 2011; Zac Medico -portage-2.1.10.28.ebuild, - -portage-2.2.0_alpha68.ebuild: - Remove old versions. - -*portage-2.2.0_alpha69 (18 Oct 2011) - - 18 Oct 2011; Zac Medico +portage-2.2.0_alpha69.ebuild: - 2.2.0_alpha69 version bump. This includes all of the fixes in - portage-2.1.10.29. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.29 (18 Oct 2011) - - 18 Oct 2011; Zac Medico +portage-2.1.10.29.ebuild: - 2.1.10.29 version bump. This fixes regressions in 2.1.10.28 and 2.2.0_alpha68 - involving support for users who are not in the portage group. Bug #381649 - tracks all bugs fixed since portage-2.1.10.11. - -*portage-2.2.0_alpha68 (16 Oct 2011) - - 16 Oct 2011; Zac Medico +portage-2.2.0_alpha68.ebuild: - 2.2.0_alpha68 version bump. This includes all of the fixes in - portage-2.1.10.28. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.28 (16 Oct 2011) - - 16 Oct 2011; Zac Medico +portage-2.1.10.28.ebuild: - 2.1.10.28 version bump. This fixes bug #337853 (repoman --echangelog option, - enabled by default for the 'gentoo' repo as decided by gentoo's council), bug - #386871 (add note to RELEASE-NOTES indicating that FEATURES=fixpackages is - enabled unconditionally now, and can be temporarily avoided by setting - --package-moves=n in EMERGE_DEFAULT_OPTS), bug #387011 (document that emerge - --prune removes atoms from the world file), bug #387033 (quickpkg wildcard - atom support), and bug #387053 (new QA_SONAME_NO_SYMLINK variable). Bug - #381649 tracks all bugs fixed since portage-2.1.10.11. - - 14 Oct 2011; Zac Medico -portage-2.1.10.24.ebuild, - -portage-2.1.10.25.ebuild, -portage-2.1.10.26.ebuild, - -portage-2.2.0_alpha64.ebuild, -portage-2.2.0_alpha65.ebuild, - -portage-2.2.0_alpha66.ebuild: - Remove old versions. - -*portage-2.2.0_alpha67 (12 Oct 2011) - - 12 Oct 2011; Zac Medico +portage-2.2.0_alpha67.ebuild: - 2.2.0_alpha67 version bump. This includes all of the fixes in - portage-2.1.10.27. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.27 (12 Oct 2011) - - 12 Oct 2011; Zac Medico +portage-2.1.10.27.ebuild: - 2.1.10.27 version bump. This fixes bug #386771 (regression causing newlines - after every character in elog files), bug #386797 (fetch complains about - lack of space even if files are already fetched), bug #386829 (corrupt IUSE - in /var/db/pkg triggered by LANGS variable interacting with qt4-r2.eclass). - Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - -*portage-2.2.0_alpha66 (10 Oct 2011) - - 10 Oct 2011; Zac Medico +portage-2.2.0_alpha66.ebuild: - 2.2.0_alpha66 version bump. This includes all of the fixes in - portage-2.1.10.26. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.26 (10 Oct 2011) - - 10 Oct 2011; Zac Medico +portage-2.1.10.26.ebuild: - 2.1.10.26 version bump. This fixes bug #386627 (regression that causes - missing line breaks in elog files and mails), and also adds a new emerge - --dynamic-deps= option which can be used to force emerge to use the - dependencies of installed packages (instead of substituting dependencies - from unbuilt ebuilds). Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - -*portage-2.2.0_alpha65 (10 Oct 2011) - - 10 Oct 2011; Zac Medico +portage-2.2.0_alpha65.ebuild: - 2.2.0_alpha65 version bump. This includes all of the fixes in - portage-2.1.10.25. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.25 (10 Oct 2011) - - 10 Oct 2011; Zac Medico +portage-2.1.10.25.ebuild: - 2.1.10.25 version bump. This fixes bug #286201 (skip PORTAGE_TMPDIR write - check for fetchonly mode), bug #386379 (invalid warnings about ignored - binary packages), and bug #386569 (invalid warnings about Unmatched removal - atoms in package.mask). Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - - 10 Oct 2011; Zac Medico -portage-2.1.10.20.ebuild, - -portage-2.1.10.22.ebuild, -portage-2.2.0_alpha60.ebuild, - -portage-2.2.0_alpha62.ebuild: - Remove old versions. - -*portage-2.2.0_alpha64 (08 Oct 2011) - - 08 Oct 2011; Zac Medico -portage-2.2.0_alpha63.ebuild, - +portage-2.2.0_alpha64.ebuild: - 2.2.0_alpha64 version bump. This includes all of the fixes in - portage-2.1.10.24. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.24 (08 Oct 2011) - - 08 Oct 2011; Zac Medico -portage-2.1.10.23.ebuild, - +portage-2.1.10.24.ebuild: - 2.1.10.24 version bump. This fixes bug #386095 (set UTF-8 encoding in elog - mails with python2), and also has a repoman fix related to bug #385333 - (overlays should us negative package.mask atoms instead of package.unmask). - Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - -*portage-2.2.0_alpha63 (07 Oct 2011) - - 07 Oct 2011; Zac Medico +portage-2.2.0_alpha63.ebuild: - 2.2.0_alpha63 version bump. This includes all of the fixes in - portage-2.1.10.23. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.23 (07 Oct 2011) - - 07 Oct 2011; Zac Medico +portage-2.1.10.23.ebuild: - 2.1.10.23 version bump. This fixes bug #340475 (repoman unnecessarily - commits signed manifests separately), and also has repoman commit logic - tweak for thin-manifests. Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - -*portage-2.2.0_alpha62 (06 Oct 2011) - - 06 Oct 2011; Zac Medico -portage-2.2.0_alpha61.ebuild, - +portage-2.2.0_alpha62.ebuild: - 2.2.0_alpha62 version bump. This includes all of the fixes in - portage-2.1.10.22. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.22 (06 Oct 2011) - - 06 Oct 2011; Zac Medico -portage-2.1.10.21.ebuild, - +portage-2.1.10.22.ebuild: - 2.1.10.22 version bump. This fixes a regression in 2.1.10.21 and - 2.2.0_alpha61 which produced extra empty lines in elog messages. - Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - - 05 Oct 2011; Zac Medico -portage-2.1.10.3.ebuild, - -portage-2.1.10.19.ebuild, -portage-2.2.0_alpha59.ebuild: - Remove old versions. - -*portage-2.2.0_alpha61 (05 Oct 2011) - - 05 Oct 2011; Zac Medico +portage-2.2.0_alpha61.ebuild: - 2.2.0_alpha61 version bump. This includes all of the fixes in - portage-2.1.10.21. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.21 (05 Oct 2011) - - 05 Oct 2011; Zac Medico +portage-2.1.10.21.ebuild: - 2.1.10.21 version bump. This fixes bug #375265 (display relevant parent - in autounmask comments), bug #375613 (fix dispatch-conf replace-wscomments - pattern), bug #385133 (repos.conf trust-authoritative-cache settings), - bug #385341 (ValueError triggered by elog messages from gccxml), - bug #385391 (prefer slot conflict display over blocker display), and - bug #385413 (fix emerge --changelog to avoid unnecessary newline output - when there is nothing to display). Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - - 03 Oct 2011; Joseph Jezak portage-2.1.10.11.ebuild: - Marked ppc/ppc64 stable for bug #380677. - -*portage-2.2.0_alpha60 (29 Sep 2011) - - 29 Sep 2011; Zac Medico +portage-2.2.0_alpha60.ebuild: - 2.2.0_alpha60 version bump. This includes all of the fixes in - portage-2.1.10.20. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.20 (29 Sep 2011) - - 29 Sep 2011; Zac Medico +portage-2.1.10.20.ebuild: - 2.1.10.20 version bump. This fixes bug #297549 (enable --binpkg-respect-use - automatically, unless --usepkgonly is enabled), bug #372485 (new emerge - --autounmask-keep-masks option), bug #375573 (handle cases where - backtracking masks become irrelevant due to the parent package getting - masked by backtracking), bug #379333 (new emerge - --autounmask-unrestricted-atoms option), bug #383859 (remove stray print - statement in fetch checksum failure code), bug #384003 (new emerge - --complete-graph-if-new-ver option), bug #384063 (fix portageq - best-visible for multi-repo support), bug #384177 (trigger repoman error - for obsolete no-herd value), bug #384597 (handle \r in installed - file names), bug #384663 (PAGER variable support in etc-update and - dispatch-conf), bug #384665 (archive-conf ImportError), and bug #384749 - (UnicodeDecodeError triggered by invalid dependency string in depgraph). - Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - - 29 Sep 2011; Zac Medico -portage-2.1.10.18.ebuild, - -portage-2.2.0_alpha58.ebuild: - Remove old versions. - -*portage-2.2.0_alpha59 (19 Sep 2011) - - 19 Sep 2011; Zac Medico +portage-2.2.0_alpha59.ebuild: - 2.2.0_alpha59 version bump. This includes all of the fixes in - portage-2.1.10.19. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.19 (19 Sep 2011) - - 19 Sep 2011; Zac Medico +portage-2.1.10.19.ebuild: - 2.1.10.19 version bump. This fixes bug #374233 (change "poor programming - practices" QA message to say "severe warnings" instead), bug #375265 - (show relevant parent in autounmask dependency chain), bug #383269 - (fix quote handling for PORTDIR_OVERLAY), and bug #383375 (fix - emerge-webrsync to bail out if gpg is missing). Bug #381649 tracks all - bugs fixed since portage-2.1.10.11. - - 19 Sep 2011; Zac Medico -portage-2.1.10.15.ebuild, - -portage-2.1.10.17.ebuild, -portage-2.2.0_alpha55.ebuild, - -portage-2.2.0_alpha57.ebuild: - Remove old versions. - -*portage-2.2.0_alpha58 (15 Sep 2011) - - 15 Sep 2011; Zac Medico +portage-2.2.0_alpha58.ebuild: - 2.2.0_alpha58 version bump. This includes all of the fixes in - portage-2.1.10.18. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.18 (15 Sep 2011) - - 15 Sep 2011; Zac Medico +portage-2.1.10.18.ebuild: - 2.1.10.18 version bump. This fixes bug #382823 (depclean multislot - handling) and also has various fixes involving thin manifest support - (bug #333691). Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - -*portage-2.2.0_alpha57 (14 Sep 2011) - - 14 Sep 2011; Zac Medico +portage-2.2.0_alpha57.ebuild, - -portage-2.2.0_alpha56.ebuild: - 2.2.0_alpha57 version bump. This includes all of the fixes in - portage-2.1.10.17. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.17 (14 Sep 2011) - - 14 Sep 2011; Zac Medico +portage-2.1.10.17.ebuild, - -portage-2.1.10.16.ebuild: - 2.1.10.17 version bump. This fixes a repoman regression in 2.1.10.16 and - 2.2.0_alpha56 which triggers a KeyError if the repo is referenced via a - symlink. Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - -*portage-2.2.0_alpha56 (14 Sep 2011) - - 14 Sep 2011; Zac Medico +portage-2.2.0_alpha56.ebuild: - 2.2.0_alpha56 version bump. This includes all of the fixes in - portage-2.1.10.16. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.16 (14 Sep 2011) - - 14 Sep 2011; Zac Medico +portage-2.1.10.16.ebuild: - 2.1.10.16 version bump. This fixes bug #382557 (regression in 2.1.10.15 - and 2.2.0_alpha56 which triggered unwanted attempts to pull in new masked - virtual slots) and bug #333691 (thin manifest support). Bug #381649 tracks - all bugs fixed since portage-2.1.10.11. - - 14 Sep 2011; Zac Medico -portage-2.1.10.14.ebuild, - -portage-2.2.0_alpha54.ebuild: - Remove old versions. - -*portage-2.2.0_alpha55 (09 Sep 2011) - - 09 Sep 2011; Zac Medico +portage-2.2.0_alpha55.ebuild: - 2.2.0_alpha55 version bump. This includes all of the fixes in - portage-2.1.10.15. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.15 (09 Sep 2011) - - 09 Sep 2011; Zac Medico +portage-2.1.10.15.ebuild: - 2.1.10.15 version bump. This fixes bug #382199 (use constant utf8 file - system encoding for all locales) and bug #382233 (fix code for old - binhost protocol to work with python3). Bug #381649 tracks all bugs fixed - since portage-2.1.10.11. - - 09 Sep 2011; Zac Medico -portage-2.1.10.13.ebuild, - -portage-2.2.0_alpha53.ebuild: - Remove old versions. - -*portage-2.2.0_alpha54 (06 Sep 2011) - - 06 Sep 2011; Zac Medico +portage-2.2.0_alpha54.ebuild: - 2.2.0_alpha54 version bump. This includes all of the fixes in - portage-2.1.10.14. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.14 (06 Sep 2011) - - 06 Sep 2011; Zac Medico +portage-2.1.10.14.ebuild: - 2.1.10.14 version bump. This fixes bug #382021 (OSError or - UnicodeEncodeError triggered by symlink content, related to bug #381629). - Bug #381649 tracks all bugs fixed since portage-2.1.10.11. - - 06 Sep 2011; Zac Medico -portage-2.1.10.12.ebuild, - -portage-2.2.0_alpha52.ebuild: - Remove old versions. - -*portage-2.2.0_alpha53 (04 Sep 2011) - - 04 Sep 2011; Zac Medico +portage-2.2.0_alpha53.ebuild: - 2.2.0_alpha53 version bump. This includes all of the fixes in - portage-2.1.10.13. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.13 (04 Sep 2011) - - 04 Sep 2011; Zac Medico +portage-2.1.10.13.ebuild: - 2.1.10.13 version bump. This fixes bug #381087 (fix repoman - dependency.unknown check to detect more cases), bug #381629 - (UnicodeEncodeError triggered by symlink content), bug #381657 - (regression in 2.1.10.12 and 2.2.0_alpha53 that triggers AssertionError - with Python 3.1), and bug #381705 (handle AttributeError when loading - pickle from disk). Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - -*portage-2.2.0_alpha52 (03 Sep 2011) - - 03 Sep 2011; Zac Medico +portage-2.2.0_alpha52.ebuild: - 2.2.0_alpha52 version bump. This includes all of the fixes in - portage-2.1.10.12. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.12 (03 Sep 2011) - - 03 Sep 2011; Zac Medico +portage-2.1.10.12.ebuild: - 2.1.10.12 version bump. This fixes bug #318897 (FEATURES=buildpkg - package.env support), bug #353648 (egencache --portdir-overlay option), - bug #379899 (QA Notice if dosym target omits basename), bug #380565 - (fix deprecated ElementTree usage), bug #380625 (fix die hooks for EAPI 4 - helpers_die), bug #381087 (include blockers in repoman dependency.unknown - check), and bug #381509 (allow merge of UTF-8 file names with locales that - specify ASCII encoding). Bug #381649 tracks all bugs fixed since - portage-2.1.10.11. - - 27 Aug 2011; Jeroen Roovers portage-2.1.10.11.ebuild: - Stable for HPPA (bug #380677). - - 27 Aug 2011; Zac Medico portage-2.1.10.11.ebuild: - Initialize /var/log/portage permissions for bug #378451 and bug #377177. - - 27 Aug 2011; Raúl Porcel portage-2.1.10.11.ebuild: - alpha/arm/ia64/m68k/s390/sh/sparc/x86 stable wrt #380677 - - 26 Aug 2011; Markos Chandras portage-2.1.10.11.ebuild: - Stable on amd64 wrt bug #380677 - - 17 Aug 2011; Zac Medico -portage-2.1.10.10.ebuild, - -portage-2.2.0_alpha50.ebuild: - Remove old versions. - -*portage-2.2.0_alpha51 (12 Aug 2011) - - 12 Aug 2011; Zac Medico +portage-2.2.0_alpha51.ebuild: - 2.2.0_alpha51 version bump. This includes all of the fixes in - portage-2.1.10.11. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.11 (12 Aug 2011) - - 12 Aug 2011; Zac Medico +portage-2.1.10.11.ebuild: - 2.1.10.11 version bump. This fixes bug #323213 (clean up empty info dirs - for packages like binutils), bug #377907 (remove "masked by: profile" - support, which was legacy behavior according to PMS section 5.2.7), and - bug #378403 (bail out early if $PORTAGE_TMPDIR/portage is a symlink and - sandbox is enabled). This also includes a new repoman --if-modified option - which can be used to limit checks to packages with uncommitted - modifications, useful especially for category or repo-level commits. - Bug #373933 tracks all bugs fixed since portage-2.1.10.3. - - 08 Aug 2011; Zac Medico -portage-2.1.10.9.ebuild, - -portage-2.2.0_alpha47.ebuild, -portage-2.2.0_alpha49.ebuild: - Remove old versions. - -*portage-2.2.0_alpha50 (02 Aug 2011) - - 02 Aug 2011; Zac Medico +portage-2.2.0_alpha50.ebuild: - 2.2.0_alpha50 version bump. This includes all of the fixes in - portage-2.1.10.10. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.10 (02 Aug 2011) - - 02 Aug 2011; Zac Medico +portage-2.1.10.10.ebuild: - 2.1.10.10 version bump. This fixes bug #376741 (make unpack compatible with - PMS for rare cases), and fixes some more false alarm error message about - symlinks to directories. Bug #373933 tracks all bugs fixed since - portage-2.1.10.3. - - 02 Aug 2011; Zac Medico -portage-2.1.10.7.ebuild, - -portage-2.2.0_alpha46.ebuild: - Remove old versions. - -*portage-2.2.0_alpha49 (29 Jul 2011) - - 29 Jul 2011; Zac Medico -portage-2.2.0_alpha48.ebuild, - +portage-2.2.0_alpha49.ebuild: - 2.2.0_alpha49 version bump. This fixes a false alarm error message about symlinks - to directories, produced by portage-2.2.0_alpha48. - -*portage-2.1.10.9 (29 Jul 2011) - - 29 Jul 2011; Zac Medico -portage-2.1.10.8.ebuild, - +portage-2.1.10.9.ebuild: - 2.1.10.9 version bump. This fixes a false alarm error message about symlinks - to directories, produced by portage-2.1.10.8. - -*portage-2.2.0_alpha48 (29 Jul 2011) - - 29 Jul 2011; Zac Medico +portage-2.2.0_alpha48.ebuild: - 2.2.0_alpha48 version bump. This includes all of the fixes in - portage-2.1.10.8. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.8 (29 Jul 2011) - - 29 Jul 2011; Zac Medico +portage-2.1.10.8.ebuild: - 2.1.10.8 version bump. This fixes bug #326685 (handle collision between - directory and symlink), and bug #375835 (SELinux support for fetch from - binhost). Bug #373933 tracks all bugs fixed since portage-2.1.10.3. - - 26 Jul 2011; Zac Medico portage-2.1.10.7.ebuild, - portage-2.2.0_alpha46.ebuild, portage-2.2.0_alpha47.ebuild, - portage-9999.ebuild: - Bug #374287 - Block -portage-2.1.10.6.ebuild, - -portage-2.2.0_alpha45.ebuild: - Remove old versions. - -*portage-2.2.0_alpha47 (24 Jul 2011) - - 24 Jul 2011; Zac Medico +portage-2.2.0_alpha47.ebuild: - 2.2.0_alpha47 version bump. This fixes bug #326685 (improved handling for - ebuilds that replace a directory with a symlink), bug #338959 (@installed - pulls in unwanted new slots), and bug #375835 (SELinux support for fetching - from binhost). This also includes memory and performance optimizations for - preserve-libs and @preserved-rebuild. Bug #210077 tracks all bugs fixed - since portage-2.1.x. - -*portage-2.2.0_alpha46 (19 Jul 2011) - - 19 Jul 2011; Zac Medico +portage-2.2.0_alpha46.ebuild: - 2.2.0_alpha46 version bump. This includes all of the fixes in - portage-2.1.10.7, and also fixes bug #289180 (preserve-libs preserves - redundant libraries if soname has multiple providers). Bug #210077 tracks - all bugs fixed since portage-2.1.x. - -*portage-2.1.10.7 (19 Jul 2011) - - 19 Jul 2011; Zac Medico +portage-2.1.10.7.ebuild: - 2.1.10.7 version bump. This fixes bug #375331 (only allow one fetch thread - at a time with parallel-fetch and --jobs=1) and bug #375571 (fix emerge - --noreplace bugs by making --noreplace identical to --selective). - Bug #373933 tracks all bugs fixed since portage-2.1.10.3. - - 19 Jul 2011; Zac Medico -portage-2.1.9.50.ebuild, - -portage-2.1.10.4.ebuild, -portage-2.2.0_alpha41.ebuild, - -portage-2.2.0_alpha43.ebuild: - Remove old versions. - - 14 Jul 2011; Jeroen Roovers portage-2.1.10.3.ebuild: - Stable for HPPA (bug #373523). - -*portage-2.2.0_alpha45 (14 Jul 2011) - - 14 Jul 2011; Zac Medico +portage-2.2.0_alpha45.ebuild, - -portage-2.2.0_alpha44.ebuild: - 2.2.0_alpha45 version bump. This includes all of the fixes in - portage-2.1.10.6. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.6 (14 Jul 2011) - - 14 Jul 2011; Zac Medico +portage-2.1.10.6.ebuild, - -portage-2.1.10.5.ebuild: - 2.1.10.6 version bump. This fixes a regression in portage-2.1.10.6 which - caused 'Insufficient data for checksum verification' errors when using - ebuild(1) in some cases. Bug #373933 tracks all bugs fixed since - portage-2.1.10.3. - -*portage-2.2.0_alpha44 (13 Jul 2011) - - 13 Jul 2011; Zac Medico +portage-2.2.0_alpha44.ebuild: - 2.2.0_alpha44 version bump. This includes all of the fixes in - portage-2.1.10.5. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.5 (13 Jul 2011) - - 13 Jul 2011; Zac Medico +portage-2.1.10.5.ebuild: - 2.1.10.5 version bump. This fixes bug #199722 (hasq and useq deprecation), - bug #374287 (fix logrotate config for logrotate-3.8.0 compatibility), - bug #374397 (near infinite loop triggered by circular deps in emerge dep - calculation), bug #374791 (fix 'has' to match PMS), bug #374583 (emerge - --keep-going regression since portage-2.1.10), and bug #374809 (show - maintainer info in log for pkg_pretend). Bug #373933 tracks all bugs fixed - since portage-2.1.10.3. - - 12 Jul 2011; Zac Medico portage-9999.ebuild: - Require python:2.6[threads] since import of the io module in python-2.6 - raises ImportError for the thread module if threading is disabled. - - 10 Jul 2011; Zac Medico portage-9999.ebuild: - Install minimal tests for preinst sanity check. - - 09 Jul 2011; Kacper Kowalik portage-2.1.10.3.ebuild: - ppc64 stable wrt #373523 - - 04 Jul 2011; nixnut portage-2.1.10.3.ebuild: - ppc stable #373523 - -*portage-2.1.10.4 (03 Jul 2011) - - 03 Jul 2011; Zac Medico +portage-2.1.10.4.ebuild: - 2.1.10.4 version bump. This fixes bug #355283 (fix distcc and ccache - features to use the default ABI dir), bug #365033 (make.conf parser behaves - like echo -e though it shouldn't), bug #370693 (extended repo-level config - file support), bug #371767 (emerge KeyError triggered by --exclude in some - cases), bug #371909 (unnecessary ccache messages triggered by pkg_info), - bug #371987 (make repoman handle EACCESS when generating Manifest), - bug #372033 (emerge suggests package that has no available ebuilds), - bug #372183 (make PORTAGE_COMPRESS_FLAGS handle -k correctly), bug #372193 - (portageq all_best_visible IndexError), bug #372789 (make repoman trigger - dependency.unknown for unknown packages in || deps), bug #373301 (remove - FEATURES=severe docs since it's not implemented), and bug #373341 (always - use ldconfig -X, to avoid interference with FEATURES=preserve-libs when - downgrading libraries). Bug #373933 tracks all bugs fixed since - portage-2.1.10.3. - - 03 Jul 2011; Raúl Porcel portage-2.1.10.3.ebuild: - alpha/arm/ia64/m68k/s390/sh/sparc/x86 stable wrt #373523 - - 02 Jul 2011; Markos Chandras portage-2.1.10.3.ebuild: - Stable on amd64 wrt bug #373523 - -*portage-2.2.0_alpha43 (01 Jul 2011) - - 01 Jul 2011; Zac Medico -portage-2.2.0_alpha42.ebuild, - +portage-2.2.0_alpha43.ebuild: - 2.2.0_alpha43 version bump. This fixes bug #373703 (2.2.0_alpha42 - regression in make.conf handling of escaped newlines). - -*portage-2.2.0_alpha42 (01 Jul 2011) - - 01 Jul 2011; Zac Medico +portage-2.2.0_alpha42.ebuild: - 2.2.0_alpha42 version bump. This fixes bug #355283 (fix distcc and ccache - features to use the default ABI dir), bug #365033 (make.conf parser behaves - like echo -e though it shouldn't), bug #370693 (extended repo-level config - file support), bug #371767 (emerge KeyError triggered by --exclude in some - cases), bug #371909 (unnecessary ccache messages triggered by pkg_info), - bug #371987 (make repoman handle EACCESS when generating Manifest), - bug #372183 (make PORTAGE_COMPRESS_FLAGS handle -k correctly), bug #372193 - (portageq all_best_visible IndexError), bug #372789 (make repoman trigger - dependency.unknown for unknown packages in || deps), bug #373301 (remove - FEATURES=severe docs since it's not implemented), and bug #373341 (always - use ldconfig -X, to avoid interference with FEATURES=preserve-libs when - downgrading libraries). Bug #210077 tracks all bugs fixed since - portage-2.1.x. - - 28 Jun 2011; Zac Medico portage-2.1.10.3.ebuild, - portage-2.2.0_alpha41.ebuild, portage-9999.ebuild: - Don't install tests since many of them rely upon having the complete source - tree. - - 21 Jun 2011; Zac Medico -portage-2.1.10.ebuild, - -portage-2.2.0_alpha38.ebuild: - Remove old versions. - - 14 Jun 2011; Zac Medico -portage-2.1.10.2.ebuild, - -portage-2.2.0_alpha40.ebuild: - Remove old versions. - -*portage-2.2.0_alpha41 (14 Jun 2011) - - 14 Jun 2011; Zac Medico +portage-2.2.0_alpha41.ebuild: - 2.2.0_alpha41 version bump. This includes all of the fixes in - portage-2.1.10.3. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.3 (14 Jun 2011) - - 14 Jun 2011; Zac Medico +portage-2.1.10.3.ebuild: - 2.1.10.3 version bump.This fixes bug #371423 (InvalidDependString triggered - by changes in IUSE for installed packages). Bug #358927 tracks all bugs - fixed since portage-2.1.9.42. - - 12 Jun 2011; Zac Medico -portage-2.1.10.1.ebuild, - -portage-2.2.0_alpha37.ebuild, -portage-2.2.0_alpha39.ebuild: - Remove old versions. - -*portage-2.2.0_alpha40 (11 Jun 2011) - - 11 Jun 2011; Zac Medico +portage-2.2.0_alpha40.ebuild: - 2.2.0_alpha40 version bump. This includes all of the fixes in - portage-2.1.10.2. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.2 (11 Jun 2011) - - 11 Jun 2011; Zac Medico +portage-2.1.10.2.ebuild: - 2.1.10.2 version bump. This fixes breakage in the fakedbapi class which may - be used by some API consumers. It also fixes poor merge order in some cases - involving circular dependencies. Bug #358927 tracks all bugs fixed since - portage-2.1.9.42. - -*portage-2.2.0_alpha39 (10 Jun 2011) - - 10 Jun 2011; Zac Medico +portage-2.2.0_alpha39.ebuild: - 2.2.0_alpha39 version bump. This includes all of the fixes in - portage-2.1.10.1. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10.1 (10 Jun 2011) - - 10 Jun 2011; Zac Medico +portage-2.1.10.1.ebuild: - 2.1.10.1 version bump. This fixes bug #355283 (fix distcc and ccache - features to use the default ABI dir), bug #368817 (don't show 'unexpected - exit' message when killed by signal), bug #370465 (EAPI mask messages - handled incorrectly sometimes), bug #370477 (keywords mask messages handled - incorrectly sometimes), and bug #370565 (treat DEPEND strings containing - empty parenthesis as invalid). Bug #358927 tracks all bugs fixed since - portage-2.1.9.42. - - 07 Jun 2011; Zac Medico portage-2.1.6.7.ebuild, - portage-2.1.6.13.ebuild, portage-2.1.9.42.ebuild, portage-2.1.9.50.ebuild, - portage-2.1.10.ebuild, portage-2.2.0_alpha37.ebuild, - portage-2.2.0_alpha38.ebuild, portage-9999.ebuild, metadata.xml: - Bug #370295 - Pull in less as pager for etc-update, so --depclean doesn't - remove it due to virtual/pager being satisfied by more from util-linux. - -*portage-2.2.0_alpha38 (06 Jun 2011) - - 06 Jun 2011; Zac Medico +portage-2.2.0_alpha38.ebuild: - 2.2.0_alpha38 version bump. This includes all of the fixes in - portage-2.1.10. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.10 (06 Jun 2011) - - 06 Jun 2011; Zac Medico +portage-2.1.10.ebuild: - 2.1.10 version bump. This fixes bug #142508 (clear_term config option - for etc-update), bug #157357 (new portageq expand_virtual command for - new-style GLEP 37 virtuals), bug #185377 (support for atom::repo in - commands and config files), bug #262038 (handle identically versioned - ebuilds from different overlays with different masking status), and bug - #345775 (--autounmask-write option), bug #368865 (repoman EAPI.incompatible - check for EMERGE_FROM in EAPI 4), bug #369913 (old-style binhost fails with - python-2.7), and bug #369985 (include package.mask comments in --autounmask - output). The emerge --autounmask option is now enabled by default. The - --autounmask-write option can be used to have config changes automatically - written to the appropriate files (repecting --ask and CONFIG_PROTECT). If - --autounmask behavior is not desired as the default behavior, then it can - be disabled by adding --autounmask=n to the EMERGE_DEFAULT_OPTS variable - in make.conf. Refer to the emerge(1) man page for more information. Also, - see the NEWS file for other new features included in portage-2.1.10. - Bug #358927 tracks all bugs fixed since portage-2.1.9.42. - - 06 Jun 2011; Zac Medico -portage-2.1.9.49.ebuild, - -portage-2.2.0_alpha33.ebuild: - Remove old versions. - - 27 May 2011; Zac Medico -portage-2.2.0_alpha34.ebuild, - -portage-2.2.0_alpha35.ebuild, -portage-2.2.0_alpha36.ebuild: - Remove old versions. - -*portage-2.2.0_alpha37 (27 May 2011) - - 27 May 2011; Zac Medico +portage-2.2.0_alpha37.ebuild: - 2.2.0_alpha37 version bump. This includes all of the fixes in - portage-2.1.9.50 and also fixes bug #368725 (outdated deps of installed - packages use for calculations in some cases). Bug #210077 tracks all bugs - fixed since portage-2.1.x. - -*portage-2.1.9.50 (27 May 2011) - - 27 May 2011; Zac Medico +portage-2.1.9.50.ebuild: - 2.1.9.50 version bump. This fixes bug #142508 (make etc-update clear - term when appropriate), bug #288597 (FEATURES=distcc-pump), and also fixes - some cases related to bug #364681 (recognize new-style virtual/libc). - Bug #358927 tracks all bugs fixed since portage-2.1.9.42. - -*portage-2.2.0_alpha36 (25 May 2011) - - 25 May 2011; Zac Medico +portage-2.2.0_alpha36.ebuild: - 2.2.0_alpha36 version bump. This fixes bug #368429 (invalid USE change - suggestions triggered when emerge --autounmask fails). Bug #210077 tracks - all bugs fixed since portage-2.1.x. - -*portage-2.2.0_alpha35 (23 May 2011) - - 23 May 2011; Zac Medico +portage-2.2.0_alpha35.ebuild: - 2.2.0_alpha35 version bump. This fixes bug #288597 (FEATURES=distcc-pump). - It also includes some subtle merge order optimizations and fixes a possible - KeyError in the preserve-libs code from bug #286714. Bug #210077 tracks all - bugs fixed since portage-2.1.x. - -*portage-2.2.0_alpha34 (18 May 2011) - - 18 May 2011; Zac Medico +portage-2.2.0_alpha34.ebuild: - 2.2.0_alpha34 version bump. This fixes bug #142508 (make etc-update clear - term when appropriate), bug #286714 (preserve-libs support for packages - uninstalled and not replaced), and bug #345775 (--autounmask-write option - for editing config files). Also, emerge --autounmask now handles packages - that are masked by missing keywords or package.mask. Since all of the - feautures of app-portage/autounmask are implemented, emerge --autounmask - is now enabled by default. Set EMERGE_DEFAULT_OPTS="--autounmask=n" in - make.conf if you'd like to disable it. Bug #210077 tracks all bugs fixed - since portage-2.1.x. - - 18 May 2011; Zac Medico -portage-2.1.9.48.ebuild, - -portage-2.2.0_alpha30.ebuild, -portage-2.2.0_alpha32.ebuild: - Remove old versions. - -*portage-2.2.0_alpha33 (12 May 2011) - - 12 May 2011; Zac Medico +portage-2.2.0_alpha33.ebuild: - 2.2.0_alpha33 version bump. This includes all of the fixes in - portage-2.1.9.49. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.49 (12 May 2011) - - 12 May 2011; Zac Medico +portage-2.1.9.49.ebuild: - 2.1.9.49 version bump. This fixes bug #366939 (extract binpkg - environment.bz2 for pkg_pretend). Bug #358927 tracks all bugs fixed - since portage-2.1.9.42. - - 11 May 2011; Zac Medico -portage-2.1.9.46.ebuild, - -portage-2.1.9.47.ebuild, -portage-2.2.0_alpha31.ebuild: - Remove old versions. - -*portage-2.2.0_alpha32 (08 May 2011) - - 08 May 2011; Zac Medico +portage-2.2.0_alpha32.ebuild: - 2.2.0_alpha32 version bump. This fixes bug #366061 (preserved-libs not - garbage collected when appropriate), and includes all of the fixes in - portage-2.1.9.48. This also includes support for FEATURES=parallel-install, - which can greatly improve performance when installing large numbers of - binary packages. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.48 (08 May 2011) - - 08 May 2011; Zac Medico +portage-2.1.9.48.ebuild: - 2.1.9.48 version bump. This fixes a regression in 2.1.9.47 which causes - "AttributeError: 'vardbapi' object has no attribute 'match_pkgs'" errors - with emerge --resume and --keep-going. Bug #358927 tracks all bugs fixed - since portage-2.1.9.42. - - 06 May 2011; Zac Medico portage-9999.ebuild: - Migrate to git-2.eclass. - -*portage-2.2.0_alpha31 (05 May 2011) - - 05 May 2011; Zac Medico +portage-2.2.0_alpha31.ebuild: - 2.2.0_alpha31 version bump. This includes all of the fixes in - portage-2.1.9.46. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.47 (05 May 2011) - - 05 May 2011; Zac Medico +portage-2.1.9.47.ebuild: - 2.1.9.47 version bump. This fixes bug #363137 (add --misspell-suggesions - option), bug #364035 (breakage in ebuild(1) FEATURES override), bug #364467 - (handle gcc-4.6 warnings), bug #364673 (support new-style virtuals in - emerge --info), bug #364681 (recognize new-style virtual/libc, bug #364701 - (make --autounmask recognize use.mask/force), bug #365319 (allow emerge.log - permissions adjustment), bug #365439 (add helpers for variable settings in - bashrc), and bug #365505 (make repoman warn about old-style virtual PROVIDE - settings for GLEP 37). Bug #358927 tracks all bugs fixed since 2.1.9.42. - - 05 May 2011; Zac Medico -portage-2.1.8.3.ebuild, - -portage-2.1.9.25.ebuild: - Remove old versions. - - 05 May 2011; Zac Medico ChangeLog: - Prune old ChangeLog entries. - - 21 Apr 2011; Zac Medico -portage-2.1.9.45.ebuild, - -portage-2.2.0_alpha28.ebuild, -portage-2.2.0_alpha29.ebuild: - Remove old versions. - -*portage-2.2.0_alpha30 (14 Apr 2011) - - 14 Apr 2011; Zac Medico +portage-2.2.0_alpha30.ebuild: - 2.2.0_alpha30 version bump. This includes all of the fixes in - portage-2.1.9.46. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.46 (14 Apr 2011) - - 14 Apr 2011; Zac Medico +portage-2.1.9.46.ebuild: - 2.1.9.46 version bump. This fixes bug #361257 (fix "GNU info directory" - message for --quiet), bug #361463 (fix fetch restriction display for - PORTAGE_RO_DISTDIRS), and bug #363073 (InvalidDependString triggered - in extract_affecting_use by EAPI 4 USE dep defaults). Bug #358927 - tracks all bugs fixed since 2.1.9.42. - - 09 Apr 2011; Zac Medico portage-2.1.6.7.ebuild, - portage-2.1.6.13.ebuild, portage-2.1.8.3.ebuild, portage-2.1.9.25.ebuild, - portage-2.1.9.42.ebuild, portage-2.1.9.45.ebuild, - portage-2.2.0_alpha28.ebuild, portage-2.2.0_alpha29.ebuild, - portage-9999.ebuild: - Bug #358847 - Remove virtual/portage PROVIDE since it's been replaced by - the virtual/package-manager new-style virtual ebuild (GLEP 37). - - 05 Apr 2011; Zac Medico -portage-2.1.9.43.ebuild, - -portage-2.1.9.44.ebuild, -portage-2.2.0_alpha26.ebuild, - -portage-2.2.0_alpha27.ebuild: - Remove old versions. - -*portage-2.2.0_alpha29 (27 Mar 2011) - - 27 Mar 2011; Zac Medico +portage-2.2.0_alpha29.ebuild: - 2.2.0_alpha29 version bump. This includes all of the fixes in - portage-2.1.9.45. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.45 (27 Mar 2011) - - 27 Mar 2011; Zac Medico +portage-2.1.9.45.ebuild: - 2.1.9.45 version bump. This fixes bug #359675 (UnicodeEncodeError triggered - by UnsupportedAPIException during unmerge), bug #359681 (fix whitespace in - CONFIGURATION FILES update message), and bug #360233 (support --ask=n). - Bug #358927 tracks all bugs fixed since 2.1.9.42. - - 21 Mar 2011; Zac Medico portage-2.1.6.7.ebuild, - portage-2.1.6.13.ebuild, portage-2.1.8.3.ebuild, portage-2.1.9.25.ebuild, - portage-2.1.9.42.ebuild, portage-2.1.9.43.ebuild, portage-2.1.9.44.ebuild, - portage-2.2.0_alpha26.ebuild, portage-2.2.0_alpha27.ebuild, - portage-2.2.0_alpha28.ebuild, portage-9999.ebuild: - Bug #359731 - Die early if get_libdir fails. - -*portage-2.2.0_alpha28 (18 Mar 2011) - - 18 Mar 2011; Zac Medico +portage-2.2.0_alpha28.ebuild: - 2.2.0_alpha28 version bump. This includes all of the fixes in - portage-2.1.9.44. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.44 (18 Mar 2011) - - 18 Mar 2011; Zac Medico +portage-2.1.9.44.ebuild: - 2.1.9.44 version bump. This fixes bug #359273 (make.conf.5 spelling - correction for "direcory"). It also includes various fixes for emerge - Ctrl-C/SIGINT/SIGTERM handling, for some cases in which it would hang - or crash instead of exiting properly. Bug #358927 tracks all bugs - fixed since 2.1.9.42. - - 17 Mar 2011; Raúl Porcel portage-2.1.9.42.ebuild: - alpha/ia64/m68k/s390/sh/x86 stable wrt #358009 - - 14 Mar 2011; Michael Weber portage-2.1.9.42.ebuild: - arm/sparc stable (bug 358009) - -*portage-2.2.0_alpha27 (14 Mar 2011) - - 14 Mar 2011; Zac Medico +portage-2.2.0_alpha27.ebuild: - 2.2.0_alpha27 version bump. This includes all of the fixes in - portage-2.1.9.43. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.43 (14 Mar 2011) - - 14 Mar 2011; Zac Medico +portage-2.1.9.43.ebuild: - 2.1.9.43 version bump. This fixes bug #346899 (allow noexec /var/tmp mount - with default config), bug #357009 (disallow uninstall of default python - interpreter), bug #357093 (don't output \b to non-tty), bug #357297 (fix - whitespace handling for PORTDIR_OVERLAY), and bug #357581 (fix confusing - message aux_get error when eclass directory is missing). Bug #358927 tracks - all bugs fixed since 2.1.9.42. - - 11 Mar 2011; Jeroen Roovers portage-2.1.9.42.ebuild: - Stable for HPPA (bug #358009). - - 09 Mar 2011; Kacper Kowalik portage-2.1.9.42.ebuild: - ppc/ppc64 stable wrt #358009 - - 09 Mar 2011; Markos Chandras portage-2.1.9.42.ebuild: - Stable on amd64 wrt bug #358009 - - 05 Mar 2011; Zac Medico -portage-2.1.9.41.ebuild, - -portage-2.2.0_alpha25.ebuild: - Remove old versions. - -*portage-2.2.0_alpha26 (02 Mar 2011) - - 02 Mar 2011; Zac Medico +portage-2.2.0_alpha26.ebuild: - 2.2.0_alpha26 version bump. This includes all of the fixes in - portage-2.1.9.42. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.42 (02 Mar 2011) - - 02 Mar 2011; Zac Medico +portage-2.1.9.42.ebuild: - 2.1.9.42 version bump. This fixes bug #262365 (repoman portage.internal - warning for ecompress, ecompressdir, prepall, prepalldocs, and preplib), - bug #356375 (fix emerge --sync to handle properly handle hardcoded IPv6 - address in SYNC), bug #356461 (dodoc -r collapses directory structure), - and bug #356555 (make unmatched argument package name search case- - insensitive). There's also a fix for the repoman variable.usedwithhelpers - check, to prevent false matches inside quoted strings. Bug #349307 tracks - all bugs fixed since 2.1.9.25. - - 01 Mar 2011; Zac Medico -portage-2.1.9.40.ebuild, - -portage-2.2.0_alpha24.ebuild: - Remove old versions. - - 25 Feb 2011; Zac Medico portage-9999.ebuild: - Fix broken doexe call with all symlinks. - -*portage-2.2.0_alpha25 (22 Feb 2011) - - 22 Feb 2011; Zac Medico +portage-2.2.0_alpha25.ebuild: - 2.2.0_alpha25 version bump. This includes all of the fixes in - portage-2.1.9.41. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.41 (22 Feb 2011) - - 22 Feb 2011; Zac Medico +portage-2.1.9.41.ebuild: - 2.1.9.41 version bump. This fixes bug #269534 (omit 'null' category from - umatched atoms for --unmerge), bug #354787 (suggest --depclean after world - updates), bug #355447 (support post_emerge hook), bug #355621 (repoman - variable.usedwithhelpers false positives), bug #355629 (REQUIRED_USE - malformed syntax message for missing IUSE), bug #355635 (make EAPI 4 - default_src_install conform to PMS for empty DOC setting), and bug #355803 - (fix plurality of emerge 'config files need updating' message). - Bug #349307 tracks all bugs fixed since 2.1.9.25. - - 22 Feb 2011; Zac Medico -portage-2.1.9.35.ebuild, - -portage-2.1.9.39.ebuild, -portage-2.2.0_alpha19.ebuild, - -portage-2.2.0_alpha23.ebuild: - Remove old versions. - -*portage-2.2.0_alpha24 (15 Feb 2011) - - 15 Feb 2011; Zac Medico +portage-2.2.0_alpha24.ebuild: - 2.2.0_alpha24 version bump. This includes all of the fixes in - portage-2.1.9.40. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.40 (15 Feb 2011) - - 15 Feb 2011; Zac Medico +portage-2.1.9.40.ebuild: - 2.1.9.40 version bump. This fixes bug #353933 (distorted virtual atoms in - unsatisfied dep messages), bug #354387 (ebuild.1 man page references - BUILD_PREFIX instead of PORTAGE_TMPDIR), bug #354437 (cross-reference - --newuse and --reinstall=changed-use), bug #354441 (regression causing - unnecessary reinstall of binary packages), bug #354685 (repoman - variable.usedwithhelpers errors triggered by comments), bug #354687 - (egencache -update-use-local-desc error handling tweaks), and bug #354747 - (unsatisfied dep messages should show packages scheduled for merge when - possible). Bug #349307 tracks all bugs fixed since 2.1.9.25. - -*portage-2.2.0_alpha23 (08 Feb 2011) - - 08 Feb 2011; Zac Medico -portage-2.2.0_alpha22.ebuild, - +portage-2.2.0_alpha23.ebuild: - 2.2.0_alpha23 version bump. This includes all of the fixes in - portage-2.1.9.39. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.39 (08 Feb 2011) - - 08 Feb 2011; Zac Medico -portage-2.1.9.38.ebuild, - +portage-2.1.9.39.ebuild: - 2.1.9.39 version bump. This fixes bug #354057 (test failure involving - ENODATA on FreeBSD), bug #354137 (clarify emerge man page description - of package arguments), and bug #354141 (support paths starting with - ../ for emerge package arguments). This also fixes a regression in - 2.1.9.38 which can cause emerge to crash with an AttributeError. - Bug #349307 tracks all bugs fixed since 2.1.9.25. - - 08 Feb 2011; Zac Medico portage-9999.ebuild: - Prefer python3 if both python2 and python3 are enabled. - - 08 Feb 2011; Zac Medico portage-9999.ebuild, - metadata.xml: - Support USE=python2, for cases in which portage dependencies such as - libselinux only work with python2. - -*portage-2.2.0_alpha22 (08 Feb 2011) - - 08 Feb 2011; Zac Medico +portage-2.2.0_alpha22.ebuild: - 2.2.0_alpha22 version bump. This includes all of the fixes in - portage-2.1.9.38. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.38 (08 Feb 2011) - - 08 Feb 2011; Zac Medico +portage-2.1.9.38.ebuild: - 2.1.9.38 version bump. This fixes bug #354003 (equery crashes with - InvalidDependString triggered by EAPI 4 USE dep default atoms). - Bug #349307 tracks all bugs fixed since 2.1.9.25. - - 08 Feb 2011; Zac Medico -portage-2.1.9.36.ebuild, - -portage-2.1.9.37.ebuild, -portage-2.2.0_alpha20.ebuild, - -portage-2.2.0_alpha21.ebuild: - Remove old versions. - -*portage-2.2.0_alpha21 (07 Feb 2011) - - 07 Feb 2011; Zac Medico +portage-2.2.0_alpha21.ebuild: - 2.2.0_alpha21 version bump. This includes all of the fixes in - portage-2.1.9.37. - -*portage-2.1.9.37 (07 Feb 2011) - - 07 Feb 2011; Zac Medico +portage-2.1.9.37.ebuild: - 2.1.9.37 version bump. This fixes bug #353836 (test failure without - python[sqlite]) and bug #353897 (fix default_src_test to work with - EAPI 4). Bug #349307 tracks all bugs fixed since 2.1.9.25. - - 06 Feb 2011; Zac Medico portage-2.1.8.3.ebuild, - portage-2.1.9.25.ebuild, portage-2.1.9.35.ebuild, portage-2.1.9.36.ebuild, - portage-2.2.0_alpha19.ebuild, portage-2.2.0_alpha20.ebuild, - portage-9999.ebuild: - Update libselinux deps to require USE=python. - -*portage-2.2.0_alpha20 (05 Feb 2011) - - 05 Feb 2011; Zac Medico +portage-2.2.0_alpha20.ebuild: - 2.2.0_alpha20 version bump. This includes all of the fixes in - portage-2.1.9.36, and also includes a fix for a backtracking regression - in the master branch since 2.2_rc92. Bug #210077 tracks all bugs fixed - since portage-2.1.x. - -*portage-2.1.9.36 (05 Feb 2011) - - 05 Feb 2011; Zac Medico +portage-2.1.9.36.ebuild: - 2.1.9.36 version bump. This fixes bug #353234 (reduce noise in REQUIRED_USE - messages), bug #353239 (regression in SIGINT handling during fetch), - bug #353443 (REQUIRED_USE triggers erroneous warings about world file), - and bug #353613 (dropped dependencies in rare cases). Bug #349307 tracks - all bugs fixed since 2.1.9.25. - - 29 Jan 2011; Zac Medico -portage-2.1.9.33.ebuild, - -portage-2.1.9.34.ebuild, -portage-2.2.0_alpha17.ebuild, - -portage-2.2.0_alpha18.ebuild: - Remove old versions. - -*portage-2.2.0_alpha19 (22 Jan 2011) - - 22 Jan 2011; Zac Medico +portage-2.2.0_alpha19.ebuild: - 2.2.0_alpha19 version bump. This includes all of the fixes in - portage-2.1.9.35. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.35 (22 Jan 2011) - - 22 Jan 2011; Zac Medico +portage-2.1.9.35.ebuild: - 2.1.9.35 version bump. This fixes bug #287648 (logging via pty with - python3). Bug #349307 tracks all bugs fixed since 2.1.9.25. - -*portage-2.2.0_alpha18 (19 Jan 2011) - - 19 Jan 2011; Zac Medico +portage-2.2.0_alpha18.ebuild: - 2.2.0_alpha18 version bump. This includes all of the fixes in - portage-2.1.9.34. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.34 (19 Jan 2011) - - 19 Jan 2011; Zac Medico +portage-2.1.9.34.ebuild: - 2.1.9.34 version bump. This fixes bug #315603 (restrict default - archive-dir permissions), bug #349070 (document/initialize FFLAGS and - FCFLAGS), bug #351505 ($A undefined for pkg_nofetch), and bug #351828 - (regression in || dep handling when installed package is masked). - Bug #349307 tracks all bugs fixed since 2.1.9.25. - - 19 Jan 2011; Zac Medico -portage-2.1.9.24.ebuild, - -portage-2.1.9.31.ebuild, -portage-2.2.0_alpha15.ebuild: - Remove old versions. - -*portage-2.2.0_alpha17 (18 Jan 2011) - - 18 Jan 2011; Zac Medico -portage-2.2.0_alpha16.ebuild, - +portage-2.2.0_alpha17.ebuild: - 2.2.0_alpha17 version bump. This includes all of the fixes in - portage-2.1.9.33. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.33 (18 Jan 2011) - - 18 Jan 2011; Zac Medico -portage-2.1.9.32.ebuild, - +portage-2.1.9.33.ebuild: - 2.1.9.33 version bump. This completes the fix for bug #351505 (Ensure $A is - defined for pkg_nofetch) which was only partially fixed in the previous - release. Bug #349307 tracks all bugs fixed since 2.1.9.25. - -*portage-2.2.0_alpha16 (18 Jan 2011) - - 18 Jan 2011; Zac Medico +portage-2.2.0_alpha16.ebuild: - 2.2.0_alpha16 version bump. This includes all of the fixes in - portage-2.1.9.32. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.32 (18 Jan 2011) - - 18 Jan 2011; Zac Medico +portage-2.1.9.32.ebuild: - 2.1.9.32 version bump. This fixes bug #351505 (Ensure $A is defined for - pkg_nofetch) and bug #351814 (handle malformed sym entries in old - CONTENTS). Bug #349307 tracks all bugs fixed since 2.1.9.25. - -*portage-2.2.0_alpha15 (12 Jan 2011) - - 12 Jan 2011; Zac Medico +portage-2.2.0_alpha15.ebuild: - 2.2.0_alpha15 version bump. This includes all of the fixes in - portage-2.1.9.31. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.31 (12 Jan 2011) - - 12 Jan 2011; Zac Medico +portage-2.1.9.31.ebuild: - 2.1.9.31 version bump. This fixes bug #211529 (econf looks in configure - --help output for disable-dependency-tracking in EAPI 4). Bug #349307 - tracks all bugs fixed since 2.1.9.25. - - 12 Jan 2011; Zac Medico -portage-2.1.9.29.ebuild, - -portage-2.1.9.30.ebuild, -portage-2.2.0_alpha13.ebuild, - -portage-2.2.0_alpha14.ebuild: - Remove old versions. - -*portage-2.2.0_alpha14 (07 Jan 2011) - - 07 Jan 2011; Zac Medico +portage-2.2.0_alpha14.ebuild: - 2.2.0_alpha14 version bump. This includes all of the fixes in - portage-2.1.9.30. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.30 (07 Jan 2011) - - 07 Jan 2011; Zac Medico +portage-2.1.9.30.ebuild: - 2.1.9.30 version bump. This adds support for USE flag display when - REQUIRED_USE is unsatisfied, and emerge-webrsync support xz snapshots. - Bug #349307 tracks all bugs fixed since 2.1.9.25. - - 07 Jan 2011; Zac Medico -portage-2.1.9.26.ebuild, - -portage-2.1.9.27.ebuild, -portage-2.1.9.28.ebuild, - -portage-2.2.0_alpha9.ebuild, -portage-2.2.0_alpha10.ebuild, - -portage-2.2.0_alpha11.ebuild, -portage-2.2.0_alpha12.ebuild: - Remove old versions. - -*portage-2.2.0_alpha13 (05 Jan 2011) - - 05 Jan 2011; Zac Medico +portage-2.2.0_alpha13.ebuild: - 2.2.0_alpha13 version bump. This includes all of the fixes in - portage-2.1.9.29. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.29 (05 Jan 2011) - - 05 Jan 2011; Zac Medico +portage-2.1.9.29.ebuild: - 2.1.9.29 version bump. This fixes bug #350254 (prevent missed updates - due to REQUIRED_USE) and bug 350488 (regression in || dep handling for - masked installed packages). Bug #349307 tracks all bugs fixed since - 2.1.9.25. - -*portage-2.2.0_alpha12 (03 Jan 2011) - - 03 Jan 2011; Zac Medico +portage-2.2.0_alpha12.ebuild: - 2.2.0_alpha12 version bump. This includes all of the fixes in - portage-2.1.9.28. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.28 (03 Jan 2011) - - 03 Jan 2011; Zac Medico +portage-2.1.9.28.ebuild: - 2.1.9.28 version bump. This fixes bug #350285 (depclean newer slots - masked by keywords), bug #350379 (fix prefix in elog syslog messages), - and bug #350385 (newins broken in EAPI 4). This also includes - documentation for bug #322049 (use_with/enable empty third arg handling - in EAPI 4). Bug #349307 tracks all bugs fixed since 2.1.9.25. - - 02 Jan 2011; Raúl Porcel portage-2.1.9.25.ebuild: - alpha/ia64/m68k/s390/sh/sparc stable wrt #349098 - -*portage-2.2.0_alpha11 (31 Dec 2010) - - 31 Dec 2010; Zac Medico +portage-2.2.0_alpha11.ebuild: - 2.2.0_alpha11 version bump. This includes all of the fixes in - portage-2.1.9.27. Bug #210077 tracks all bugs fixed since portage-2.1.x. - -*portage-2.1.9.27 (31 Dec 2010) - - 31 Dec 2010; Zac Medico +portage-2.1.9.27.ebuild: - 2.1.9.27 version bump. This fixes bug #289486 (prevent SIGQUIT - interference with sandbox), bug #338744 (endless broken pipe loop when - unpacking zip files), bug #348864 (bail out if Manifest is missing - distfiles digests), bug #349757 (handle EPERM when trying to unmerge a - directory that is a mount point), bug #350045 (doins -r fails for some - file names), and bug #53607 (anydbm cache module fails with multiple - processes). This release also includes support for EAPI 4, which has - been recently approved by the Gentoo Council. Refer to the PMS EAPI - Cheat Sheet, portage's html docs installed with USE=doc, or - `man 5 ebuild` for more info about EAPI 4. Bug #349307 tracks all bugs - fixed since 2.1.9.25. - - 31 Dec 2010; Zac Medico -portage-2.2.0_alpha6.ebuild, - -portage-2.2.0_alpha7.ebuild, -portage-2.2.0_alpha8.ebuild: - Remove old versions. - - 28 Dec 2010; Markus Meier portage-2.1.9.25.ebuild: - arm stable, bug #349098 - - 27 Dec 2010; Brent Baude portage-2.1.9.25.ebuild: - Marking portage-2.1.9.25 ppc64 for bug 349098 - - 27 Dec 2010; Brent Baude portage-2.1.9.24.ebuild: - Marking portage-2.1.9.24 ppc64 for bug 346819 - - 27 Dec 2010; Brent Baude portage-2.1.9.24.ebuild: - Marking portage-2.1.9.24 ppc64 for bug 346819 - - 24 Dec 2010; Jeroen Roovers portage-2.1.9.25.ebuild: - Stable for HPPA PPC (bug #349098). - -*portage-2.2.0_alpha10 (21 Dec 2010) - - 21 Dec 2010; Zac Medico +portage-2.2.0_alpha10.ebuild: - 2.2.0_alpha10 version bump. This fixes bug #349273 (backward compatibility - api fix for doebuild) and includes various other minor fixes that are also - included in portage-2.1.9.26. Bug #210077 tracks all bugs fixed since - portage-2.1.x. - -*portage-2.1.9.26 (21 Dec 2010) - - 21 Dec 2010; Zac Medico +portage-2.1.9.26.ebuild: - 2.1.9.26 version bump. This fixes bug #338509 (quickpkg creates broken - 0 byte hardlinks), bug #339670 (avoid ELOOP due to circular symlink in - $T), bug #346847 (broken QA_PREBUILT to QA_EXECSTACK mapping), bug #348460 - (fix regression in xterm title reset when PROMPT_COMMAND is unset), and - bug #348561 (etc-update option to save example config). Bug #349307 tracks - all bugs fixed since 2.1.9.25. - - 20 Dec 2010; Pawel Hajdan jr - portage-2.1.9.25.ebuild: - x86 stable wrt bug #349098 - - 20 Dec 2010; Markos Chandras portage-2.1.9.25.ebuild: - Stable on amd64 wrt bug #349098 - -*portage-2.2.0_alpha9 (16 Dec 2010) - - 16 Dec 2010; Zac Medico +portage-2.2.0_alpha9.ebuild: - 2.2.0_alpha9 version bump. This fixes bug #339670 (avoid ELOOP due to - circular symlink in $T) and bug #348389 (AttributeError triggered by - SLOT conflict). Bug #210077 tracks all bugs fixed since 2.1.x. - -*portage-2.2.0_alpha8 (13 Dec 2010) - - 13 Dec 2010; Zac Medico +portage-2.2.0_alpha8.ebuild: - 2.2.0_alpha8 version bump. This fixes bug #338509 (quickpkg creates broken - 0 byte hardlinks), bug #348460 (fix regression in xterm title reset when - PROMPT_COMMAND is unset), and bug #348561 (etc-update option to save - example config). Bug #210077 tracks all bugs fixed since 2.1.x. - - 13 Dec 2010; Zac Medico -portage-2.2.0_alpha4.ebuild, - -portage-2.2.0_alpha5.ebuild: - Remove old versions. - -*portage-2.2.0_alpha7 (06 Dec 2010) - - 06 Dec 2010; Zac Medico +portage-2.2.0_alpha7.ebuild: - 2.2.0_alpha7 version bump. This adds MERGE_TYPE support to EAPI 4_pre1 - (bug #347351), fixes QA_PREBUILT to QA_EXECSTACK mapping (bug #346847), - and has various minor fixes for EAPI 4_pre1. Bug #210077 tracks all bugs - fixed since 2.1.x. - - 28 Nov 2010; Zac Medico -portage-2.1.7.17.ebuild, - -portage-2.2_rc67.ebuild, -portage-2.2.0_alpha3.ebuild: - Remove old versions. - -*portage-2.2.0_alpha6 (27 Nov 2010) - - 27 Nov 2010; Zac Medico +portage-2.2.0_alpha6.ebuild: - 2.2.0_alpha6 version bump. This includes all of the fixes in - portage-2.1.9.25. Bug #210077 tracks all bugs fixed since 2.1.x. - -*portage-2.1.9.25 (27 Nov 2010) - - 27 Nov 2010; Zac Medico +portage-2.1.9.25.ebuild: - 2.1.9.25 version bump. This fixes bug #315421 (proxy settings don't work - sometimes), bug #344845 (regenworld AttributeError), bug #345097 (slot - conflict display shows malformed atoms), bug #345289 (^C traceback), - bug #345979 (broken handling of USE deps for masked USE flags), and - bug #346349 (accept 'y' for emerge options that accept 'n). Bug #346909 - tracks all bugs fixed since 2.1.9.24. - -*portage-2.1.8.3 (10 Mar 2010) - - 10 Mar 2010; Zac Medico +portage-2.1.8.3.ebuild: - 2.1.8.3 version bump. This fixes bug #303567 (generate implicit libc - dependencies) and also fixes emerge crash due to ImportError when - downgrading portage. Bug #307597 tracks all bugs fixed since - portage-2.1.7.x. - -*portage-2.1.7.17 (29 Jan 2010) - - 29 Jan 2010; Zac Medico +portage-2.1.7.17.ebuild: - 2.1.7.17 bump. This fixes bug #269225 (repoman check for virtual HOMEPAGE - and LICENSE), bug #296700 (EAPI 3 support), bug #298310 (AttributeError - when generating manifest on selinux systems), bug #299248 (fix doins to - fail in more cases), bug #300378 (don't export FILESDIR during depend - phase), bug #300388 (handle TERM=dumb), bug #300744 (make quickpkg exclude - CONTENTS from xpak), bug #301926 (ValueError triggered by corrupt manifest), - and bug #302005 (remove broken __main__ code from sets module). Bug #302803 - tracks all bugs fixed since portage-2.1.7.16. Note that this is the first - release with support for EAPI 3. - -*portage-2.1.7.16 (24 Dec 2009) - - 24 Dec 2009; Zac Medico +portage-2.1.7.16.ebuild: - 2.1.7.16 bump. This fixes bug #297364 (make ebuild.sh interfere with PATH - less), bug #297541 (repoman upstream.workaround check for no-as-needed), - and bug #297933 (filter BASHOPTS for bash-4.1). Bug #288499 tracks all - bugs fixed since 2.1.6.x. - -*portage-2.1.6.13 (03 May 2009) - - 03 May 2009; Zac Medico +portage-2.1.6.13.ebuild: - 2.1.6.13 bump. This fixes bug #268398 (document econf automatic die) - and bug #267104 (handle insufficient space interaction with userfetch). - Bug #268228 tracks all bugs fixed since 2.1.6.11. diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest deleted file mode 100644 index 0ee962c154..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/Manifest +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - -AUX README.RESCUE 137 SHA256 69bea0c755eab59b6b4d90838b8551744f0b0c8eeac170b1cd13a71ee83f9ac4 SHA512 dba0f0d6d4cd140e636cc70dfb7bdb298e2f2fb040bc07b0874cac994bdbabd26bfd9361d85a0f8b9a92a185281e4901606b9e4f563afdc8867341bbe6af1cb0 WHIRLPOOL 713fcc790442999d56e13efaf536fec9954dadeda680b3642d0358311332096ddedf8b55697bd1ca620d84f0dc7d025ff7931e086c74c1f5032be72dca2ff8f5 -DIST portage-2.1.11.31.tar.bz2 848585 SHA256 3013e9ba1fc3f87a5fedff8e5a1d2b36d6a9e06538fdebee6ab7b4cf61d273ce SHA512 12222ecb8e3f3b239c7616568475d87f2ef705b83cb72311c0d70df49c7eef1f1bb4e898afb6f17023b40077a80f9ae26129aef0a52f9f16e22140e5ea8d8522 WHIRLPOOL b3d3b0fc90476c6bd6c41a1dea17999ca21598db547c8e691fdd378e9bbacb991954f03378a033755008d7bc27d15b2505f62e6408ec914e840ead4edc0a5c9a -DIST portage-2.1.11.50.tar.bz2 895469 SHA256 39f61e4f2256cbc9f7b6e5da9d6eeb43ff16fd674d7304a7b280ff84d8835110 SHA512 4d313e62ee250b852950ebfd2bb8edf465f56d8e6b9f473b0c55b3856755ad4cb6c6875ab067ca2978c4a0cc75ad6583dc14425b5b4fcf096e72797bc5271a8c WHIRLPOOL cf0b2212eda9c78a8e57f37570dc87a0af0f11ea7b9b79938e7ac78b2196283880571e8bd000c35d665e5188500064aa5065dc7b5a2d0de21c9b8e4d54a2bfec -DIST portage-2.1.6.7.patch.bz2 50118 SHA256 5f0605b51a24d23703330b040d2f7154322284db3e0cefa7499002ff1fa733c0 SHA512 dd2acc1d436cad77cfc83c4dec79316763c1fb88d61b7702e8e47e6f31b2b9fe49e8a4cf4a947614a2acd6db2ef080ed8b4ae5fce9d9be29d7e218a0ec1576c0 WHIRLPOOL 050f923249fde7c4774a2a8a944889e4270a89b00441f1923c01ab0be38f107503e018d7ab7a7f42615e7e375f0f6c0eb3bdbf3ff4ce1ce226957238a729b1ee -DIST portage-2.1.6.7_p1.patch.bz2 4741 SHA256 ddaae2ad8c01e6477bfe22e23a4da57eb9d079a27a17a08385d56fe2c49eec30 SHA512 39058d815827b340787d813515ed4fb8c52c4fb0caa12ae70c8a9a97b9ba16c2bf4177190cb7d1c508055ce8a7aaa390ba9b31642c7d74bfb4a14d729e720617 WHIRLPOOL 8eab9574ed2e6cabac593d93f8b6ff71465c01376e7eec4cf357c336b5ed3d4f3fb3521991148ba4e34ba00c56bec5534c98311167c03866812277a8d88b0494 -DIST portage-2.1.6.tar.bz2 518771 SHA256 b1c507445b3858449c861568f477e1cfab8b2326ded906b852c5193fb3839647 SHA512 d035f84601802ecaea3c0edea037a783fec743733bd40895eb5bb8a220449eb24cf1e2623cbca2e378197caba63a833d8cc54f1e49d886266307288b0adcfbdc WHIRLPOOL 25b6a6e3810f428c630ec7a6dc3cf2cfbe6bfdf276553786e1436b2630532ab442186e427bc75f249a224c5171b508a92303ce352b07be1a8a4d805c568ec10f -DIST portage-2.2.0_alpha142.tar.bz2 848765 SHA256 c2fb4499fbf747ad11a297f2ab0340f6af7958868cc72530627dd46596e88ff5 SHA512 f0fb016503d1e7998cc295c07ea83d4210075ea3d8c9421e2e9fe4256dde4138a073c60c6f11dc1dd0b3a362404810dea84ee878eec8a0c74bd43ef8e3741d2c WHIRLPOOL 34f1f5ebd2f18e52b1d441d763fda335cdbcc879aa89e36ca5a8e344567c8ab30d7a88864f97a332ba4b2a9d226eae89a41302e73ebe7eb2d33d2a9a0a3211be -DIST portage-2.2.0_alpha160.tar.bz2 895123 SHA256 25741e1a0cb2169008a20a3eda99666223694f1a046b3ed26ef43246f77acc84 SHA512 bfaf840c56d088a57211fcb6a7e78279f9980078dc0d199828a6cd663fe3801b76a0375ba4cfe00c4455fe822a40d104b3424608751d85f577824cdc03605b35 WHIRLPOOL e3c4a8f9a484e42c30319fe842807557e2953c4bf6c8849a639b6b908044f84f7283f18dd260cd3d8ce5c8ef1f037fa51b67d08c062b76f8267d76ab83f2f6d0 -DIST portage-2.2.0_alpha161.patch.bz2 2850 SHA256 77e949bb0b3c6ef10839ec9ae5f29477e88211a35964b75459ec4fa363a1ced5 SHA512 656181fe02cd983e647b4dbe615718e62284cbccf118f98cb7bff02f704d4d3f7fd24d4f161eb1d34ceab3d4e3ac233743a8d1ab33312517de8498c8f3417eb7 WHIRLPOOL 3127c9347a006ac393a2ffd1ebe8c18c3363fec5ca3114a99375c9446daf5737fbdc6d9e813ce95d75851b954c40cf658f0fd81800560cc2b5c2dd6d4c75a969 -DIST portage-man-pl-2.1.2.tar.bz2 53893 SHA256 960eaa7c6f3a2af44bdc665266a8e884628a562373cc477d301597ecc5ef961f SHA512 5f5c8dd1559048546633b1e7291ff8c0f5d637595f1a4c98405424b08c30c089fc9359e0214f78fbe358754f20d327794f4692b9b67639585c29b755975ee853 WHIRLPOOL 756e267b84077501d976f46fa448cda5368cd52aeca6ec43d109c81fe8e2364e0cd0f35630d68a4186c70e3b440b7c870b86ac7ef83cc0afa43e10f9f8e1f422 -EBUILD portage-2.1.11.31.ebuild 9491 SHA256 9863b8e6dde0e56fa233e173681627b0829ad3a435ac1baa9f83009c0674261d SHA512 507850eeca468753feeb90c422d182491246fd6f7aae7ef1a250464d1e0cc03385258e07cbf0d3f142db2d95ea23d373739c30fc640793c10e3e9b472f5e0bb7 WHIRLPOOL aff26d5e9fdd8459ee2a217bab8c8fb2210428ad8ac5418bfcfb2c4420cf8d9a4a65f20972d678ca4986bfe88e290989c3c6477d14f8799573fb8fa7df8a9674 -EBUILD portage-2.1.11.50.ebuild 9527 SHA256 f8970421a7200ee8e9df3c2614cbfd03dd5beabdff7efe9acc5e410a34a07f68 SHA512 d17f855c8fc0942f93d7a39d3e79ab092d56990c69f698337b1ab4ed8d0ea5560dd97c9f08fec2c42862b636ac6f5b5c974dbd640cb2f9ec61f6d38e354c6c0a WHIRLPOOL 6ab24d858c216a893f8ca823210e2cd011d5caa739eb4a31b982679d736d20df3b1ce2aba2264af28bcefac838bc148e61efd678b76d90d5c45265a11f26878e -EBUILD portage-2.1.6.7_p1.ebuild 8391 SHA256 aa62c9abf35aa31026863d881fcc47eab499992fa290a4aeda39435289358c94 SHA512 f5c66cf066f6096c930a25825314837b214d9c23386f62af8ee4f50b92c8878765ce81274a5335b5f45c8707849ecd3ca5dedb466af7dbbd2744cd356ab7bcbc WHIRLPOOL 6eca21d68dc0ad96d0ab6c9bb84b14dd21100cd48a7531305fa63a1276a1d90ddda33724c32d695632215da338aa91fba412b2f398d2d1ee91fd730d4678484d -EBUILD portage-2.2.0_alpha142.ebuild 11604 SHA256 43d5a0819c0c6e1eba6367e9e7dae5d9d2ea2d225b3b4d6ae411e901fd958fb6 SHA512 a6915f0247c7c2569f0375f438653be00ced292c6103c2fdbaa929b2356644d34e470303f3febe1699f5e34f0ad18159b5ac806b8f274936914f24c78f2f60be WHIRLPOOL 9794d6d300605cc03bd685e6e53254980d9213aee9b5b6302d6307652c615cedd84376fe01b06bb7440ffe6d5d72e6271bf3f87b7f0dae44686549cb76b2d77d -EBUILD portage-2.2.0_alpha161.ebuild 11629 SHA256 caa4d9b6b957cfa6a56a9222777b251b26ce5bea9a9d047184c3810ed52c4059 SHA512 55bae972b15f73486c55e05fe5ac7855e59669f8872076a07cf6996965f084e1a46d32ef2516cf83e71775c1dd40cda1a5d5f28f902f20f800a919481606fe61 WHIRLPOOL 395158708748eccaab91a7f79dbb62edf86df1035e243933964a03119790a12fa6de0575ca14455ea65a77d20b99698ced07a40cd00fee09730cc04485459e2b -EBUILD portage-9999.ebuild 10879 SHA256 b96acd02aebee2316dec2b9645ef4daa77ea8c4a494332f3f523c48f026212f1 SHA512 724873dffe51cec7439854159d0a440e1f153dcc08abdd4dec36ac1690b4d7decc7888fc6fcdf20ea0d2a53b06c6a476d69f7ce774316e26a2046d2b1e4b45ac WHIRLPOOL 0443ef6e30f230361ae1bc1ccf37e37547017e0ca764003cce60814acffbaa6c5a018cd2c70575c6f8334416d19fa60127f476749304c5b42a261a9272bf071e -MISC ChangeLog 9278 SHA256 114f5b33895b68e1000c43a2d74cd17da0e2053888ab30be7377c67237ad14f6 SHA512 95009d5680035a088f5f1f20ac6240c1020cb6884374295fe9c4f0de5a1c99fa90d938a3d4a91dd019ea33c3fc1dbac934088ed16f08d0e50aafac9e43b1bb6e WHIRLPOOL 6159c1642cd0529c149e418aff8a24eecfd66606b521a919c723de46c66d0e77d28cfef03c750ab489429ecaad71f164ee1122e12235930b14ce401fc8af3ccc -MISC ChangeLog-2012 133873 SHA256 157a7eb13d4cf2e2c94bfcb7e91f218af1ea88f5ff20c24a50546950a9839c94 SHA512 1241f4ccd7b31bdd340649417257b0e95202992feb66e0cd4d41fc2d35bf0baeac19680f34a831d2fefce0c0fec03aa6e7a191f783e59cf9b93aaf266f010a3f WHIRLPOOL b027bdba0f5ccc1b3a2dc18df92d82b473af5e55536816b7177071c1ae1a89e4d50d42c2093fa1bbe28b92a42014fbefbfc9e7daa4e6426ebecbd5bffc3d479f -MISC metadata.xml 926 SHA256 8736b6884463a876892a4fd45f6239a123c1229d2372ce47d5dff719f0eba2b9 SHA512 38d3c969b49012a94bfadecd1d48936513391a305eee5e5e55eb6c4a6b82e05b6ebf1dd6dfe6fbb5a96ba5fffc33fddcfda8d41f3d367ff4ad030859a655ef8b WHIRLPOOL 6f9afcacb628f75f84d03e812ed93b4e3613fcfc4e1180bcb0551c1c8025050ebd3b21fcdef79358aaad3606558345fcd6f914928eb62155e5b9a50bde0d3bf4 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.19 (GNU/Linux) - -iEYEAREIAAYFAlEFpGAACgkQ/ejvha5XGaO9jwCeLeUuxo6dikEYzv1dbXeK7v03 -49MAn1wp8Fi6XMI0oWoJz6t6n7P88ll5 -=g6Ji ------END PGP SIGNATURE----- diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/2.1.10.11-r9.patch b/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/2.1.10.11-r9.patch deleted file mode 100644 index 5d20f2e941..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/files/2.1.10.11-r9.patch +++ /dev/null @@ -1,3458 +0,0 @@ -diff --git a/bin/ebuild b/bin/ebuild -index f8b6d79..66ea6cf 100755 ---- a/bin/ebuild -+++ b/bin/ebuild -@@ -204,8 +204,9 @@ def discard_digests(myebuild, mysettings, mydbapi): - portage._doebuild_manifest_exempt_depend += 1 - pkgdir = os.path.dirname(myebuild) - fetchlist_dict = portage.FetchlistDict(pkgdir, mysettings, mydbapi) -- from portage.manifest import Manifest -- mf = Manifest(pkgdir, mysettings["DISTDIR"], -+ mf = mysettings.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(pkgdir))) -+ mf = mf.load_manifest(pkgdir, mysettings["DISTDIR"], - fetchlist_dict=fetchlist_dict, manifest1_compat=False) - mf.create(requiredDistfiles=None, - assumeDistHashesSometimes=True, assumeDistHashesAlways=True) -@@ -228,10 +229,8 @@ build_dir_phases = set(["setup", "unpack", "prepare", "configure", "compile", - # sourced again even if $T/environment already exists. - ebuild_changed = False - if mytree == "porttree" and build_dir_phases.intersection(pargs): -- metadata, st, emtime = \ -- portage.portdb._pull_valid_cache(cpv, ebuild, ebuild_portdir) -- if metadata is None: -- ebuild_changed = True -+ ebuild_changed = \ -+ portage.portdb._pull_valid_cache(cpv, ebuild, ebuild_portdir)[0] is None - - tmpsettings = portage.config(clone=portage.settings) - tmpsettings["PORTAGE_VERBOSE"] = "1" -diff --git a/bin/ebuild-helpers/prepstrip b/bin/ebuild-helpers/prepstrip -index d25259d..098e0c6 100755 ---- a/bin/ebuild-helpers/prepstrip -+++ b/bin/ebuild-helpers/prepstrip -@@ -4,31 +4,60 @@ - - source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh - -+# avoid multiple calls to `has`. this creates things like: -+# FEATURES_foo=false -+# if "foo" is not in $FEATURES -+tf() { "$@" && echo true || echo false ; } -+exp_tf() { -+ local flag var=$1 -+ shift -+ for flag in "$@" ; do -+ eval ${var}_${flag}=$(tf has ${flag} ${!var}) -+ done -+} -+exp_tf FEATURES installsources nostrip splitdebug -+exp_tf RESTRICT binchecks installsources strip -+ - banner=false - SKIP_STRIP=false --if has nostrip ${FEATURES} || \ -- has strip ${RESTRICT} --then -+if ${RESTRICT_strip} || ${FEATURES_nostrip} ; then - SKIP_STRIP=true - banner=true -- has installsources ${FEATURES} || exit 0 -+ ${FEATURES_installsources} || exit 0 - fi - --STRIP=${STRIP:-${CHOST}-strip} --type -P -- ${STRIP} > /dev/null || STRIP=strip --OBJCOPY=${OBJCOPY:-${CHOST}-objcopy} --type -P -- ${OBJCOPY} > /dev/null || OBJCOPY=objcopy -+# look up the tools we might be using -+for t in STRIP:strip OBJCOPY:objcopy READELF:readelf ; do -+ v=${t%:*} # STRIP -+ t=${t#*:} # strip -+ eval ${v}=\"${!v:-${CHOST}-${t}}\" -+ type -P -- ${!v} >/dev/null || eval ${v}=${t} -+done -+ -+# Figure out what tool set we're using to strip stuff -+unset SAFE_STRIP_FLAGS DEF_STRIP_FLAGS SPLIT_STRIP_FLAGS -+case $(${STRIP} --version 2>/dev/null) in -+*elfutils*) # dev-libs/elfutils -+ # elfutils default behavior is always safe, so don't need to specify -+ # any flags at all -+ SAFE_STRIP_FLAGS="" -+ DEF_STRIP_FLAGS="--remove-comment" -+ SPLIT_STRIP_FLAGS="-f" -+ ;; -+*GNU*) # sys-devel/binutils -+ # We'll leave out -R .note for now until we can check out the relevance -+ # of the section when it has the ALLOC flag set on it ... -+ SAFE_STRIP_FLAGS="--strip-unneeded" -+ DEF_STRIP_FLAGS="-R .comment -R .GCC.command.line" -+ SPLIT_STRIP_FLAGS= -+ ;; -+esac -+: ${PORTAGE_STRIP_FLAGS=${SAFE_STRIP_FLAGS} ${DEF_STRIP_FLAGS}} - --# We'll leave out -R .note for now until we can check out the relevance --# of the section when it has the ALLOC flag set on it ... --export SAFE_STRIP_FLAGS="--strip-unneeded" --export PORTAGE_STRIP_FLAGS=${PORTAGE_STRIP_FLAGS-${SAFE_STRIP_FLAGS} -R .comment} - prepstrip_sources_dir=/usr/src/debug/${CATEGORY}/${PF} - --if has installsources ${FEATURES} && ! type -P debugedit >/dev/null ; then -- ewarn "FEATURES=installsources is enabled but the debugedit binary could not" -- ewarn "be found. This feature will not work unless debugedit is installed!" --fi -+type -P debugedit >/dev/null && debugedit_found=true || debugedit_found=false -+debugedit_warned=false - - unset ${!INODE_*} - -@@ -41,19 +70,33 @@ inode_var_name() { - } - - save_elf_sources() { -- has installsources ${FEATURES} || return 0 -- has installsources ${RESTRICT} && return 0 -- type -P debugedit >/dev/null || return 0 -+ ${FEATURES_installsources} || return 0 -+ ${RESTRICT_installsources} && return 0 -+ if ! ${debugedit_found} ; then -+ if ! ${debugedit_warned} ; then -+ debugedit_warned=true -+ ewarn "FEATURES=installsources is enabled but the debugedit binary could not" -+ ewarn "be found. This feature will not work unless debugedit is installed!" -+ fi -+ return 0 -+ fi - - local x=$1 - local inode=$(inode_var_name "$x") - [[ -n ${!inode} ]] && return 0 -- debugedit -b "${WORKDIR}" -d "${prepstrip_sources_dir}" \ -- -l "${T}"/debug.sources "${x}" -+ -+ # since we're editing the ELF here, we should recompute the build-id -+ # (the -i flag below). save that output so we don't need to recompute -+ # it later on in the save_elf_debug step. -+ buildid=$(debugedit -i \ -+ -b "${WORKDIR}" \ -+ -d "${prepstrip_sources_dir}" \ -+ -l "${T}"/debug.sources \ -+ "${x}") - } - - save_elf_debug() { -- has splitdebug ${FEATURES} || return 0 -+ ${FEATURES_splitdebug} || return 0 - - local x=$1 - local y="${D}usr/lib/debug/${x:${#D}}.debug" -@@ -61,23 +104,30 @@ save_elf_debug() { - # dont save debug info twice - [[ ${x} == *".debug" ]] && return 0 - -- # this will recompute the build-id, but for now that's ok -- local buildid="$( type -P debugedit >/dev/null && debugedit -i "${x}" )" -- -- mkdir -p $(dirname "${y}") -+ mkdir -p "${y%/*}" - - local inode=$(inode_var_name "$x") - if [[ -n ${!inode} ]] ; then - ln "${D}usr/lib/debug/${!inode:${#D}}.debug" "$y" - else - eval $inode=\$x -- ${OBJCOPY} --only-keep-debug "${x}" "${y}" -- ${OBJCOPY} --add-gnu-debuglink="${y}" "${x}" -- [[ -g ${x} ]] && chmod go-r "${y}" -- [[ -u ${x} ]] && chmod go-r "${y}" -- chmod a-x,o-w "${y}" -+ if [[ -e ${T}/prepstrip.split.debug ]] ; then -+ mv "${T}"/prepstrip.split.debug "${y}" -+ else -+ ${OBJCOPY} --only-keep-debug "${x}" "${y}" -+ ${OBJCOPY} --add-gnu-debuglink="${y}" "${x}" -+ fi -+ local args="a-x,o-w" -+ [[ -g ${x} || -u ${x} ]] && args+=",go-r" -+ chmod ${args} "${y}" - fi - -+ # if we don't already have build-id from debugedit, look it up -+ if [[ -z ${buildid} ]] ; then -+ # convert the readelf output to something useful -+ buildid=$(${READELF} -x .note.gnu.build-id "${x}" 2>/dev/null \ -+ | awk '$NF ~ /GNU/ { getline; printf $2$3$4$5; getline; print $2 }') -+ fi - if [[ -n ${buildid} ]] ; then - local buildid_dir="${D}usr/lib/debug/.build-id/${buildid:0:2}" - local buildid_file="${buildid_dir}/${buildid:2}" -@@ -87,11 +137,31 @@ save_elf_debug() { - fi - } - -+process_elf() { -+ local x=$1 strip_flags=${*:2} -+ -+ vecho " ${x:${#D}}" -+ save_elf_sources "${x}" -+ -+ if ${strip_this} ; then -+ # see if we can split & strip at the same time -+ if [[ -n ${SPLIT_STRIP_FLAGS} ]] ; then -+ ${STRIP} ${strip_flags} \ -+ -f "${T}"/prepstrip.split.debug \ -+ -F "${x##*/}.debug" \ -+ "${x}" -+ save_elf_debug "${x}" -+ else -+ save_elf_debug "${x}" -+ ${STRIP} ${strip_flags} "${x}" -+ fi -+ fi -+} -+ - # The existance of the section .symtab tells us that a binary is stripped. - # We want to log already stripped binaries, as this may be a QA violation. - # They prevent us from getting the splitdebug data. --if ! has binchecks ${RESTRICT} && \ -- ! has strip ${RESTRICT} ; then -+if ! ${RESTRICT_binchecks} && ! ${RESTRICT_strip} ; then - log=$T/scanelf-already-stripped.log - qa_var="QA_PRESTRIPPED_${ARCH/-/_}" - [[ -n ${!qa_var} ]] && QA_PRESTRIPPED="${!qa_var}" -@@ -149,6 +219,7 @@ do - # actually causes problems. install sources for all - # elf types though cause that stuff is good. - -+ buildid= - if [[ ${f} == *"current ar archive"* ]] ; then - vecho " ${x:${#D}}" - if ${strip_this} ; then -@@ -156,12 +227,7 @@ do - ${STRIP} -g "${x}" - fi - elif [[ ${f} == *"SB executable"* || ${f} == *"SB shared object"* ]] ; then -- vecho " ${x:${#D}}" -- save_elf_sources "${x}" -- if ${strip_this} ; then -- save_elf_debug "${x}" -- ${STRIP} ${PORTAGE_STRIP_FLAGS} "${x}" -- fi -+ process_elf "${x}" ${PORTAGE_STRIP_FLAGS} - elif [[ ${f} == *"SB relocatable"* ]] ; then - vecho " ${x:${#D}}" - save_elf_sources "${x}" -@@ -173,9 +239,9 @@ do - done - - if [[ -s ${T}/debug.sources ]] && \ -- has installsources ${FEATURES} && \ -- ! has installsources ${RESTRICT} && \ -- type -P debugedit >/dev/null -+ ${FEATURES_installsources} && \ -+ ! ${RESTRICT_installsources} && \ -+ ${debugedit_found} - then - vecho "installsources: rsyncing source files" - [[ -d ${D}${prepstrip_sources_dir} ]] || mkdir -p "${D}${prepstrip_sources_dir}" -diff --git a/bin/egencache b/bin/egencache -index 1b4265d..5e68980 100755 ---- a/bin/egencache -+++ b/bin/egencache -@@ -38,6 +38,7 @@ except ImportError: - from portage import os, _encodings, _unicode_encode, _unicode_decode - from _emerge.MetadataRegen import MetadataRegen - from portage.cache.cache_errors import CacheError, StatCollision -+from portage.cache import metadata - from portage.manifest import guessManifestFileType - from portage.util import cmp_sort_key, writemsg_level - from portage import cpv_getkey -@@ -203,9 +204,11 @@ class GenCache(object): - consumer=self._metadata_callback, - max_jobs=max_jobs, max_load=max_load) - self.returncode = os.EX_OK -- metadbmodule = portdb.settings.load_best_module("portdbapi.metadbmodule") -- self._trg_cache = metadbmodule(portdb.porttrees[0], -- "metadata/cache", portage.auxdbkeys[:]) -+ conf = portdb.repositories.get_repo_for_location(portdb.porttrees[0]) -+ self._trg_cache = conf.get_pregenerated_cache(portage.auxdbkeys[:], -+ force=True, readonly=False) -+ if self._trg_cache is None: -+ raise Exception("cache format %s isn't supported" % (conf.cache_format,)) - if rsync: - self._trg_cache.raise_stat_collision = True - try: -@@ -215,13 +218,15 @@ class GenCache(object): - pass - self._existing_nodes = set() - -- def _metadata_callback(self, cpv, ebuild_path, repo_path, metadata): -+ def _metadata_callback(self, cpv, repo_path, metadata, ebuild_hash): - self._existing_nodes.add(cpv) - self._cp_missing.discard(cpv_getkey(cpv)) - if metadata is not None: - if metadata.get('EAPI') == '0': - del metadata['EAPI'] - try: -+ chf = self._trg_cache.validation_chf -+ metadata['_%s_' % chf] = getattr(ebuild_hash, chf) - try: - self._trg_cache[cpv] = metadata - except StatCollision as sc: -@@ -240,7 +245,7 @@ class GenCache(object): - max_mtime += 1 - max_mtime = long(max_mtime) - try: -- os.utime(ebuild_path, (max_mtime, max_mtime)) -+ os.utime(ebuild_hash.location, (max_mtime, max_mtime)) - except OSError as e: - self.returncode |= 1 - writemsg_level( -diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh -index 8c191ff..05136f4 100755 ---- a/bin/misc-functions.sh -+++ b/bin/misc-functions.sh -@@ -882,8 +882,16 @@ preinst_selinux_labels() { - dyn_package() { - # Make sure $PWD is not ${D} so that we don't leave gmon.out files - # in there in case any tools were built with -pg in CFLAGS. -+ - cd "${T}" -- install_mask "${PORTAGE_BUILDDIR}/image" "${PKG_INSTALL_MASK}" -+ -+ local PROOT="${T}/packaging" -+ # make a temporary copy of ${D} so that any modifications we do that -+ # are binpkg specific, do not influence the actual installed image. -+ cp -la "${PORTAGE_BUILDDIR}/image" "${PROOT}" || die "failed creating packaging tree" -+ -+ install_mask "${PROOT}" "${PKG_INSTALL_MASK}" -+ - local tar_options="" - [[ $PORTAGE_VERBOSE = 1 ]] && tar_options+=" -v" - # Sandbox is disabled in case the user wants to use a symlink -@@ -892,7 +900,7 @@ dyn_package() { - [ -z "${PORTAGE_BINPKG_TMPFILE}" ] && \ - die "PORTAGE_BINPKG_TMPFILE is unset" - mkdir -p "${PORTAGE_BINPKG_TMPFILE%/*}" || die "mkdir failed" -- tar $tar_options -cf - $PORTAGE_BINPKG_TAR_OPTS -C "${D}" . | \ -+ tar $tar_options -cf - $PORTAGE_BINPKG_TAR_OPTS -C "${PROOT}" . | \ - $PORTAGE_BZIP2_COMMAND -c > "$PORTAGE_BINPKG_TMPFILE" - assert "failed to pack binary package: '$PORTAGE_BINPKG_TMPFILE'" - PYTHONPATH=${PORTAGE_PYM_PATH}${PYTHONPATH:+:}${PYTHONPATH} \ -@@ -913,6 +921,9 @@ dyn_package() { - [ -n "${md5_hash}" ] && \ - echo ${md5_hash} > "${PORTAGE_BUILDDIR}"/build-info/BINPKGMD5 - vecho ">>> Done." -+ -+ # cleanup our temp tree -+ rm -rf "${PROOT}" - cd "${PORTAGE_BUILDDIR}" - >> "$PORTAGE_BUILDDIR/.packaged" || \ - die "Failed to create $PORTAGE_BUILDDIR/.packaged" -@@ -985,6 +996,21 @@ success_hooks() { - done - } - -+install_hooks() { -+ local hooks_dir="${PORTAGE_CONFIGROOT}etc/portage/hooks/install" -+ local fp -+ local ret=0 -+ shopt -s nullglob -+ for fp in "${hooks_dir}"/*; do -+ if [ -x "$fp" ]; then -+ "$fp" -+ ret=$(( $ret | $? )) -+ fi -+ done -+ shopt -u nullglob -+ return $ret -+} -+ - if [ -n "${MISC_FUNCTIONS_ARGS}" ]; then - source_all_bashrcs - [ "$PORTAGE_DEBUG" == "1" ] && set -x -diff --git a/bin/portageq b/bin/portageq -index 57a7c39..a8a3a63 100755 ---- a/bin/portageq -+++ b/bin/portageq -@@ -473,6 +473,9 @@ def best_visible(argv): - if pkg.visible: - writemsg_stdout("%s\n" % (pkg.cpv,), noiselevel=-1) - return os.EX_OK -+ -+ # No package found, write out an empty line. -+ writemsg_stdout("\n", noiselevel=-1) - except KeyError: - pass - return 1 -@@ -480,16 +483,27 @@ best_visible.uses_root = True - - - def mass_best_visible(argv): -- """ []+ -+ """ [] []+ - Returns category/package-version (without .ebuild). -+ The pkgtype argument defaults to "ebuild" if unspecified, -+ otherwise it must be one of ebuild, binary, or installed. - """ -+ type_map = { -+ "ebuild":"porttree", -+ "binary":"bintree", -+ "installed":"vartree"} -+ - if (len(argv) < 2): - print("ERROR: insufficient parameters!") - sys.exit(2) - try: -- for pack in argv[1:]: -- mylist=portage.db[argv[0]]["porttree"].dbapi.match(pack) -- print(pack+":"+portage.best(mylist)) -+ root = argv.pop(0) -+ pkgtype = "ebuild" -+ if argv[0] in type_map: -+ pkgtype = argv.pop(0) -+ for pack in argv: -+ writemsg_stdout("%s:" % pack, noiselevel=-1) -+ best_visible([root, pkgtype, pack]) - except KeyError: - sys.exit(1) - mass_best_visible.uses_root = True -diff --git a/bin/repoman b/bin/repoman -index 10f603e..a90729c 100755 ---- a/bin/repoman -+++ b/bin/repoman -@@ -1103,7 +1103,9 @@ for x in scanlist: - portage._doebuild_manifest_exempt_depend += 1 - try: - distdir = repoman_settings['DISTDIR'] -- mf = portage.manifest.Manifest(checkdir, distdir, -+ mf = repoman_settings.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(checkdir))) -+ mf = mf.load_manifest(checkdir, distdir, - fetchlist_dict=fetchlist_dict) - mf.create(requiredDistfiles=None, - assumeDistHashesAlways=True) -@@ -1308,7 +1310,9 @@ for x in scanlist: - raise - continue - -- mf = Manifest(checkdir, repoman_settings["DISTDIR"]) -+ mf = repoman_settings.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(checkdir))) -+ mf = mf.load_manifest(checkdir, repoman_settings["DISTDIR"]) - mydigests=mf.getTypeDigests("DIST") - - fetchlist_dict = portage.FetchlistDict(checkdir, repoman_settings, portdb) -diff --git a/cnf/make.globals b/cnf/make.globals -index 0be9732..df40d6e 100644 ---- a/cnf/make.globals -+++ b/cnf/make.globals -@@ -101,6 +101,9 @@ PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress - # message should be produced. - PORTAGE_SYNC_STALE="30" - -+# Executed before emerge exit if FEATURES=clean-logs is enabled. -+PORT_LOGDIR_CLEAN="find \"\${PORT_LOGDIR}\" -type f ! -name \"summary.log*\" -mtime +7 -delete" -+ - # Minimal CONFIG_PROTECT - CONFIG_PROTECT="/etc" - CONFIG_PROTECT_MASK="/etc/env.d" -diff --git a/man/emerge.1 b/man/emerge.1 -index 835d2c0..e1df6d2 100644 ---- a/man/emerge.1 -+++ b/man/emerge.1 -@@ -543,18 +543,16 @@ to be set in the \fBmake.conf\fR(5) - \fBEMERGE_DEFAULT_OPTS\fR variable. - .TP - .BR "\-\-rebuild\-if\-new\-rev [ y | n ]" --Rebuild packages when dependencies that are used at both build\-time and --run\-time are built, if the dependency is not already installed with the --same version and revision. -+Rebuild packages when build\-time dependencies are built from source, if the -+dependency is not already installed with the same version and revision. - .TP - .BR "\-\-rebuild\-if\-new\-ver [ y | n ]" --Rebuild packages when dependencies that are used at both build\-time and --run\-time are built, if the dependency is not already installed with the --same version. Revision numbers are ignored. -+Rebuild packages when build\-time dependencies are built from source, if the -+dependency is not already installed with the same version. Revision numbers -+are ignored. - .TP - .BR "\-\-rebuild\-if\-unbuilt [ y | n ]" --Rebuild packages when dependencies that are used at both build\-time and --run\-time are built. -+Rebuild packages when build\-time dependencies are built from source. - .TP - .BR "\-\-rebuilt\-binaries [ y | n ]" - Replace installed packages with binary packages that have -diff --git a/man/make.conf.5 b/man/make.conf.5 -index e86dc74..a388fd4 100644 ---- a/man/make.conf.5 -+++ b/man/make.conf.5 -@@ -198,10 +198,6 @@ non-developers as well. The \fBsandbox\fR feature is very important and - should not be disabled by default. - .RS - .TP --.B allow\-missing\-manifests --Allow missing manifest entries. This is primarily useful for temporary --trees or instances where manifests aren't used. --.TP - .B assume\-digests - When commiting work to cvs with \fBrepoman\fR(1), assume that all existing - SRC_URI digests are correct. This feature also affects digest generation via -@@ -241,6 +237,12 @@ like "File not recognized: File truncated"), try recompiling the application - with ccache disabled before reporting a bug. Unless you are doing development - work, do not enable ccache. - .TP -+.B clean\-logs -+Enable automatic execution of the command specified by the -+PORT_LOGDIR_CLEAN variable. The default PORT_LOGDIR_CLEAN setting will -+remove all files from PORT_LOGDIR that were last modified at least 7 -+days ago. -+.TP - .B collision\-protect - A QA\-feature to ensure that a package doesn't overwrite files it doesn't own. - The \fICOLLISION_IGNORE\fR variable can be used to selectively disable this -@@ -599,6 +601,13 @@ directory does not exist, it will be created automatically and group permissions - will be applied to it. If the directory already exists, portage will not - modify it's permissions. - .TP -+.B PORT_LOGDIR_CLEAN -+This variable should contain a command for portage to call in order -+to clean PORT_LOGDIR. The command string should contain a -+\\${PORT_LOGDIR} place\-holder that will be substituted -+with the value of that variable. This variable will have no effect -+unless \fBclean\-logs\fR is enabled in \fBFEATURES\fR. -+.TP - \fBPORTAGE_BINHOST\fR = \fI[space delimited URI list]\fR - This is a list of hosts from which portage will grab prebuilt\-binary packages. - Each entry in the list must specify the full address of a directory -diff --git a/man/portage.5 b/man/portage.5 -index f115570..1f05d97 100644 ---- a/man/portage.5 -+++ b/man/portage.5 -@@ -776,6 +776,13 @@ precedence over settings in \fBlayout.conf\fR, except tools such as - masters = gentoo java-overlay - # indicate that this repo can be used as a substitute for foo-overlay - aliases = foo-overlay -+# do not sign manifests in this repo -+sign\-manifests = false -+# thin\-manifests only contain DIST entries -+thin\-manifests = true -+# indicate that this repo requires manifests for each package, and is -+# considered a failure if a manifest file is missing/incorrect -+use\-manifests = strict - .fi - .RE - .TP -diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py -index feb68d0..61c7848 100644 ---- a/pym/_emerge/EbuildFetcher.py -+++ b/pym/_emerge/EbuildFetcher.py -@@ -21,7 +21,7 @@ class EbuildFetcher(SpawnProcess): - - __slots__ = ("config_pool", "ebuild_path", "fetchonly", "fetchall", - "pkg", "prefetch") + \ -- ("_digests", "_settings", "_uri_map") -+ ("_digests", "_manifest", "_settings", "_uri_map") - - def already_fetched(self, settings): - """ -@@ -40,7 +40,7 @@ class EbuildFetcher(SpawnProcess): - - digests = self._get_digests() - distdir = settings["DISTDIR"] -- allow_missing = "allow-missing-manifests" in settings.features -+ allow_missing = self._get_manifest().allow_missing - - for filename in uri_map: - # Use stat rather than lstat since fetch() creates -@@ -179,7 +179,7 @@ class EbuildFetcher(SpawnProcess): - not in ('yes', 'true') - - rval = 1 -- allow_missing = 'allow-missing-manifests' in self._settings.features -+ allow_missing = self._get_manifest().allow_missing - try: - if fetch(self._uri_map, self._settings, fetchonly=self.fetchonly, - digests=copy.deepcopy(self._get_digests()), -@@ -203,11 +203,16 @@ class EbuildFetcher(SpawnProcess): - raise AssertionError("ebuild not found for '%s'" % self.pkg.cpv) - return self.ebuild_path - -+ def _get_manifest(self): -+ if self._manifest is None: -+ pkgdir = os.path.dirname(self._get_ebuild_path()) -+ self._manifest = self.pkg.root_config.settings.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(pkgdir))).load_manifest(pkgdir, None) -+ return self._manifest -+ - def _get_digests(self): -- if self._digests is not None: -- return self._digests -- self._digests = portage.Manifest(os.path.dirname( -- self._get_ebuild_path()), None).getTypeDigests("DIST") -+ if self._digests is None: -+ self._digests = self._get_manifest().getTypeDigests("DIST") - return self._digests - - def _get_uri_map(self): -diff --git a/pym/_emerge/EbuildMetadataPhase.py b/pym/_emerge/EbuildMetadataPhase.py -index e53298b..f51b86f 100644 ---- a/pym/_emerge/EbuildMetadataPhase.py -+++ b/pym/_emerge/EbuildMetadataPhase.py -@@ -20,8 +20,8 @@ class EbuildMetadataPhase(SubProcess): - used to extract metadata from the ebuild. - """ - -- __slots__ = ("cpv", "ebuild_path", "fd_pipes", "metadata_callback", -- "ebuild_mtime", "metadata", "portdb", "repo_path", "settings") + \ -+ __slots__ = ("cpv", "ebuild_hash", "fd_pipes", "metadata_callback", -+ "metadata", "portdb", "repo_path", "settings") + \ - ("_raw_metadata",) - - _file_names = ("ebuild",) -@@ -31,7 +31,7 @@ class EbuildMetadataPhase(SubProcess): - def _start(self): - settings = self.settings - settings.setcpv(self.cpv) -- ebuild_path = self.ebuild_path -+ ebuild_path = self.ebuild_hash.location - - eapi = None - if eapi is None and \ -@@ -44,8 +44,8 @@ class EbuildMetadataPhase(SubProcess): - - if eapi is not None: - if not portage.eapi_is_supported(eapi): -- self.metadata_callback(self.cpv, self.ebuild_path, -- self.repo_path, {'EAPI' : eapi}, self.ebuild_mtime) -+ self.metadata_callback(self.cpv, -+ self.repo_path, {'EAPI' : eapi}, self.ebuild_hash) - self._set_returncode((self.pid, os.EX_OK << 8)) - self.wait() - return -@@ -128,6 +128,5 @@ class EbuildMetadataPhase(SubProcess): - else: - metadata = zip(portage.auxdbkeys, metadata_lines) - self.metadata = self.metadata_callback(self.cpv, -- self.ebuild_path, self.repo_path, metadata, -- self.ebuild_mtime) -+ self.repo_path, metadata, self.ebuild_hash) - -diff --git a/pym/_emerge/MetadataRegen.py b/pym/_emerge/MetadataRegen.py -index 8103175..b338056 100644 ---- a/pym/_emerge/MetadataRegen.py -+++ b/pym/_emerge/MetadataRegen.py -@@ -3,6 +3,7 @@ - - import portage - from portage import os -+from portage.eclass_cache import hashed_path - from _emerge.EbuildMetadataPhase import EbuildMetadataPhase - from _emerge.PollScheduler import PollScheduler - -@@ -68,16 +69,15 @@ class MetadataRegen(PollScheduler): - ebuild_path, repo_path = portdb.findname2(cpv) - if ebuild_path is None: - raise AssertionError("ebuild not found for '%s'" % cpv) -- metadata, st, emtime = portdb._pull_valid_cache( -+ metadata, ebuild_hash = portdb._pull_valid_cache( - cpv, ebuild_path, repo_path) - if metadata is not None: - if consumer is not None: -- consumer(cpv, ebuild_path, -- repo_path, metadata) -+ consumer(cpv, repo_path, metadata, ebuild_hash) - continue - -- yield EbuildMetadataPhase(cpv=cpv, ebuild_path=ebuild_path, -- ebuild_mtime=emtime, -+ yield EbuildMetadataPhase(cpv=cpv, -+ ebuild_hash=ebuild_hash, - metadata_callback=portdb._metadata_callback, - portdb=portdb, repo_path=repo_path, - settings=portdb.doebuild_settings) -@@ -176,9 +176,9 @@ class MetadataRegen(PollScheduler): - # On failure, still notify the consumer (in this case the metadata - # argument is None). - self._consumer(metadata_process.cpv, -- metadata_process.ebuild_path, - metadata_process.repo_path, -- metadata_process.metadata) -+ metadata_process.metadata, -+ metadata_process.ebuild_hash) - - self._schedule() - -diff --git a/pym/_emerge/MiscFunctionsProcess.py b/pym/_emerge/MiscFunctionsProcess.py -index ce0ab14..afa44fb 100644 ---- a/pym/_emerge/MiscFunctionsProcess.py -+++ b/pym/_emerge/MiscFunctionsProcess.py -@@ -29,5 +29,11 @@ class MiscFunctionsProcess(AbstractEbuildProcess): - AbstractEbuildProcess._start(self) - - def _spawn(self, args, **kwargs): -- self.settings.pop("EBUILD_PHASE", None) -- return spawn(" ".join(args), self.settings, **kwargs) -+ # Temporarily unset EBUILD_PHASE so that bashrc code doesn't -+ # think this is a real phase. -+ phase_backup = self.settings.pop("EBUILD_PHASE", None) -+ try: -+ return spawn(" ".join(args), self.settings, **kwargs) -+ finally: -+ if phase_backup is not None: -+ self.settings["EBUILD_PHASE"] = phase_backup -diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py -index 2166963..6b65b56 100644 ---- a/pym/_emerge/actions.py -+++ b/pym/_emerge/actions.py -@@ -1658,14 +1658,6 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - porttrees_data = [] - for path in porttrees: - src_db = portdb._pregen_auxdb.get(path) -- if src_db is None and \ -- os.path.isdir(os.path.join(path, 'metadata', 'cache')): -- src_db = portdb.metadbmodule( -- path, 'metadata/cache', auxdbkeys, readonly=True) -- try: -- src_db.ec = portdb._repo_info[path].eclass_db -- except AttributeError: -- pass - - if src_db is not None: - porttrees_data.append(TreeData(portdb.auxdb[path], -@@ -1704,7 +1696,6 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - if onProgress is not None: - onProgress(maxval, curval) - -- from portage.cache.util import quiet_mirroring - from portage import eapi_is_supported, \ - _validate_cache_for_unsupported_eapis - -@@ -1713,7 +1704,6 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - # 1) erase the progress bar - # 2) show the error message - # 3) redraw the progress bar on a new line -- noise = quiet_mirroring() - - for cp in cp_all: - for tree_data in porttrees_data: -@@ -1721,13 +1711,7 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - tree_data.valid_nodes.add(cpv) - try: - src = tree_data.src_db[cpv] -- except KeyError as e: -- noise.missing_entry(cpv) -- del e -- continue -- except CacheError as ce: -- noise.exception(cpv, ce) -- del ce -+ except (CacheError, KeyError): - continue - - eapi = src.get('EAPI') -@@ -1737,8 +1721,6 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - eapi_supported = eapi_is_supported(eapi) - if not eapi_supported: - if not _validate_cache_for_unsupported_eapis: -- noise.misc(cpv, "unable to validate " + \ -- "cache for EAPI='%s'" % eapi) - continue - - dest = None -@@ -1753,8 +1735,9 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - - if dest is not None: - if not (dest['_mtime_'] == src['_mtime_'] and \ -- tree_data.eclass_db.is_eclass_data_valid( -- dest['_eclasses_']) and \ -+ tree_data.eclass_db.validate_and_rewrite_cache( -+ dest['_eclasses_'], tree_data.dest_db.validation_chf, -+ tree_data.dest_db.store_eclass_paths) is not None and \ - set(dest['_eclasses_']) == set(src['_eclasses_'])): - dest = None - else: -@@ -1775,15 +1758,13 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - try: - inherited = src.get('INHERITED', '') - eclasses = src.get('_eclasses_') -- except CacheError as ce: -- noise.exception(cpv, ce) -- del ce -+ except CacheError: - continue - - if eclasses is not None: -- if not tree_data.eclass_db.is_eclass_data_valid( -- src['_eclasses_']): -- noise.eclass_stale(cpv) -+ if tree_data.eclass_db.validate_and_rewrite_cache( -+ src['_eclasses_'], tree_data.src_db.validation_chf, -+ tree_data.src_db.store_eclass_paths) is None: - continue - inherited = eclasses - else: -@@ -1791,7 +1772,6 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - - if tree_data.src_db.complete_eclass_entries and \ - eclasses is None: -- noise.corruption(cpv, "missing _eclasses_ field") - continue - - if inherited: -@@ -1801,11 +1781,9 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - eclasses = tree_data.eclass_db.get_eclass_data(inherited) - except KeyError: - # INHERITED contains a non-existent eclass. -- noise.eclass_stale(cpv) - continue - - if eclasses is None: -- noise.eclass_stale(cpv) - continue - src['_eclasses_'] = eclasses - else: -@@ -1820,9 +1798,9 @@ def action_metadata(settings, portdb, myopts, porttrees=None): - - try: - tree_data.dest_db[cpv] = src -- except CacheError as ce: -- noise.exception(cpv, ce) -- del ce -+ except CacheError: -+ # ignore it; can't do anything about it. -+ pass - - curval += 1 - if onProgress is not None: -diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py -index 8b6125d..42cc659 100644 ---- a/pym/_emerge/depgraph.py -+++ b/pym/_emerge/depgraph.py -@@ -174,7 +174,7 @@ class _rebuild_config(object): - rebuild_exclude = self._frozen_config.rebuild_exclude - rebuild_ignore = self._frozen_config.rebuild_ignore - if (self.rebuild and isinstance(parent, Package) and -- parent.built and (priority.buildtime or priority.runtime) and -+ parent.built and priority.buildtime and - isinstance(dep_pkg, Package) and - not rebuild_exclude.findAtomForPackage(parent) and - not rebuild_ignore.findAtomForPackage(dep_pkg)): -@@ -209,66 +209,63 @@ class _rebuild_config(object): - - return True - -- def _trigger_rebuild(self, parent, build_deps, runtime_deps): -+ def _trigger_rebuild(self, parent, build_deps): - root_slot = (parent.root, parent.slot_atom) - if root_slot in self.rebuild_list: - return False - trees = self._frozen_config.trees -- children = set(build_deps).intersection(runtime_deps) - reinstall = False -- for slot_atom in children: -- kids = set([build_deps[slot_atom], runtime_deps[slot_atom]]) -- for dep_pkg in kids: -- dep_root_slot = (dep_pkg.root, slot_atom) -- if self._needs_rebuild(dep_pkg): -+ for slot_atom, dep_pkg in build_deps.items(): -+ dep_root_slot = (dep_pkg.root, slot_atom) -+ if self._needs_rebuild(dep_pkg): -+ self.rebuild_list.add(root_slot) -+ return True -+ elif ("--usepkg" in self._frozen_config.myopts and -+ (dep_root_slot in self.reinstall_list or -+ dep_root_slot in self.rebuild_list or -+ not dep_pkg.installed)): -+ -+ # A direct rebuild dependency is being installed. We -+ # should update the parent as well to the latest binary, -+ # if that binary is valid. -+ # -+ # To validate the binary, we check whether all of the -+ # rebuild dependencies are present on the same binhost. -+ # -+ # 1) If parent is present on the binhost, but one of its -+ # rebuild dependencies is not, then the parent should -+ # be rebuilt from source. -+ # 2) Otherwise, the parent binary is assumed to be valid, -+ # because all of its rebuild dependencies are -+ # consistent. -+ bintree = trees[parent.root]["bintree"] -+ uri = bintree.get_pkgindex_uri(parent.cpv) -+ dep_uri = bintree.get_pkgindex_uri(dep_pkg.cpv) -+ bindb = bintree.dbapi -+ if self.rebuild_if_new_ver and uri and uri != dep_uri: -+ cpv_norev = catpkgsplit(dep_pkg.cpv)[:-1] -+ for cpv in bindb.match(dep_pkg.slot_atom): -+ if cpv_norev == catpkgsplit(cpv)[:-1]: -+ dep_uri = bintree.get_pkgindex_uri(cpv) -+ if uri == dep_uri: -+ break -+ if uri and uri != dep_uri: -+ # 1) Remote binary package is invalid because it was -+ # built without dep_pkg. Force rebuild. - self.rebuild_list.add(root_slot) - return True -- elif ("--usepkg" in self._frozen_config.myopts and -- (dep_root_slot in self.reinstall_list or -- dep_root_slot in self.rebuild_list or -- not dep_pkg.installed)): -- -- # A direct rebuild dependency is being installed. We -- # should update the parent as well to the latest binary, -- # if that binary is valid. -- # -- # To validate the binary, we check whether all of the -- # rebuild dependencies are present on the same binhost. -- # -- # 1) If parent is present on the binhost, but one of its -- # rebuild dependencies is not, then the parent should -- # be rebuilt from source. -- # 2) Otherwise, the parent binary is assumed to be valid, -- # because all of its rebuild dependencies are -- # consistent. -- bintree = trees[parent.root]["bintree"] -- uri = bintree.get_pkgindex_uri(parent.cpv) -- dep_uri = bintree.get_pkgindex_uri(dep_pkg.cpv) -- bindb = bintree.dbapi -- if self.rebuild_if_new_ver and uri and uri != dep_uri: -- cpv_norev = catpkgsplit(dep_pkg.cpv)[:-1] -- for cpv in bindb.match(dep_pkg.slot_atom): -- if cpv_norev == catpkgsplit(cpv)[:-1]: -- dep_uri = bintree.get_pkgindex_uri(cpv) -- if uri == dep_uri: -- break -- if uri and uri != dep_uri: -- # 1) Remote binary package is invalid because it was -- # built without dep_pkg. Force rebuild. -- self.rebuild_list.add(root_slot) -- return True -- elif (parent.installed and -- root_slot not in self.reinstall_list): -- inst_build_time = parent.metadata.get("BUILD_TIME") -- try: -- bin_build_time, = bindb.aux_get(parent.cpv, -- ["BUILD_TIME"]) -- except KeyError: -- continue -- if bin_build_time != inst_build_time: -- # 2) Remote binary package is valid, and local package -- # is not up to date. Force reinstall. -- reinstall = True -+ elif (parent.installed and -+ root_slot not in self.reinstall_list): -+ inst_build_time = parent.metadata.get("BUILD_TIME") -+ try: -+ bin_build_time, = bindb.aux_get(parent.cpv, -+ ["BUILD_TIME"]) -+ except KeyError: -+ continue -+ if bin_build_time != inst_build_time: -+ # 2) Remote binary package is valid, and local package -+ # is not up to date. Force reinstall. -+ reinstall = True - if reinstall: - self.reinstall_list.add(root_slot) - return reinstall -@@ -282,31 +279,15 @@ class _rebuild_config(object): - need_restart = False - graph = self._graph - build_deps = {} -- runtime_deps = {} -- leaf_nodes = deque(graph.leaf_nodes()) -- -- def ignore_non_runtime(priority): -- return not priority.runtime - -- def ignore_non_buildtime(priority): -- return not priority.buildtime -+ leaf_nodes = deque(graph.leaf_nodes()) - - # Trigger rebuilds bottom-up (starting with the leaves) so that parents - # will always know which children are being rebuilt. - while graph: - if not leaf_nodes: -- # We're interested in intersection of buildtime and runtime, -- # so ignore edges that do not contain both. -- leaf_nodes.extend(graph.leaf_nodes( -- ignore_priority=ignore_non_runtime)) -- if not leaf_nodes: -- leaf_nodes.extend(graph.leaf_nodes( -- ignore_priority=ignore_non_buildtime)) -- if not leaf_nodes: -- # We'll have to drop an edge that is both -- # buildtime and runtime. This should be -- # quite rare. -- leaf_nodes.append(graph.order[-1]) -+ # We'll have to drop an edge. This should be quite rare. -+ leaf_nodes.append(graph.order[-1]) - - node = leaf_nodes.popleft() - if node not in graph: -@@ -315,32 +296,23 @@ class _rebuild_config(object): - slot_atom = node.slot_atom - - # Remove our leaf node from the graph, keeping track of deps. -- parents = graph.nodes[node][1].items() -+ parents = graph.parent_nodes(node) - graph.remove(node) - node_build_deps = build_deps.get(node, {}) -- node_runtime_deps = runtime_deps.get(node, {}) -- for parent, priorities in parents: -+ for parent in parents: - if parent == node: - # Ignore a direct cycle. - continue - parent_bdeps = build_deps.setdefault(parent, {}) -- parent_rdeps = runtime_deps.setdefault(parent, {}) -- for priority in priorities: -- if priority.buildtime: -- parent_bdeps[slot_atom] = node -- if priority.runtime: -- parent_rdeps[slot_atom] = node -- if slot_atom in parent_bdeps and slot_atom in parent_rdeps: -- parent_rdeps.update(node_runtime_deps) -+ parent_bdeps[slot_atom] = node - if not graph.child_nodes(parent): - leaf_nodes.append(parent) - - # Trigger rebuilds for our leaf node. Because all of our children -- # have been processed, build_deps and runtime_deps will be -- # completely filled in, and self.rebuild_list / self.reinstall_list -- # will tell us whether any of our children need to be rebuilt or -- # reinstalled. -- if self._trigger_rebuild(node, node_build_deps, node_runtime_deps): -+ # have been processed, the build_deps will be completely filled in, -+ # and self.rebuild_list / self.reinstall_list will tell us whether -+ # any of our children need to be rebuilt or reinstalled. -+ if self._trigger_rebuild(node, node_build_deps): - need_restart = True - - return need_restart -diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py -index c978ce2..57b376d 100644 ---- a/pym/_emerge/help.py -+++ b/pym/_emerge/help.py -@@ -641,26 +641,24 @@ def help(myopts, havecolor=1): - print() - print(" " + green("--rebuild-if-new-rev") + " [ %s | %s ]" % \ - (turquoise("y"), turquoise("n"))) -- desc = "Rebuild packages when dependencies that are " + \ -- "used at both build-time and run-time are built, " + \ -- "if the dependency is not already installed with the " + \ -- "same version and revision." -+ desc = "Rebuild packages when build-time dependencies are built " + \ -+ "from source, if the dependency is not already installed with " + \ -+ "the same version and revision." - for line in wrap(desc, desc_width): - print(desc_indent + line) - print() - print(" " + green("--rebuild-if-new-ver") + " [ %s | %s ]" % \ - (turquoise("y"), turquoise("n"))) -- desc = "Rebuild packages when dependencies that are " + \ -- "used at both build-time and run-time are built, " + \ -- "if the dependency is not already installed with the " + \ -- "same version. Revision numbers are ignored." -+ desc = "Rebuild packages when build-time dependencies are built " + \ -+ "from source, if the dependency is not already installed with " + \ -+ "the same version. Revision numbers are ignored." - for line in wrap(desc, desc_width): - print(desc_indent + line) - print() - print(" " + green("--rebuild-if-unbuilt") + " [ %s | %s ]" % \ - (turquoise("y"), turquoise("n"))) -- desc = "Rebuild packages when dependencies that are " + \ -- "used at both build-time and run-time are built." -+ desc = "Rebuild packages when build-time dependencies are built " + \ -+ "from source" - for line in wrap(desc, desc_width): - print(desc_indent + line) - print() -diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py -index 2830214..4cabafd 100644 ---- a/pym/_emerge/main.py -+++ b/pym/_emerge/main.py -@@ -28,7 +28,8 @@ import portage.exception - from portage.data import secpass - from portage.dbapi.dep_expand import dep_expand - from portage.util import normalize_path as normpath --from portage.util import shlex_split, writemsg_level, writemsg_stdout -+from portage.util import (shlex_split, varexpand, -+ writemsg_level, writemsg_stdout) - from portage._sets import SETPREFIX - from portage._global_updates import _global_updates - -@@ -388,6 +389,8 @@ def post_emerge(myaction, myopts, myfiles, - " %s spawn failed of %s\n" % (bad("*"), postemerge,), - level=logging.ERROR, noiselevel=-1) - -+ clean_logs(settings) -+ - if "--quiet" not in myopts and \ - myaction is None and "@world" in myfiles: - show_depclean_suggestion() -@@ -1222,7 +1225,6 @@ def ionice(settings): - if not ionice_cmd: - return - -- from portage.util import varexpand - variables = {"PID" : str(os.getpid())} - cmd = [varexpand(x, mydict=variables) for x in ionice_cmd] - -@@ -1238,6 +1240,35 @@ def ionice(settings): - out.eerror("PORTAGE_IONICE_COMMAND returned %d" % (rval,)) - out.eerror("See the make.conf(5) man page for PORTAGE_IONICE_COMMAND usage instructions.") - -+def clean_logs(settings): -+ -+ if "clean-logs" not in settings.features: -+ return -+ -+ clean_cmd = settings.get("PORT_LOGDIR_CLEAN") -+ if clean_cmd: -+ clean_cmd = shlex_split(clean_cmd) -+ if not clean_cmd: -+ return -+ -+ logdir = settings.get("PORT_LOGDIR") -+ if logdir is None or not os.path.isdir(logdir): -+ return -+ -+ variables = {"PORT_LOGDIR" : logdir} -+ cmd = [varexpand(x, mydict=variables) for x in clean_cmd] -+ -+ try: -+ rval = portage.process.spawn(cmd, env=os.environ) -+ except portage.exception.CommandNotFound: -+ rval = 127 -+ -+ if rval != os.EX_OK: -+ out = portage.output.EOutput() -+ out.eerror("PORT_LOGDIR_CLEAN returned %d" % (rval,)) -+ out.eerror("See the make.conf(5) man page for " -+ "PORT_LOGDIR_CLEAN usage instructions.") -+ - def setconfig_fallback(root_config): - from portage._sets.base import DummyPackageSet - from portage._sets.files import WorldSelectedSet -diff --git a/pym/_emerge/search.py b/pym/_emerge/search.py -index 35f0412..3fed2b6 100644 ---- a/pym/_emerge/search.py -+++ b/pym/_emerge/search.py -@@ -305,8 +305,9 @@ class search(object): - myebuild = self._findname(mycpv) - if myebuild: - pkgdir = os.path.dirname(myebuild) -- from portage import manifest -- mf = manifest.Manifest( -+ mf = self.settings.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(pkgdir))) -+ mf = mf.load_manifest( - pkgdir, self.settings["DISTDIR"]) - try: - uri_map = self._getFetchMap(mycpv) -diff --git a/pym/portage/cache/flat_hash.py b/pym/portage/cache/flat_hash.py -index b6bc074..2eae9f6 100644 ---- a/pym/portage/cache/flat_hash.py -+++ b/pym/portage/cache/flat_hash.py -@@ -31,7 +31,7 @@ class database(fs_template.FsBased): - self.label.lstrip(os.path.sep).rstrip(os.path.sep)) - write_keys = set(self._known_keys) - write_keys.add("_eclasses_") -- write_keys.add("_mtime_") -+ write_keys.add("_%s_" % (self.validation_chf,)) - self._write_keys = sorted(write_keys) - if not self.readonly and not os.path.exists(self.location): - self._ensure_dirs() -@@ -69,7 +69,6 @@ class database(fs_template.FsBased): - raise cache_errors.CacheCorruption(cpv, e) - - def _setitem(self, cpv, values): --# import pdb;pdb.set_trace() - s = cpv.rfind("/") - fp = os.path.join(self.location,cpv[:s],".update.%i.%s" % (os.getpid(), cpv[s+1:])) - try: -@@ -153,3 +152,9 @@ class database(fs_template.FsBased): - dirs.append((depth+1, p)) - continue - yield p[len_base+1:] -+ -+ -+class md5_database(database): -+ -+ validation_chf = 'md5' -+ store_eclass_paths = False -diff --git a/pym/portage/cache/metadata.py b/pym/portage/cache/metadata.py -index 4c735d7..07ec20e 100644 ---- a/pym/portage/cache/metadata.py -+++ b/pym/portage/cache/metadata.py -@@ -6,6 +6,7 @@ import errno - import re - import stat - import sys -+from operator import attrgetter - from portage import os - from portage import _encodings - from portage import _unicode_encode -@@ -63,9 +64,11 @@ class database(flat_hash.database): - if "INHERITED" in d: - if self.ec is None: - self.ec = portage.eclass_cache.cache(self.location[:-15]) -+ getter = attrgetter(self.validation_chf) - try: -- d["_eclasses_"] = self.ec.get_eclass_data( -- d["INHERITED"].split()) -+ ec_data = self.ec.get_eclass_data(d["INHERITED"].split()) -+ d["_eclasses_"] = dict((k, (v.eclass_dir, getter(v))) -+ for k,v in ec_data.items()) - except KeyError as e: - # INHERITED contains a non-existent eclass. - raise cache_errors.CacheCorruption(cpv, e) -diff --git a/pym/portage/cache/metadata_overlay.py b/pym/portage/cache/metadata_overlay.py -deleted file mode 100644 -index cfa0051..0000000 ---- a/pym/portage/cache/metadata_overlay.py -+++ /dev/null -@@ -1,105 +0,0 @@ --# Copyright 1999-2010 Gentoo Foundation --# Distributed under the terms of the GNU General Public License v2 -- --from portage.cache import template --from portage.cache.cache_errors import CacheCorruption --from portage.cache.flat_hash import database as db_rw --from portage.cache.metadata import database as db_ro -- --class database(template.database): -- -- serialize_eclasses = False -- -- def __init__(self, location, label, auxdbkeys, db_rw=db_rw, db_ro=db_ro, -- *args, **config): -- super_config = config.copy() -- super_config.pop("gid", None) -- super_config.pop("perms", None) -- super(database, self).__init__(location, label, auxdbkeys, -- *args, **super_config) -- self.db_rw = db_rw(location, label, auxdbkeys, **config) -- self.commit = self.db_rw.commit -- self.autocommits = self.db_rw.autocommits -- if isinstance(db_ro, type): -- ro_config = config.copy() -- ro_config["readonly"] = True -- self.db_ro = db_ro(label, "metadata/cache", auxdbkeys, **ro_config) -- else: -- self.db_ro = db_ro -- -- def __getitem__(self, cpv): -- """funnel whiteout validation through here, since value needs to be fetched""" -- try: -- value = self.db_rw[cpv] -- except KeyError: -- return self.db_ro[cpv] # raises a KeyError when necessary -- except CacheCorruption: -- del self.db_rw[cpv] -- return self.db_ro[cpv] # raises a KeyError when necessary -- if self._is_whiteout(value): -- if self._is_whiteout_valid(cpv, value): -- raise KeyError(cpv) -- else: -- del self.db_rw[cpv] -- return self.db_ro[cpv] # raises a KeyError when necessary -- else: -- return value -- -- def _setitem(self, name, values): -- try: -- value_ro = self.db_ro.get(name) -- except CacheCorruption: -- value_ro = None -- if value_ro is not None and \ -- self._are_values_identical(value_ro, values): -- # we have matching values in the underlying db_ro -- # so it is unnecessary to store data in db_rw -- try: -- del self.db_rw[name] # delete unwanted whiteout when necessary -- except KeyError: -- pass -- return -- self.db_rw[name] = values -- -- def _delitem(self, cpv): -- value = self[cpv] # validates whiteout and/or raises a KeyError when necessary -- if cpv in self.db_ro: -- self.db_rw[cpv] = self._create_whiteout(value) -- else: -- del self.db_rw[cpv] -- -- def __contains__(self, cpv): -- try: -- self[cpv] # validates whiteout when necessary -- except KeyError: -- return False -- return True -- -- def __iter__(self): -- s = set() -- for cpv in self.db_rw: -- if cpv in self: # validates whiteout when necessary -- yield cpv -- # set includes whiteouts so they won't be yielded later -- s.add(cpv) -- for cpv in self.db_ro: -- if cpv not in s: -- yield cpv -- -- def _is_whiteout(self, value): -- return value["EAPI"] == "whiteout" -- -- def _create_whiteout(self, value): -- return {"EAPI":"whiteout","_eclasses_":value["_eclasses_"],"_mtime_":value["_mtime_"]} -- -- def _is_whiteout_valid(self, name, value_rw): -- try: -- value_ro = self.db_ro[name] -- return self._are_values_identical(value_rw,value_ro) -- except KeyError: -- return False -- -- def _are_values_identical(self, value1, value2): -- if value1['_mtime_'] != value2['_mtime_']: -- return False -- return value1["_eclasses_"] == value2["_eclasses_"] -diff --git a/pym/portage/cache/template.py b/pym/portage/cache/template.py -index f84d8f4..515ba02 100644 ---- a/pym/portage/cache/template.py -+++ b/pym/portage/cache/template.py -@@ -7,6 +7,7 @@ from portage.cache.cache_errors import InvalidRestriction - from portage.cache.mappings import ProtectedDict - import sys - import warnings -+import operator - - if sys.hexversion >= 0x3000000: - basestring = str -@@ -21,6 +22,8 @@ class database(object): - autocommits = False - cleanse_keys = False - serialize_eclasses = True -+ validation_chf = 'mtime' -+ store_eclass_paths = True - - def __init__(self, location, label, auxdbkeys, readonly=False): - """ initialize the derived class; specifically, store label/keys""" -@@ -40,7 +43,8 @@ class database(object): - self.updates = 0 - d=self._getitem(cpv) - if self.serialize_eclasses and "_eclasses_" in d: -- d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"]) -+ d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"], -+ self.validation_chf, paths=self.store_eclass_paths) - elif "_eclasses_" not in d: - d["_eclasses_"] = {} - mtime = d.get('_mtime_') -@@ -60,22 +64,46 @@ class database(object): - override this in derived classess""" - raise NotImplementedError - -+ @staticmethod -+ def _internal_eclasses(extern_ec_dict, chf_type, paths): -+ """ -+ When serialize_eclasses is False, we have to convert an external -+ eclass dict containing hashed_path objects into an appropriate -+ internal dict containing values of chf_type (and eclass dirs -+ if store_eclass_paths is True). -+ """ -+ if not extern_ec_dict: -+ return extern_ec_dict -+ chf_getter = operator.attrgetter(chf_type) -+ if paths: -+ intern_ec_dict = dict((k, (v.eclass_dir, chf_getter(v))) -+ for k, v in extern_ec_dict.items()) -+ else: -+ intern_ec_dict = dict((k, chf_getter(v)) -+ for k, v in extern_ec_dict.items()) -+ return intern_ec_dict -+ - def __setitem__(self, cpv, values): - """set a cpv to values - This shouldn't be overriden in derived classes since it handles the readonly checks""" - if self.readonly: - raise cache_errors.ReadOnlyRestriction() -+ d = None - if self.cleanse_keys: - d=ProtectedDict(values) - for k, v in list(d.items()): - if not v: - del d[k] -- if self.serialize_eclasses and "_eclasses_" in values: -- d["_eclasses_"] = serialize_eclasses(d["_eclasses_"]) -- elif self.serialize_eclasses and "_eclasses_" in values: -- d = ProtectedDict(values) -- d["_eclasses_"] = serialize_eclasses(d["_eclasses_"]) -- else: -+ if "_eclasses_" in values: -+ if d is None: -+ d = ProtectedDict(values) -+ if self.serialize_eclasses: -+ d["_eclasses_"] = serialize_eclasses(d["_eclasses_"], -+ self.validation_chf, paths=self.store_eclass_paths) -+ else: -+ d["_eclasses_"] = self._internal_eclasses(d["_eclasses_"], -+ self.validation_chf, self.store_eclass_paths) -+ elif d is None: - d = values - self._setitem(cpv, d) - if not self.autocommits: -@@ -159,6 +187,18 @@ class database(object): - except KeyError: - return x - -+ def validate_entry(self, entry, ebuild_hash, eclass_db): -+ hash_key = '_%s_' % self.validation_chf -+ if entry[hash_key] != getattr(ebuild_hash, self.validation_chf): -+ return False -+ update = eclass_db.validate_and_rewrite_cache(entry['_eclasses_'], self.validation_chf, -+ self.store_eclass_paths) -+ if update is None: -+ return False -+ if update: -+ entry['_eclasses_'] = update -+ return True -+ - def get_matches(self, match_dict): - """generic function for walking the entire cache db, matching restrictions to - filter what cpv's are returned. Derived classes should override this if they -@@ -195,7 +235,9 @@ class database(object): - keys = __iter__ - items = iteritems - --def serialize_eclasses(eclass_dict): -+_keysorter = operator.itemgetter(0) -+ -+def serialize_eclasses(eclass_dict, chf_type='mtime', paths=True): - """takes a dict, returns a string representing said dict""" - """The "new format", which causes older versions of = noise.call_update_min: -- noise.update(x) -- count = 0 -- -- if not trg_cache.autocommits: -- trg_cache.commit() -- -- # ok. by this time, the trg_cache is up to date, and we have a dict -- # with a crapload of cpv's. we now walk the target db, removing stuff if it's in the list. -- for key in dead_nodes: -- try: -- del trg_cache[key] -- except KeyError: -- pass -- except cache_errors.CacheError as ce: -- noise.exception(ce) -- del ce -- noise.finish() -- -- --class quiet_mirroring(object): -- # call_update_every is used by mirror_cache to determine how often to call in. -- # quiet defaults to 2^24 -1. Don't call update, 'cept once every 16 million or so :) -- call_update_min = 0xffffff -- def update(self,key,*arg): pass -- def exception(self,key,*arg): pass -- def eclass_stale(self,*arg): pass -- def missing_entry(self, key): pass -- def misc(self,key,*arg): pass -- def corruption(self, key, s): pass -- def finish(self, *arg): pass -- --class non_quiet_mirroring(quiet_mirroring): -- call_update_min=1 -- def update(self,key,*arg): print("processed",key) -- def exception(self, key, *arg): print("exec",key,arg) -- def missing(self,key): print("key %s is missing", key) -- def corruption(self,key,*arg): print("corrupt %s:" % key,arg) -- def eclass_stale(self,key,*arg):print("stale %s:"%key,arg) -- -diff --git a/pym/portage/cache/volatile.py b/pym/portage/cache/volatile.py -index 0bf6bab..f96788d 100644 ---- a/pym/portage/cache/volatile.py -+++ b/pym/portage/cache/volatile.py -@@ -8,6 +8,7 @@ class database(template.database): - - autocommits = True - serialize_eclasses = False -+ store_eclass_paths = False - - def __init__(self, *args, **config): - config.pop("gid", None) -@@ -21,5 +22,5 @@ class database(template.database): - def _setitem(self, name, values): - self._data[name] = copy.deepcopy(values) - -- def _getitem(self, cpv): -+ def __getitem__(self, cpv): - return copy.deepcopy(self._data[cpv]) -diff --git a/pym/portage/checksum.py b/pym/portage/checksum.py -index 9e7e455..ef90bf6 100644 ---- a/pym/portage/checksum.py -+++ b/pym/portage/checksum.py -@@ -255,8 +255,10 @@ def perform_checksum(filename, hashname="MD5", calc_prelink=0): - " hash function not available (needs dev-python/pycrypto)") - myhash, mysize = hashfunc_map[hashname](myfilename) - except (OSError, IOError) as e: -- if e.errno == errno.ENOENT: -+ if e.errno in (errno.ENOENT, errno.ESTALE): - raise portage.exception.FileNotFound(myfilename) -+ elif e.errno == portage.exception.PermissionDenied.errno: -+ raise portage.exception.PermissionDenied(myfilename) - raise - return myhash, mysize - finally: -diff --git a/pym/portage/const.py b/pym/portage/const.py -index f108176..bfcdbef 100644 ---- a/pym/portage/const.py -+++ b/pym/portage/const.py -@@ -86,16 +86,16 @@ EBUILD_PHASES = ("pretend", "setup", "unpack", "prepare", "configure" - "package", "preinst", "postinst","prerm", "postrm", - "nofetch", "config", "info", "other") - SUPPORTED_FEATURES = frozenset([ -- "allow-missing-manifests", - "assume-digests", "binpkg-logs", "buildpkg", "buildsyspkg", "candy", -- "ccache", "chflags", "collision-protect", "compress-build-logs", -+ "ccache", "chflags", "clean-logs", -+ "collision-protect", "compress-build-logs", - "digest", "distcc", "distcc-pump", "distlocks", "ebuild-locks", "fakeroot", - "fail-clean", "fixpackages", "force-mirror", "getbinpkg", - "installsources", "keeptemp", "keepwork", "fixlafiles", "lmirror", - "metadata-transfer", "mirror", "multilib-strict", "news", - "noauto", "noclean", "nodoc", "noinfo", "noman", -- "nostrip", "notitles", "parallel-fetch", "parallel-install", -- "parse-eapi-ebuild-head", -+ "nostrip", "notitles", "no-env-update", "parallel-fetch", -+ "parallel-install", "parse-eapi-ebuild-head", - "prelink-checksums", "preserve-libs", - "protect-owned", "python-trace", "sandbox", - "selinux", "sesandbox", "sfperms", -diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py -index bf8ecd9..46524e4 100644 ---- a/pym/portage/dbapi/porttree.py -+++ b/pym/portage/dbapi/porttree.py -@@ -17,7 +17,7 @@ portage.proxy.lazyimport.lazyimport(globals(), - 'portage.versions:best,catpkgsplit,_pkgsplit@pkgsplit,ver_regexp', - ) - --from portage.cache import metadata_overlay, volatile -+from portage.cache import volatile - from portage.cache.cache_errors import CacheError - from portage.cache.mappings import Mapping - from portage.dbapi import dbapi -@@ -121,8 +121,6 @@ class portdbapi(dbapi): - self._have_root_eclass_dir = os.path.isdir( - os.path.join(self.settings.repositories.mainRepoLocation(), "eclass")) - -- self.metadbmodule = self.settings.load_best_module("portdbapi.metadbmodule") -- - #if the portdbapi is "frozen", then we assume that we can cache everything (that no updates to it are happening) - self.xcache = {} - self.frozen = 0 -@@ -153,6 +151,9 @@ class portdbapi(dbapi): - self.auxdbmodule = self.settings.load_best_module("portdbapi.auxdbmodule") - self.auxdb = {} - self._pregen_auxdb = {} -+ # If the current user doesn't have depcachedir write permission, -+ # then the depcachedir cache is kept here read-only access. -+ self._ro_auxdb = {} - self._init_cache_dirs() - depcachedir_w_ok = os.access(self.depcachedir, os.W_OK) - cache_kwargs = { -@@ -169,18 +170,14 @@ class portdbapi(dbapi): - # to the cache entries/directories. - if secpass < 1 or not depcachedir_w_ok: - for x in self.porttrees: -+ self.auxdb[x] = volatile.database( -+ self.depcachedir, x, filtered_auxdbkeys, -+ **cache_kwargs) - try: -- db_ro = self.auxdbmodule(self.depcachedir, x, -+ self._ro_auxdb[x] = self.auxdbmodule(self.depcachedir, x, - filtered_auxdbkeys, readonly=True, **cache_kwargs) - except CacheError: -- self.auxdb[x] = volatile.database( -- self.depcachedir, x, filtered_auxdbkeys, -- **cache_kwargs) -- else: -- self.auxdb[x] = metadata_overlay.database( -- self.depcachedir, x, filtered_auxdbkeys, -- db_rw=volatile.database, db_ro=db_ro, -- **cache_kwargs) -+ pass - else: - for x in self.porttrees: - if x in self.auxdb: -@@ -188,17 +185,16 @@ class portdbapi(dbapi): - # location, label, auxdbkeys - self.auxdb[x] = self.auxdbmodule( - self.depcachedir, x, filtered_auxdbkeys, **cache_kwargs) -- if self.auxdbmodule is metadata_overlay.database: -- self.auxdb[x].db_ro.ec = self._repo_info[x].eclass_db - if "metadata-transfer" not in self.settings.features: - for x in self.porttrees: - if x in self._pregen_auxdb: - continue -- if os.path.isdir(os.path.join(x, "metadata", "cache")): -- self._pregen_auxdb[x] = self.metadbmodule( -- x, "metadata/cache", filtered_auxdbkeys, readonly=True) -+ conf = self.repositories.get_repo_for_location(x) -+ cache = conf.get_pregenerated_cache(filtered_auxdbkeys, readonly=True) -+ if cache is not None: -+ self._pregen_auxdb[x] = cache - try: -- self._pregen_auxdb[x].ec = self._repo_info[x].eclass_db -+ cache.ec = self._repo_info[x].eclass_db - except AttributeError: - pass - # Selectively cache metadata in order to optimize dep matching. -@@ -340,16 +336,16 @@ class portdbapi(dbapi): - @returns: A new EbuildMetadataPhase instance, or None if the - metadata cache is already valid. - """ -- metadata, st, emtime = self._pull_valid_cache(cpv, ebuild_path, repo_path) -+ metadata, ebuild_hash = self._pull_valid_cache(cpv, ebuild_path, repo_path) - if metadata is not None: - return None - -- process = EbuildMetadataPhase(cpv=cpv, ebuild_path=ebuild_path, -- ebuild_mtime=emtime, metadata_callback=self._metadata_callback, -+ process = EbuildMetadataPhase(cpv=cpv, -+ ebuild_hash=ebuild_hash, metadata_callback=self._metadata_callback, - portdb=self, repo_path=repo_path, settings=self.doebuild_settings) - return process - -- def _metadata_callback(self, cpv, ebuild_path, repo_path, metadata, mtime): -+ def _metadata_callback(self, cpv, repo_path, metadata, ebuild_hash): - - i = metadata - if hasattr(metadata, "items"): -@@ -362,8 +358,17 @@ class portdbapi(dbapi): - else: - metadata["_eclasses_"] = {} - -+ try: -+ cache = self.auxdb[repo_path] -+ chf = cache.validation_chf -+ metadata['_%s_' % chf] = getattr(ebuild_hash, chf) -+ except CacheError: -+ # Normally this shouldn't happen, so we'll show -+ # a traceback for debugging purposes. -+ traceback.print_exc() -+ cache = None -+ - metadata.pop("INHERITED", None) -- metadata["_mtime_"] = mtime - - eapi = metadata.get("EAPI") - if not eapi or not eapi.strip(): -@@ -374,21 +379,22 @@ class portdbapi(dbapi): - metadata[k] = "" - metadata["EAPI"] = "-" + eapi.lstrip("-") - -- try: -- self.auxdb[repo_path][cpv] = metadata -- except CacheError: -- # Normally this shouldn't happen, so we'll show -- # a traceback for debugging purposes. -- traceback.print_exc() -+ if cache is not None: -+ try: -+ cache[cpv] = metadata -+ except CacheError: -+ # Normally this shouldn't happen, so we'll show -+ # a traceback for debugging purposes. -+ traceback.print_exc() - return metadata - - def _pull_valid_cache(self, cpv, ebuild_path, repo_path): - try: -- # Don't use unicode-wrapped os module, for better performance. -- st = _os.stat(_unicode_encode(ebuild_path, -- encoding=_encodings['fs'], errors='strict')) -- emtime = st[stat.ST_MTIME] -- except OSError: -+ ebuild_hash = eclass_cache.hashed_path(ebuild_path) -+ # snag mtime since we use it later, and to trigger stat failure -+ # if it doesn't exist -+ ebuild_hash.mtime -+ except FileNotFound: - writemsg(_("!!! aux_get(): ebuild for " \ - "'%s' does not exist at:\n") % (cpv,), noiselevel=-1) - writemsg("!!! %s\n" % ebuild_path, noiselevel=-1) -@@ -401,39 +407,35 @@ class portdbapi(dbapi): - pregen_auxdb = self._pregen_auxdb.get(repo_path) - if pregen_auxdb is not None: - auxdbs.append(pregen_auxdb) -+ ro_auxdb = self._ro_auxdb.get(repo_path) -+ if ro_auxdb is not None: -+ auxdbs.append(ro_auxdb) - auxdbs.append(self.auxdb[repo_path]) - eclass_db = self._repo_info[repo_path].eclass_db - -- doregen = True - for auxdb in auxdbs: - try: - metadata = auxdb[cpv] - except KeyError: -- pass -+ continue - except CacheError: -- if auxdb is not pregen_auxdb: -+ if not auxdb.readonly: - try: - del auxdb[cpv] -- except KeyError: -- pass -- except CacheError: -+ except (KeyError, CacheError): - pass -- else: -- eapi = metadata.get('EAPI', '').strip() -- if not eapi: -- eapi = '0' -- if not (eapi[:1] == '-' and eapi_is_supported(eapi[1:])) and \ -- emtime == metadata['_mtime_'] and \ -- eclass_db.is_eclass_data_valid(metadata['_eclasses_']): -- doregen = False -- -- if not doregen: -+ continue -+ eapi = metadata.get('EAPI', '').strip() -+ if not eapi: -+ eapi = '0' -+ if eapi[:1] == '-' and eapi_is_supported(eapi[1:]): -+ continue -+ if auxdb.validate_entry(metadata, ebuild_hash, eclass_db): - break -- -- if doregen: -+ else: - metadata = None - -- return (metadata, st, emtime) -+ return (metadata, ebuild_hash) - - def aux_get(self, mycpv, mylist, mytree=None, myrepo=None): - "stub code for returning auxilliary db information, such as SLOT, DEPEND, etc." -@@ -467,7 +469,7 @@ class portdbapi(dbapi): - _("ebuild not found for '%s'") % mycpv, noiselevel=1) - raise KeyError(mycpv) - -- mydata, st, emtime = self._pull_valid_cache(mycpv, myebuild, mylocation) -+ mydata, ebuild_hash = self._pull_valid_cache(mycpv, myebuild, mylocation) - doregen = mydata is None - - if doregen: -@@ -490,10 +492,10 @@ class portdbapi(dbapi): - - if eapi is not None and not portage.eapi_is_supported(eapi): - mydata = self._metadata_callback( -- mycpv, myebuild, mylocation, {'EAPI':eapi}, emtime) -+ mycpv, mylocation, {'EAPI':eapi}, ebuild_hash) - else: -- proc = EbuildMetadataPhase(cpv=mycpv, ebuild_path=myebuild, -- ebuild_mtime=emtime, -+ proc = EbuildMetadataPhase(cpv=mycpv, -+ ebuild_hash=ebuild_hash, - metadata_callback=self._metadata_callback, portdb=self, - repo_path=mylocation, - scheduler=PollScheduler().sched_iface, -@@ -511,15 +513,17 @@ class portdbapi(dbapi): - # do we have a origin repository name for the current package - mydata["repository"] = self.repositories.get_name_for_location(mylocation) - mydata["INHERITED"] = ' '.join(mydata.get("_eclasses_", [])) -- mydata["_mtime_"] = st[stat.ST_MTIME] -+ mydata["_mtime_"] = ebuild_hash.mtime - - eapi = mydata.get("EAPI") - if not eapi: - eapi = "0" - mydata["EAPI"] = eapi - if not eapi_is_supported(eapi): -- for k in set(mydata).difference(("_mtime_", "_eclasses_")): -- mydata[k] = "" -+ keys = set(mydata) -+ keys.discard("_eclasses_") -+ keys.discard("_mtime_") -+ mydata.update((k, '') for k in keys) - mydata["EAPI"] = "-" + eapi.lstrip("-") - - #finally, we look at our internal cache entry and return the requested data. -@@ -576,7 +580,9 @@ class portdbapi(dbapi): - if myebuild is None: - raise AssertionError(_("ebuild not found for '%s'") % mypkg) - pkgdir = os.path.dirname(myebuild) -- mf = Manifest(pkgdir, self.settings["DISTDIR"]) -+ mf = self.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(pkgdir))).load_manifest( -+ pkgdir, self.settings["DISTDIR"]) - checksums = mf.getDigests() - if not checksums: - if debug: -@@ -644,7 +650,9 @@ class portdbapi(dbapi): - if myebuild is None: - raise AssertionError(_("ebuild not found for '%s'") % mypkg) - pkgdir = os.path.dirname(myebuild) -- mf = Manifest(pkgdir, self.settings["DISTDIR"]) -+ mf = self.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(pkgdir))) -+ mf = mf.load_manifest(pkgdir, self.settings["DISTDIR"]) - mysums = mf.getDigests() - - failures = {} -diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py -index 7f7873b..5214aa1 100644 ---- a/pym/portage/dbapi/vartree.py -+++ b/pym/portage/dbapi/vartree.py -@@ -60,6 +60,7 @@ from _emerge.PollScheduler import PollScheduler - from _emerge.MiscFunctionsProcess import MiscFunctionsProcess - - import errno -+import fileinput - import gc - import io - from itertools import chain -@@ -194,7 +195,7 @@ class vardbapi(dbapi): - """ - if self._lock_count: - self._lock_count += 1 -- else: -+ elif os.environ.get("PORTAGE_LOCKS") != "false": - if self._lock is not None: - raise AssertionError("already locked") - # At least the parent needs to exist for the lock file. -@@ -210,7 +211,7 @@ class vardbapi(dbapi): - """ - if self._lock_count > 1: - self._lock_count -= 1 -- else: -+ elif os.environ.get("PORTAGE_LOCKS") != "false": - if self._lock is None: - raise AssertionError("not locked") - self._lock_count = 0 -@@ -1839,16 +1840,10 @@ class dblink(object): - else: - self.settings.pop("PORTAGE_LOG_FILE", None) - -- # Lock the config memory file to prevent symlink creation -- # in merge_contents from overlapping with env-update. -- self.vartree.dbapi._fs_lock() -- try: -- env_update(target_root=self.settings['ROOT'], -- prev_mtimes=ldpath_mtimes, -- contents=contents, env=self.settings.environ(), -- writemsg_level=self._display_merge) -- finally: -- self.vartree.dbapi._fs_unlock() -+ env_update(target_root=self.settings['ROOT'], -+ prev_mtimes=ldpath_mtimes, -+ contents=contents, env=self.settings.environ(), -+ writemsg_level=self._display_merge, vardbapi=self.vartree.dbapi) - - return os.EX_OK - -@@ -3270,6 +3265,15 @@ class dblink(object): - max_dblnk = dblnk - self._installed_instance = max_dblnk - -+ if self.settings.get("INSTALL_MASK"): -+ # Apply INSTALL_MASK before collision-protect, since it may -+ # be useful to avoid collisions in some scenarios. -+ phase = MiscFunctionsProcess(background=False, -+ commands=["preinst_mask"], phase="preinst", -+ scheduler=self._scheduler, settings=self.settings) -+ phase.start() -+ phase.wait() -+ - # We check for unicode encoding issues after src_install. However, - # the check must be repeated here for binary packages (it's - # inexpensive since we call os.walk() here anyway). -@@ -3394,14 +3398,6 @@ class dblink(object): - if installed_files: - return 1 - -- # check for package collisions -- blockers = self._blockers -- if blockers is None: -- blockers = [] -- collisions, symlink_collisions, plib_collisions = \ -- self._collision_protect(srcroot, destroot, -- others_in_slot + blockers, myfilelist, mylinklist) -- - # Make sure the ebuild environment is initialized and that ${T}/elog - # exists for logging of collision-protect eerror messages. - if myebuild is None: -@@ -3413,6 +3409,14 @@ class dblink(object): - for other in others_in_slot]) - prepare_build_dirs(settings=self.settings, cleanup=cleanup) - -+ # check for package collisions -+ blockers = self._blockers -+ if blockers is None: -+ blockers = [] -+ collisions, symlink_collisions, plib_collisions = \ -+ self._collision_protect(srcroot, destroot, -+ others_in_slot + blockers, myfilelist, mylinklist) -+ - if collisions: - collision_protect = "collision-protect" in self.settings.features - protect_owned = "protect-owned" in self.settings.features -@@ -3803,17 +3807,24 @@ class dblink(object): - if pkgcmp(catpkgsplit(self.pkg)[1:], catpkgsplit(v)[1:]) < 0: - downgrade = True - -- # Lock the config memory file to prevent symlink creation -- # in merge_contents from overlapping with env-update. -- self.vartree.dbapi._fs_lock() -- try: -- #update environment settings, library paths. DO NOT change symlinks. -- env_update(makelinks=(not downgrade), -- target_root=self.settings['ROOT'], prev_mtimes=prev_mtimes, -- contents=contents, env=self.settings.environ(), -- writemsg_level=self._display_merge) -- finally: -- self.vartree.dbapi._fs_unlock() -+ #update environment settings, library paths. DO NOT change symlinks. -+ env_update(makelinks=(not downgrade), -+ target_root=self.settings['ROOT'], prev_mtimes=prev_mtimes, -+ contents=contents, env=self.settings.environ(), -+ writemsg_level=self._display_merge, vardbapi=self.vartree.dbapi) -+ -+ # Fix *.la files to point to libs in target_root, if they -+ # don't do so already. -+ re_root = self.settings["ROOT"].strip("/") -+ if re_root: -+ fix_files = [] -+ for path in contents: -+ if path.endswith(".la"): -+ if os.path.exists(path): fix_files.append(path) -+ if fix_files: -+ pat = re.compile(r"([' =](?:-[IL])?/)(usr|lib|opt)") -+ for line in fileinput.input(fix_files, inplace=1): -+ sys.stdout.write(pat.sub(r"\1%s/\2" % re_root, line)) - - # For gcc upgrades, preserved libs have to be removed after the - # the library path has been updated. -diff --git a/pym/portage/eclass_cache.py b/pym/portage/eclass_cache.py -index 1374f1d..1044ad0 100644 ---- a/pym/portage/eclass_cache.py -+++ b/pym/portage/eclass_cache.py -@@ -6,21 +6,57 @@ __all__ = ["cache"] - - import stat - import sys -+import operator - from portage.util import normalize_path - import errno --from portage.exception import PermissionDenied -+from portage.exception import FileNotFound, PermissionDenied - from portage import os -+from portage import checksum - - if sys.hexversion >= 0x3000000: - long = int - -+ -+class hashed_path(object): -+ -+ def __init__(self, location): -+ self.location = location -+ -+ def __getattr__(self, attr): -+ if attr == 'mtime': -+ # use stat.ST_MTIME; accessing .st_mtime gets you a float -+ # depending on the python version, and long(float) introduces -+ # some rounding issues that aren't present for people using -+ # the straight c api. -+ # thus use the defacto python compatibility work around; -+ # access via index, which guarantees you get the raw long. -+ try: -+ self.mtime = obj = os.stat(self.location)[stat.ST_MTIME] -+ except OSError as e: -+ if e.errno in (errno.ENOENT, errno.ESTALE): -+ raise FileNotFound(self.location) -+ elif e.errno == PermissionDenied.errno: -+ raise PermissionDenied(self.location) -+ raise -+ return obj -+ if not attr.islower(): -+ # we don't care to allow .mD5 as an alias for .md5 -+ raise AttributeError(attr) -+ hashname = attr.upper() -+ if hashname not in checksum.hashfunc_map: -+ raise AttributeError(attr) -+ val = checksum.perform_checksum(self.location, hashname)[0] -+ setattr(self, attr, val) -+ return val -+ -+ - class cache(object): - """ - Maintains the cache information about eclasses used in ebuild. - """ - def __init__(self, porttree_root, overlays=[]): - -- self.eclasses = {} # {"Name": ("location","_mtime_")} -+ self.eclasses = {} # {"Name": hashed_path} - self._eclass_locations = {} - - # screw with the porttree ordering, w/out having bash inherit match it, and I'll hurt you. -@@ -80,14 +116,16 @@ class cache(object): - for y in eclass_filenames: - if not y.endswith(".eclass"): - continue -+ obj = hashed_path(os.path.join(x, y)) -+ obj.eclass_dir = x - try: -- mtime = os.stat(os.path.join(x, y))[stat.ST_MTIME] -- except OSError: -+ mtime = obj.mtime -+ except FileNotFound: - continue - ys=y[:-eclass_len] - if x == self._master_eclass_root: - master_eclasses[ys] = mtime -- self.eclasses[ys] = (x, mtime) -+ self.eclasses[ys] = obj - self._eclass_locations[ys] = x - continue - -@@ -98,22 +136,30 @@ class cache(object): - # so prefer the master entry. - continue - -- self.eclasses[ys] = (x, mtime) -+ self.eclasses[ys] = obj - self._eclass_locations[ys] = x - -- def is_eclass_data_valid(self, ec_dict): -+ def validate_and_rewrite_cache(self, ec_dict, chf_type, stores_paths): -+ """ -+ This will return an empty dict if the ec_dict parameter happens -+ to be empty, therefore callers must take care to distinguish -+ between empty dict and None return values. -+ """ - if not isinstance(ec_dict, dict): -- return False -- for eclass, tup in ec_dict.items(): -- cached_data = self.eclasses.get(eclass, None) -- """ Only use the mtime for validation since the probability of a -- collision is small and, depending on the cache implementation, the -- path may not be specified (cache from rsync mirrors, for example). -- """ -- if cached_data is None or tup[1] != cached_data[1]: -- return False -- -- return True -+ return None -+ our_getter = operator.attrgetter(chf_type) -+ cache_getter = lambda x:x -+ if stores_paths: -+ cache_getter = operator.itemgetter(1) -+ d = {} -+ for eclass, ec_data in ec_dict.items(): -+ cached_data = self.eclasses.get(eclass) -+ if cached_data is None: -+ return None -+ if cache_getter(ec_data) != our_getter(cached_data): -+ return None -+ d[eclass] = cached_data -+ return d - - def get_eclass_data(self, inherits): - ec_dict = {} -diff --git a/pym/portage/manifest.py b/pym/portage/manifest.py -index 13efab7..b2f96e6 100644 ---- a/pym/portage/manifest.py -+++ b/pym/portage/manifest.py -@@ -49,6 +49,12 @@ def guessManifestFileType(filename): - else: - return "DIST" - -+def guessThinManifestFileType(filename): -+ type = guessManifestFileType(filename) -+ if type != "DIST": -+ return None -+ return "DIST" -+ - def parseManifest2(mysplit): - myentry = None - if len(mysplit) > 4 and mysplit[0] in portage.const.MANIFEST2_IDENTIFIERS: -@@ -93,12 +99,15 @@ class Manifest2Entry(ManifestEntry): - class Manifest(object): - parsers = (parseManifest2,) - def __init__(self, pkgdir, distdir, fetchlist_dict=None, -- manifest1_compat=False, from_scratch=False): -+ manifest1_compat=False, from_scratch=False, thin=False, allow_missing=False, -+ allow_create=True): - """ create new Manifest instance for package in pkgdir - and add compability entries for old portage versions if manifest1_compat == True. - Do not parse Manifest file if from_scratch == True (only for internal use) - The fetchlist_dict parameter is required only for generation of -- a Manifest (not needed for parsing and checking sums).""" -+ a Manifest (not needed for parsing and checking sums). -+ If thin is specified, then the manifest carries only info for -+ distfiles.""" - self.pkgdir = _unicode_decode(pkgdir).rstrip(os.sep) + os.sep - self.fhashdict = {} - self.hashes = set() -@@ -120,7 +129,13 @@ class Manifest(object): - else: - self.fetchlist_dict = {} - self.distdir = distdir -- self.guessType = guessManifestFileType -+ self.thin = thin -+ if thin: -+ self.guessType = guessThinManifestFileType -+ else: -+ self.guessType = guessManifestFileType -+ self.allow_missing = allow_missing -+ self.allow_create = allow_create - - def getFullname(self): - """ Returns the absolute path to the Manifest file for this instance """ -@@ -223,11 +238,13 @@ class Manifest(object): - - def write(self, sign=False, force=False): - """ Write Manifest instance to disk, optionally signing it """ -+ if not self.allow_create: -+ return - self.checkIntegrity() - try: - myentries = list(self._createManifestEntries()) - update_manifest = True -- if not force: -+ if myentries and not force: - try: - f = io.open(_unicode_encode(self.getFullname(), - encoding=_encodings['fs'], errors='strict'), -@@ -246,9 +263,20 @@ class Manifest(object): - pass - else: - raise -+ - if update_manifest: -- write_atomic(self.getFullname(), -- "".join("%s\n" % str(myentry) for myentry in myentries)) -+ if myentries or not (self.thin or self.allow_missing): -+ write_atomic(self.getFullname(), "".join("%s\n" % -+ str(myentry) for myentry in myentries)) -+ else: -+ # With thin manifest, there's no need to have -+ # a Manifest file if there are no DIST entries. -+ try: -+ os.unlink(self.getFullname()) -+ except OSError as e: -+ if e.errno != errno.ENOENT: -+ raise -+ - if sign: - self.sign() - except (IOError, OSError) as e: -@@ -305,6 +333,8 @@ class Manifest(object): - distfiles to raise a FileNotFound exception for (if no file or existing - checksums are available), and defaults to all distfiles when not - specified.""" -+ if not self.allow_create: -+ return - if checkExisting: - self.checkAllHashes() - if assumeDistHashesSometimes or assumeDistHashesAlways: -@@ -313,64 +343,20 @@ class Manifest(object): - distfilehashes = {} - self.__init__(self.pkgdir, self.distdir, - fetchlist_dict=self.fetchlist_dict, from_scratch=True, -- manifest1_compat=False) -- cpvlist = [] -+ manifest1_compat=False, thin=self.thin) - pn = os.path.basename(self.pkgdir.rstrip(os.path.sep)) - cat = self._pkgdir_category() - - pkgdir = self.pkgdir -+ if self.thin: -+ cpvlist = self._update_thin_pkgdir(cat, pn, pkgdir) -+ else: -+ cpvlist = self._update_thick_pkgdir(cat, pn, pkgdir) - -- for pkgdir, pkgdir_dirs, pkgdir_files in os.walk(pkgdir): -- break -- for f in pkgdir_files: -- try: -- f = _unicode_decode(f, -- encoding=_encodings['fs'], errors='strict') -- except UnicodeDecodeError: -- continue -- if f[:1] == ".": -- continue -- pf = None -- if f[-7:] == '.ebuild': -- pf = f[:-7] -- if pf is not None: -- mytype = "EBUILD" -- ps = portage.versions._pkgsplit(pf) -- cpv = "%s/%s" % (cat, pf) -- if not ps: -- raise PortagePackageException( -- _("Invalid package name: '%s'") % cpv) -- if ps[0] != pn: -- raise PortagePackageException( -- _("Package name does not " -- "match directory name: '%s'") % cpv) -- cpvlist.append(cpv) -- elif manifest2MiscfileFilter(f): -- mytype = "MISC" -- else: -- continue -- self.fhashdict[mytype][f] = perform_multiple_checksums(self.pkgdir+f, self.hashes) -- recursive_files = [] -- -- pkgdir = self.pkgdir -- cut_len = len(os.path.join(pkgdir, "files") + os.sep) -- for parentdir, dirs, files in os.walk(os.path.join(pkgdir, "files")): -- for f in files: -- try: -- f = _unicode_decode(f, -- encoding=_encodings['fs'], errors='strict') -- except UnicodeDecodeError: -- continue -- full_path = os.path.join(parentdir, f) -- recursive_files.append(full_path[cut_len:]) -- for f in recursive_files: -- if not manifest2AuxfileFilter(f): -- continue -- self.fhashdict["AUX"][f] = perform_multiple_checksums( -- os.path.join(self.pkgdir, "files", f.lstrip(os.sep)), self.hashes) - distlist = set() - for cpv in cpvlist: - distlist.update(self._getCpvDistfiles(cpv)) -+ - if requiredDistfiles is None: - # This allows us to force removal of stale digests for the - # ebuild --force digest option (no distfiles are required). -@@ -404,6 +390,81 @@ class Manifest(object): - if f in requiredDistfiles: - raise - -+ def _is_cpv(self, cat, pn, filename): -+ if not filename.endswith(".ebuild"): -+ return None -+ pf = filename[:-7] -+ if pf is None: -+ return None -+ ps = portage.versions._pkgsplit(pf) -+ cpv = "%s/%s" % (cat, pf) -+ if not ps: -+ raise PortagePackageException( -+ _("Invalid package name: '%s'") % cpv) -+ if ps[0] != pn: -+ raise PortagePackageException( -+ _("Package name does not " -+ "match directory name: '%s'") % cpv) -+ return cpv -+ -+ def _update_thin_pkgdir(self, cat, pn, pkgdir): -+ for pkgdir, pkgdir_dirs, pkgdir_files in os.walk(pkgdir): -+ break -+ cpvlist = [] -+ for f in pkgdir_files: -+ try: -+ f = _unicode_decode(f, -+ encoding=_encodings['fs'], errors='strict') -+ except UnicodeDecodeError: -+ continue -+ if f[:1] == '.': -+ continue -+ pf = self._is_cpv(cat, pn, f) -+ if pf is not None: -+ cpvlist.append(pf) -+ return cpvlist -+ -+ def _update_thick_pkgdir(self, cat, pn, pkgdir): -+ cpvlist = [] -+ for pkgdir, pkgdir_dirs, pkgdir_files in os.walk(pkgdir): -+ break -+ for f in pkgdir_files: -+ try: -+ f = _unicode_decode(f, -+ encoding=_encodings['fs'], errors='strict') -+ except UnicodeDecodeError: -+ continue -+ if f[:1] == ".": -+ continue -+ pf = self._is_cpv(cat, pn, f) -+ if pf is not None: -+ mytype = "EBUILD" -+ cpvlist.append(pf) -+ elif manifest2MiscfileFilter(f): -+ mytype = "MISC" -+ else: -+ continue -+ self.fhashdict[mytype][f] = perform_multiple_checksums(self.pkgdir+f, self.hashes) -+ recursive_files = [] -+ -+ pkgdir = self.pkgdir -+ cut_len = len(os.path.join(pkgdir, "files") + os.sep) -+ for parentdir, dirs, files in os.walk(os.path.join(pkgdir, "files")): -+ for f in files: -+ try: -+ f = _unicode_decode(f, -+ encoding=_encodings['fs'], errors='strict') -+ except UnicodeDecodeError: -+ continue -+ full_path = os.path.join(parentdir, f) -+ recursive_files.append(full_path[cut_len:]) -+ for f in recursive_files: -+ if not manifest2AuxfileFilter(f): -+ continue -+ self.fhashdict["AUX"][f] = perform_multiple_checksums( -+ os.path.join(self.pkgdir, "files", f.lstrip(os.sep)), self.hashes) -+ return cpvlist -+ - def _pkgdir_category(self): - return self.pkgdir.rstrip(os.sep).split(os.sep)[-2] - -diff --git a/pym/portage/package/ebuild/_config/special_env_vars.py b/pym/portage/package/ebuild/_config/special_env_vars.py -index 87aa606..02a7844 100644 ---- a/pym/portage/package/ebuild/_config/special_env_vars.py -+++ b/pym/portage/package/ebuild/_config/special_env_vars.py -@@ -156,7 +156,7 @@ environ_filter += [ - "PORTAGE_RO_DISTDIRS", - "PORTAGE_RSYNC_EXTRA_OPTS", "PORTAGE_RSYNC_OPTS", - "PORTAGE_RSYNC_RETRIES", "PORTAGE_SYNC_STALE", -- "PORTAGE_USE", "PORT_LOGDIR", -+ "PORTAGE_USE", "PORT_LOGDIR", "PORT_LOGDIR_CLEAN", - "QUICKPKG_DEFAULT_OPTS", - "RESUMECOMMAND", "RESUMECOMMAND_FTP", - "RESUMECOMMAND_HTTP", "RESUMECOMMAND_HTTPS", -diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py -index a591c9a..5ed477e 100644 ---- a/pym/portage/package/ebuild/config.py -+++ b/pym/portage/package/ebuild/config.py -@@ -309,7 +309,6 @@ class config(object): - if self.modules["user"] is None: - self.modules["user"] = {} - self.modules["default"] = { -- "portdbapi.metadbmodule": "portage.cache.metadata.database", - "portdbapi.auxdbmodule": "portage.cache.flat_hash.database", - } - -@@ -864,7 +863,11 @@ class config(object): - try: - mod = load_mod(best_mod) - except ImportError: -- raise -+ if best_mod == "portage.cache.metadata_overlay.database": -+ best_mod = "portage.cache.flat_hash.database" -+ mod = load_mod(best_mod) -+ else: -+ raise - return mod - - def lock(self): -diff --git a/pym/portage/package/ebuild/digestcheck.py b/pym/portage/package/ebuild/digestcheck.py -index 1e34b14..6c823e0 100644 ---- a/pym/portage/package/ebuild/digestcheck.py -+++ b/pym/portage/package/ebuild/digestcheck.py -@@ -28,49 +28,33 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None): - - if mysettings.get("EBUILD_SKIP_MANIFEST") == "1": - return 1 -- allow_missing = "allow-missing-manifests" in mysettings.features - pkgdir = mysettings["O"] -- manifest_path = os.path.join(pkgdir, "Manifest") -- if not os.path.exists(manifest_path): -- if allow_missing: -- return 1 -- writemsg(_("!!! Manifest file not found: '%s'\n") % manifest_path, -- noiselevel=-1) -- if strict: -- return 0 -- else: -- return 1 - if mf is None: -- mf = Manifest(pkgdir, mysettings["DISTDIR"]) -- manifest_empty = True -- for d in mf.fhashdict.values(): -- if d: -- manifest_empty = False -- break -- if manifest_empty: -- writemsg(_("!!! Manifest is empty: '%s'\n") % manifest_path, -- noiselevel=-1) -- if strict: -- return 0 -- else: -- return 1 -+ mf = mysettings.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(pkgdir))) -+ mf = mf.load_manifest(pkgdir, mysettings["DISTDIR"]) - eout = EOutput() - eout.quiet = mysettings.get("PORTAGE_QUIET", None) == "1" - try: - if strict and "PORTAGE_PARALLEL_FETCHONLY" not in mysettings: -- eout.ebegin(_("checking ebuild checksums ;-)")) -- mf.checkTypeHashes("EBUILD") -- eout.eend(0) -- eout.ebegin(_("checking auxfile checksums ;-)")) -- mf.checkTypeHashes("AUX") -- eout.eend(0) -- eout.ebegin(_("checking miscfile checksums ;-)")) -- mf.checkTypeHashes("MISC", ignoreMissingFiles=True) -- eout.eend(0) -+ if mf.fhashdict.get("EBUILD"): -+ eout.ebegin(_("checking ebuild checksums ;-)")) -+ mf.checkTypeHashes("EBUILD") -+ eout.eend(0) -+ if mf.fhashdict.get("AUX"): -+ eout.ebegin(_("checking auxfile checksums ;-)")) -+ mf.checkTypeHashes("AUX") -+ eout.eend(0) -+ if mf.fhashdict.get("MISC"): -+ eout.ebegin(_("checking miscfile checksums ;-)")) -+ mf.checkTypeHashes("MISC", ignoreMissingFiles=True) -+ eout.eend(0) - for f in myfiles: - eout.ebegin(_("checking %s ;-)") % f) - ftype = mf.findFile(f) - if ftype is None: -+ if mf.allow_missing: -+ continue - eout.eend(1) - writemsg(_("\n!!! Missing digest for '%s'\n") % (f,), - noiselevel=-1) -@@ -90,7 +74,7 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None): - writemsg(_("!!! Got: %s\n") % e.value[2], noiselevel=-1) - writemsg(_("!!! Expected: %s\n") % e.value[3], noiselevel=-1) - return 0 -- if allow_missing: -+ if mf.thin or mf.allow_missing: - # In this case we ignore any missing digests that - # would otherwise be detected below. - return 1 -diff --git a/pym/portage/package/ebuild/digestgen.py b/pym/portage/package/ebuild/digestgen.py -index eb7210e..f7cf149 100644 ---- a/pym/portage/package/ebuild/digestgen.py -+++ b/pym/portage/package/ebuild/digestgen.py -@@ -53,8 +53,15 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None): - return 0 - mytree = os.path.dirname(os.path.dirname(mysettings["O"])) - manifest1_compat = False -- mf = Manifest(mysettings["O"], mysettings["DISTDIR"], -+ mf = mysettings.repositories.get_repo_for_location(mytree) -+ mf = mf.load_manifest(mysettings["O"], mysettings["DISTDIR"], - fetchlist_dict=fetchlist_dict, manifest1_compat=manifest1_compat) -+ -+ if not mf.allow_create: -+ writemsg_stdout(_(">>> Skipping creating Manifest for %s; " -+ "repository is configured to not use them\n") % mysettings["O"]) -+ return 1 -+ - # Don't require all hashes since that can trigger excessive - # fetches when sufficient digests already exist. To ease transition - # while Manifest 1 is being removed, only require hashes that will -diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py -index a710e09..f5c4c81 100644 ---- a/pym/portage/package/ebuild/doebuild.py -+++ b/pym/portage/package/ebuild/doebuild.py -@@ -3,6 +3,7 @@ - - __all__ = ['doebuild', 'doebuild_environment', 'spawn', 'spawnebuild'] - -+import fileinput - import gzip - import errno - import io -@@ -50,7 +51,6 @@ from portage.exception import DigestException, FileNotFound, \ - IncorrectParameter, InvalidDependString, PermissionDenied, \ - UnsupportedAPIException - from portage.localization import _ --from portage.manifest import Manifest - from portage.output import style_to_ansi_code - from portage.package.ebuild.prepare_build_dirs import prepare_build_dirs - from portage.util import apply_recursive_permissions, \ -@@ -480,21 +480,27 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, - return 1 - - global _doebuild_manifest_cache -+ pkgdir = os.path.dirname(myebuild) -+ manifest_path = os.path.join(pkgdir, "Manifest") -+ if tree == "porttree": -+ repo_config = mysettings.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(pkgdir))) -+ else: -+ repo_config = None - mf = None - if "strict" in features and \ - "digest" not in features and \ - tree == "porttree" and \ -+ not repo_config.thin_manifest and \ - mydo not in ("digest", "manifest", "help") and \ -- not portage._doebuild_manifest_exempt_depend: -+ not portage._doebuild_manifest_exempt_depend and \ -+ not (repo_config.allow_missing_manifest and not os.path.exists(manifest_path)): - # Always verify the ebuild checksums before executing it. - global _doebuild_broken_ebuilds - - if myebuild in _doebuild_broken_ebuilds: - return 1 - -- pkgdir = os.path.dirname(myebuild) -- manifest_path = os.path.join(pkgdir, "Manifest") -- - # Avoid checking the same Manifest several times in a row during a - # regen with an empty cache. - if _doebuild_manifest_cache is None or \ -@@ -505,7 +511,7 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, - out.eerror(_("Manifest not found for '%s'") % (myebuild,)) - _doebuild_broken_ebuilds.add(myebuild) - return 1 -- mf = Manifest(pkgdir, mysettings["DISTDIR"]) -+ mf = repo_config.load_manifest(pkgdir, mysettings["DISTDIR"]) - - else: - mf = _doebuild_manifest_cache -@@ -513,10 +519,12 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, - try: - mf.checkFileHashes("EBUILD", os.path.basename(myebuild)) - except KeyError: -- out = portage.output.EOutput() -- out.eerror(_("Missing digest for '%s'") % (myebuild,)) -- _doebuild_broken_ebuilds.add(myebuild) -- return 1 -+ if not (mf.allow_missing and -+ os.path.basename(myebuild) not in mf.fhashdict["EBUILD"]): -+ out = portage.output.EOutput() -+ out.eerror(_("Missing digest for '%s'") % (myebuild,)) -+ _doebuild_broken_ebuilds.add(myebuild) -+ return 1 - except FileNotFound: - out = portage.output.EOutput() - out.eerror(_("A file listed in the Manifest " -@@ -536,7 +544,7 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, - if mf.getFullname() in _doebuild_broken_manifests: - return 1 - -- if mf is not _doebuild_manifest_cache: -+ if mf is not _doebuild_manifest_cache and not mf.allow_missing: - - # Make sure that all of the ebuilds are - # actually listed in the Manifest. -@@ -553,8 +561,8 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, - _doebuild_broken_manifests.add(manifest_path) - return 1 - -- # Only cache it if the above stray files test succeeds. -- _doebuild_manifest_cache = mf -+ # We cache it only after all above checks succeed. -+ _doebuild_manifest_cache = mf - - logfile=None - builddir_lock = None -@@ -1300,13 +1308,14 @@ _post_phase_cmds = { - - "install" : [ - "install_qa_check", -- "install_symlink_html_docs"], -+ "install_symlink_html_docs", -+ "install_hooks"], - - "preinst" : [ - "preinst_sfperms", - "preinst_selinux_labels", - "preinst_suid_scan", -- "preinst_mask"] -+ ] - } - - def _post_phase_userpriv_perms(mysettings): -@@ -1497,6 +1506,7 @@ def _post_src_install_uid_fix(mysettings, out): - - destdir = mysettings["D"] - unicode_errors = [] -+ fix_files = [] - - while True: - -@@ -1585,10 +1595,12 @@ def _post_src_install_uid_fix(mysettings, out): - new_contents, mode='wb') - - mystat = os.lstat(fpath) -- if stat.S_ISREG(mystat.st_mode) and \ -- mystat.st_ino not in counted_inodes: -- counted_inodes.add(mystat.st_ino) -- size += mystat.st_size -+ if stat.S_ISREG(mystat.st_mode): -+ if fname.endswith(".la"): -+ fix_files.append(fpath) -+ if mystat.st_ino not in counted_inodes: -+ counted_inodes.add(mystat.st_ino) -+ size += mystat.st_size - if mystat.st_uid != portage_uid and \ - mystat.st_gid != portage_gid: - continue -@@ -1656,6 +1668,14 @@ def _post_src_install_uid_fix(mysettings, out): - mode='w', encoding=_encodings['repo.content'], - errors='strict').write(_unicode_decode(v + '\n')) - -+ re_root = mysettings["ROOT"].strip("/") -+ if fix_files and re_root: -+ # Replace references to our sysroot with references to "/" in binpkg. -+ # Sysroot will be re-appended when the package is installed. -+ pat = re.compile(r"([' =](-[IL])?/)%s/" % re.escape(re_root)) -+ for line in fileinput.input(fix_files, inplace=1): -+ sys.stdout.write(pat.sub(r"\1", line)) -+ - _reapply_bsdflags_to_image(mysettings) - - def _reapply_bsdflags_to_image(mysettings): -diff --git a/pym/portage/package/ebuild/fetch.py b/pym/portage/package/ebuild/fetch.py -index 5cbbf87..11c4c01 100644 ---- a/pym/portage/package/ebuild/fetch.py -+++ b/pym/portage/package/ebuild/fetch.py -@@ -356,7 +356,8 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, - allow_missing_digests = True - pkgdir = mysettings.get("O") - if digests is None and not (pkgdir is None or skip_manifest): -- mydigests = Manifest( -+ mydigests = mysettings.repositories.get_repo_for_location( -+ os.path.dirname(os.path.dirname(pkgdir))).load_manifest( - pkgdir, mysettings["DISTDIR"]).getTypeDigests("DIST") - elif digests is None or skip_manifest: - # no digests because fetch was not called for a specific package -diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py -index 9f0bb99..0fe4a0e 100644 ---- a/pym/portage/repository/config.py -+++ b/pym/portage/repository/config.py -@@ -16,6 +16,7 @@ from portage.util import normalize_path, writemsg, writemsg_level, shlex_split - from portage.localization import _ - from portage import _unicode_encode - from portage import _encodings -+from portage import manifest - - _repo_name_sub_re = re.compile(r'[^\w-]') - -@@ -36,7 +37,8 @@ class RepoConfig(object): - """Stores config of one repository""" - - __slots__ = ['aliases', 'eclass_overrides', 'eclass_locations', 'location', 'user_location', 'masters', 'main_repo', -- 'missing_repo_name', 'name', 'priority', 'sync', 'format'] -+ 'missing_repo_name', 'name', 'priority', 'sync', 'format', 'sign_manifest', 'thin_manifest', -+ 'allow_missing_manifest', 'create_manifest', 'disable_manifest', 'cache_format'] - - def __init__(self, name, repo_opts): - """Build a RepoConfig with options in repo_opts -@@ -105,6 +107,36 @@ class RepoConfig(object): - missing = False - self.name = name - self.missing_repo_name = missing -+ self.thin_manifest = False -+ self.allow_missing_manifest = False -+ self.create_manifest = True -+ self.disable_manifest = False -+ self.cache_format = None -+ -+ def get_pregenerated_cache(self, auxdbkeys, readonly=True, force=False): -+ format = self.cache_format -+ if format is None: -+ if not force: -+ return None -+ format = 'pms' -+ if format == 'pms': -+ from portage.cache.metadata import database -+ name = 'metadata/cache' -+ elif format == 'md5-dict': -+ from portage.cache.flat_hash import md5_database as database -+ name = 'metadata/md5-cache' -+ else: -+ return None -+ return database(self.location, name, -+ auxdbkeys, readonly=readonly) -+ -+ def load_manifest(self, *args, **kwds): -+ kwds['thin'] = self.thin_manifest -+ kwds['allow_missing'] = self.allow_missing_manifest -+ kwds['allow_create'] = self.create_manifest -+ if self.disable_manifest: -+ kwds['from_scratch'] = True -+ return manifest.Manifest(*args, **kwds) - - def update(self, new_repo): - """Update repository with options in another RepoConfig""" -@@ -169,107 +201,101 @@ class RepoConfig(object): - - class RepoConfigLoader(object): - """Loads and store config of several repositories, loaded from PORTDIR_OVERLAY or repos.conf""" -- def __init__(self, paths, settings): -- """Load config from files in paths""" -- def parse(paths, prepos, ignored_map, ignored_location_map): -- """Parse files in paths to load config""" -- parser = SafeConfigParser() -- try: -- parser.read(paths) -- except ParsingError as e: -- writemsg(_("!!! Error while reading repo config file: %s\n") % e, noiselevel=-1) -- prepos['DEFAULT'] = RepoConfig("DEFAULT", parser.defaults()) -- for sname in parser.sections(): -- optdict = {} -- for oname in parser.options(sname): -- optdict[oname] = parser.get(sname, oname) -- -- repo = RepoConfig(sname, optdict) -- if repo.location and not os.path.exists(repo.location): -- writemsg(_("!!! Invalid repos.conf entry '%s'" -- " (not a dir): '%s'\n") % (sname, repo.location), noiselevel=-1) -- continue - -- if repo.name in prepos: -- old_location = prepos[repo.name].location -- if old_location is not None and repo.location is not None and old_location != repo.location: -- ignored_map.setdefault(repo.name, []).append(old_location) -- ignored_location_map[old_location] = repo.name -- prepos[repo.name].update(repo) -- else: -- prepos[repo.name] = repo -- -- def add_overlays(portdir, portdir_overlay, prepos, ignored_map, ignored_location_map): -- """Add overlays in PORTDIR_OVERLAY as repositories""" -- overlays = [] -- if portdir: -- portdir = normalize_path(portdir) -- overlays.append(portdir) -- port_ov = [normalize_path(i) for i in shlex_split(portdir_overlay)] -- overlays.extend(port_ov) -- default_repo_opts = {} -- if prepos['DEFAULT'].aliases is not None: -- default_repo_opts['aliases'] = \ -- ' '.join(prepos['DEFAULT'].aliases) -- if prepos['DEFAULT'].eclass_overrides is not None: -- default_repo_opts['eclass-overrides'] = \ -- ' '.join(prepos['DEFAULT'].eclass_overrides) -- if prepos['DEFAULT'].masters is not None: -- default_repo_opts['masters'] = \ -- ' '.join(prepos['DEFAULT'].masters) -- if overlays: -- #overlay priority is negative because we want them to be looked before any other repo -- base_priority = 0 -- for ov in overlays: -- if os.path.isdir(ov): -- repo_opts = default_repo_opts.copy() -- repo_opts['location'] = ov -- repo = RepoConfig(None, repo_opts) -- repo_conf_opts = prepos.get(repo.name) -- if repo_conf_opts is not None: -- if repo_conf_opts.aliases is not None: -- repo_opts['aliases'] = \ -- ' '.join(repo_conf_opts.aliases) -- if repo_conf_opts.eclass_overrides is not None: -- repo_opts['eclass-overrides'] = \ -- ' '.join(repo_conf_opts.eclass_overrides) -- if repo_conf_opts.masters is not None: -- repo_opts['masters'] = \ -- ' '.join(repo_conf_opts.masters) -- repo = RepoConfig(repo.name, repo_opts) -- if repo.name in prepos: -- old_location = prepos[repo.name].location -- if old_location is not None and old_location != repo.location: -- ignored_map.setdefault(repo.name, []).append(old_location) -- ignored_location_map[old_location] = repo.name -- if old_location == portdir: -- portdir = repo.user_location -- prepos[repo.name].update(repo) -- repo = prepos[repo.name] -- else: -- prepos[repo.name] = repo -- -- if ov == portdir and portdir not in port_ov: -- repo.priority = -1000 -- else: -- repo.priority = base_priority -- base_priority += 1 -+ @staticmethod -+ def _add_overlays(portdir, portdir_overlay, prepos, ignored_map, ignored_location_map): -+ """Add overlays in PORTDIR_OVERLAY as repositories""" -+ overlays = [] -+ if portdir: -+ portdir = normalize_path(portdir) -+ overlays.append(portdir) -+ port_ov = [normalize_path(i) for i in shlex_split(portdir_overlay)] -+ overlays.extend(port_ov) -+ default_repo_opts = {} -+ if prepos['DEFAULT'].aliases is not None: -+ default_repo_opts['aliases'] = \ -+ ' '.join(prepos['DEFAULT'].aliases) -+ if prepos['DEFAULT'].eclass_overrides is not None: -+ default_repo_opts['eclass-overrides'] = \ -+ ' '.join(prepos['DEFAULT'].eclass_overrides) -+ if prepos['DEFAULT'].masters is not None: -+ default_repo_opts['masters'] = \ -+ ' '.join(prepos['DEFAULT'].masters) -+ if overlays: -+ #overlay priority is negative because we want them to be looked before any other repo -+ base_priority = 0 -+ for ov in overlays: -+ if os.path.isdir(ov): -+ repo_opts = default_repo_opts.copy() -+ repo_opts['location'] = ov -+ repo = RepoConfig(None, repo_opts) -+ repo_conf_opts = prepos.get(repo.name) -+ if repo_conf_opts is not None: -+ if repo_conf_opts.aliases is not None: -+ repo_opts['aliases'] = \ -+ ' '.join(repo_conf_opts.aliases) -+ if repo_conf_opts.eclass_overrides is not None: -+ repo_opts['eclass-overrides'] = \ -+ ' '.join(repo_conf_opts.eclass_overrides) -+ if repo_conf_opts.masters is not None: -+ repo_opts['masters'] = \ -+ ' '.join(repo_conf_opts.masters) -+ repo = RepoConfig(repo.name, repo_opts) -+ if repo.name in prepos: -+ old_location = prepos[repo.name].location -+ if old_location is not None and old_location != repo.location: -+ ignored_map.setdefault(repo.name, []).append(old_location) -+ ignored_location_map[old_location] = repo.name -+ if old_location == portdir: -+ portdir = repo.user_location -+ prepos[repo.name].update(repo) -+ repo = prepos[repo.name] -+ else: -+ prepos[repo.name] = repo - -+ if ov == portdir and portdir not in port_ov: -+ repo.priority = -1000 - else: -- writemsg(_("!!! Invalid PORTDIR_OVERLAY" -- " (not a dir): '%s'\n") % ov, noiselevel=-1) -+ repo.priority = base_priority -+ base_priority += 1 -+ -+ else: -+ writemsg(_("!!! Invalid PORTDIR_OVERLAY" -+ " (not a dir): '%s'\n") % ov, noiselevel=-1) -+ -+ return portdir -+ -+ @staticmethod -+ def _parse(paths, prepos, ignored_map, ignored_location_map): -+ """Parse files in paths to load config""" -+ parser = SafeConfigParser() -+ try: -+ parser.read(paths) -+ except ParsingError as e: -+ writemsg(_("!!! Error while reading repo config file: %s\n") % e, noiselevel=-1) -+ prepos['DEFAULT'] = RepoConfig("DEFAULT", parser.defaults()) -+ for sname in parser.sections(): -+ optdict = {} -+ for oname in parser.options(sname): -+ optdict[oname] = parser.get(sname, oname) -+ -+ repo = RepoConfig(sname, optdict) -+ if repo.location and not os.path.exists(repo.location): -+ writemsg(_("!!! Invalid repos.conf entry '%s'" -+ " (not a dir): '%s'\n") % (sname, repo.location), noiselevel=-1) -+ continue - -- return portdir -+ if repo.name in prepos: -+ old_location = prepos[repo.name].location -+ if old_location is not None and repo.location is not None and old_location != repo.location: -+ ignored_map.setdefault(repo.name, []).append(old_location) -+ ignored_location_map[old_location] = repo.name -+ prepos[repo.name].update(repo) -+ else: -+ prepos[repo.name] = repo - -- def repo_priority(r): -- """ -- Key funtion for comparing repositories by priority. -- None is equal priority zero. -- """ -- x = prepos[r].priority -- if x is None: -- return 0 -- return x -+ def __init__(self, paths, settings): -+ """Load config from files in paths""" - - prepos = {} - location_map = {} -@@ -279,10 +305,12 @@ class RepoConfigLoader(object): - - portdir = settings.get('PORTDIR', '') - portdir_overlay = settings.get('PORTDIR_OVERLAY', '') -- parse(paths, prepos, ignored_map, ignored_location_map) -+ -+ self._parse(paths, prepos, ignored_map, ignored_location_map) -+ - # If PORTDIR_OVERLAY contains a repo with the same repo_name as - # PORTDIR, then PORTDIR is overridden. -- portdir = add_overlays(portdir, portdir_overlay, prepos, -+ portdir = self._add_overlays(portdir, portdir_overlay, prepos, - ignored_map, ignored_location_map) - if portdir and portdir.strip(): - portdir = os.path.realpath(portdir) -@@ -319,6 +347,21 @@ class RepoConfigLoader(object): - aliases.extend(repo.aliases) - repo.aliases = tuple(sorted(set(aliases))) - -+ if layout_data.get('thin-manifests', '').lower() == 'true': -+ repo.thin_manifest = True -+ -+ manifest_policy = layout_data.get('use-manifests', 'strict').lower() -+ repo.allow_missing_manifest = manifest_policy != 'strict' -+ repo.create_manifest = manifest_policy != 'false' -+ repo.disable_manifest = manifest_policy == 'false' -+ -+ # for compatibility w/ PMS, fallback to pms; but also check if the -+ # cache exists or not. -+ repo.cache_format = layout_data.get('cache-format', 'pms').lower() -+ if repo.cache_format == 'pms' and not os.path.isdir( -+ os.path.join(repo.location, 'metadata', 'cache')): -+ repo.cache_format = None -+ - #Take aliases into account. - new_prepos = {} - for repo_name, repo in prepos.items(): -@@ -342,9 +385,11 @@ class RepoConfigLoader(object): - - # filter duplicates from aliases, by only including - # items where repo.name == key -- prepos_order = [repo.name for key, repo in prepos.items() \ -+ -+ prepos_order = sorted(prepos.items(), key=lambda r:r[1].priority or 0) -+ -+ prepos_order = [repo.name for (key, repo) in prepos_order - if repo.name == key and repo.location is not None] -- prepos_order.sort(key=repo_priority) - - if portdir in location_map: - portdir_repo = prepos[location_map[portdir]] -@@ -488,6 +533,9 @@ class RepoConfigLoader(object): - return None - return self.treemap[repo_name] - -+ def get_repo_for_location(self, location): -+ return self.prepos[self.get_name_for_location(location)] -+ - def __getitem__(self, repo_name): - return self.prepos[repo_name] - -diff --git a/pym/portage/tests/resolver/test_rebuild.py b/pym/portage/tests/resolver/test_rebuild.py -index b9c4d6d..6f1a783 100644 ---- a/pym/portage/tests/resolver/test_rebuild.py -+++ b/pym/portage/tests/resolver/test_rebuild.py -@@ -9,57 +9,58 @@ class RebuildTestCase(TestCase): - - def testRebuild(self): - """ -- Rebuild packages when dependencies that are used at both build-time and -- run-time are upgraded. -+ Rebuild packages when build-time dependencies are upgraded. - """ - - ebuilds = { - "sys-libs/x-1": { }, - "sys-libs/x-1-r1": { }, - "sys-libs/x-2": { }, -- "sys-apps/a-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : "sys-libs/x"}, -- "sys-apps/a-2": { "DEPEND" : "sys-libs/x", "RDEPEND" : "sys-libs/x"}, -- "sys-apps/b-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : "sys-libs/x"}, -- "sys-apps/b-2": { "DEPEND" : "sys-libs/x", "RDEPEND" : "sys-libs/x"}, -+ "sys-apps/a-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, -+ "sys-apps/a-2": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, -+ "sys-apps/b-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, -+ "sys-apps/b-2": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, - "sys-apps/c-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, - "sys-apps/c-2": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, - "sys-apps/d-1": { "RDEPEND" : "sys-libs/x"}, - "sys-apps/d-2": { "RDEPEND" : "sys-libs/x"}, -- "sys-apps/e-2": { "DEPEND" : "sys-libs/x", "RDEPEND" : "sys-libs/x"}, -- "sys-apps/f-2": { "DEPEND" : "sys-apps/a", "RDEPEND" : "sys-apps/a"}, -+ "sys-apps/e-2": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, -+ "sys-apps/f-2": { "DEPEND" : "sys-apps/a", "RDEPEND" : ""}, - "sys-apps/g-2": { "DEPEND" : "sys-apps/b sys-libs/x", -- "RDEPEND" : "sys-apps/b"}, -+ "RDEPEND" : ""}, - } - - installed = { - "sys-libs/x-1": { }, -- "sys-apps/a-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : "sys-libs/x"}, -- "sys-apps/b-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : "sys-libs/x"}, -+ "sys-apps/a-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, -+ "sys-apps/b-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, - "sys-apps/c-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, - "sys-apps/d-1": { "RDEPEND" : "sys-libs/x"}, -- "sys-apps/e-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : "sys-libs/x"}, -- "sys-apps/f-1": { "DEPEND" : "sys-apps/a", "RDEPEND" : "sys-apps/a"}, -- "sys-apps/g-1": { "DEPEND" : "sys-apps/b sys-libs/x", -- "RDEPEND" : "sys-apps/b"}, -+ "sys-apps/e-1": { "DEPEND" : "sys-libs/x", "RDEPEND" : ""}, -+ "sys-apps/f-1": { "DEPEND" : "sys-apps/a", "RDEPEND" : ""}, -+ "sys-apps/g-1": { "DEPEND" : "sys-apps/b", -+ "RDEPEND" : ""}, - } - - world = ["sys-apps/a", "sys-apps/b", "sys-apps/c", "sys-apps/d", - "sys-apps/e", "sys-apps/f", "sys-apps/g"] - -+ - test_cases = ( - ResolverPlaygroundTestCase( -- ["sys-libs/x"], -+ ["sys-libs/x", "sys-apps/b"], - options = {"--rebuild-if-unbuilt" : True, -- "--rebuild-exclude" : ["sys-apps/b"]}, -- mergelist = ['sys-libs/x-2', 'sys-apps/a-2', 'sys-apps/e-2'], -+ "--rebuild-exclude" : ["sys-apps/c"]}, -+ mergelist = ['sys-libs/x-2', 'sys-apps/a-2', 'sys-apps/b-2', -+ 'sys-apps/e-2', 'sys-apps/g-2'], - ignore_mergelist_order = True, - success = True), - - ResolverPlaygroundTestCase( -- ["sys-libs/x"], -+ ["sys-libs/x", "sys-apps/b"], - options = {"--rebuild-if-unbuilt" : True}, - mergelist = ['sys-libs/x-2', 'sys-apps/a-2', 'sys-apps/b-2', -- 'sys-apps/e-2', 'sys-apps/g-2'], -+ 'sys-apps/c-2', 'sys-apps/e-2', 'sys-apps/g-2'], - ignore_mergelist_order = True, - success = True), - -@@ -72,27 +73,29 @@ class RebuildTestCase(TestCase): - success = True), - - ResolverPlaygroundTestCase( -- ["sys-libs/x"], -+ ["sys-libs/x", "sys-apps/b"], - options = {"--rebuild-if-unbuilt" : True, - "--rebuild-ignore" : ["sys-apps/b"]}, - mergelist = ['sys-libs/x-2', 'sys-apps/a-2', 'sys-apps/b-2', -- 'sys-apps/e-2'], -+ 'sys-apps/c-2', 'sys-apps/e-2'], - ignore_mergelist_order = True, - success = True), - - ResolverPlaygroundTestCase( -- ["=sys-libs/x-1-r1"], -+ ["=sys-libs/x-1-r1", "sys-apps/b"], - options = {"--rebuild-if-unbuilt" : True}, - mergelist = ['sys-libs/x-1-r1', 'sys-apps/a-2', -- 'sys-apps/b-2', 'sys-apps/e-2', 'sys-apps/g-2'], -+ 'sys-apps/b-2', 'sys-apps/c-2', 'sys-apps/e-2', -+ 'sys-apps/g-2'], - ignore_mergelist_order = True, - success = True), - - ResolverPlaygroundTestCase( -- ["=sys-libs/x-1-r1"], -+ ["=sys-libs/x-1-r1", "sys-apps/b"], - options = {"--rebuild-if-new-rev" : True}, - mergelist = ['sys-libs/x-1-r1', 'sys-apps/a-2', -- 'sys-apps/b-2', 'sys-apps/e-2', 'sys-apps/g-2'], -+ 'sys-apps/b-2', 'sys-apps/c-2', 'sys-apps/e-2', -+ 'sys-apps/g-2'], - ignore_mergelist_order = True, - success = True), - -@@ -104,10 +107,11 @@ class RebuildTestCase(TestCase): - success = True), - - ResolverPlaygroundTestCase( -- ["sys-libs/x"], -+ ["sys-libs/x", "sys-apps/b"], - options = {"--rebuild-if-new-ver" : True}, - mergelist = ['sys-libs/x-2', 'sys-apps/a-2', -- 'sys-apps/b-2', 'sys-apps/e-2', 'sys-apps/g-2'], -+ 'sys-apps/b-2', 'sys-apps/c-2', 'sys-apps/e-2', -+ 'sys-apps/g-2'], - ignore_mergelist_order = True, - success = True), - -@@ -119,10 +123,11 @@ class RebuildTestCase(TestCase): - success = True), - - ResolverPlaygroundTestCase( -- ["=sys-libs/x-1"], -+ ["=sys-libs/x-1", "=sys-apps/b-1"], - options = {"--rebuild-if-unbuilt" : True}, - mergelist = ['sys-libs/x-1', 'sys-apps/a-2', -- 'sys-apps/b-2', 'sys-apps/e-2', 'sys-apps/g-2'], -+ 'sys-apps/b-1', 'sys-apps/c-2', 'sys-apps/e-2', -+ 'sys-apps/g-2'], - ignore_mergelist_order = True, - success = True), - ) -diff --git a/pym/portage/util/env_update.py b/pym/portage/util/env_update.py -index eb8a0d9..725b0d2 100644 ---- a/pym/portage/util/env_update.py -+++ b/pym/portage/util/env_update.py -@@ -19,12 +19,14 @@ from portage.process import find_binary - from portage.util import atomic_ofstream, ensure_dirs, getconfig, \ - normalize_path, writemsg - from portage.util.listdir import listdir -+from portage.dbapi.vartree import vartree -+from portage.package.ebuild.config import config - - if sys.hexversion >= 0x3000000: - long = int - - def env_update(makelinks=1, target_root=None, prev_mtimes=None, contents=None, -- env=None, writemsg_level=None): -+ env=None, writemsg_level=None, vardbapi=None): - """ - Parse /etc/env.d and use it to generate /etc/profile.env, csh.env, - ld.so.conf, and prelink.conf. Finally, run ldconfig. When ldconfig is -@@ -39,6 +41,41 @@ def env_update(makelinks=1, target_root=None, prev_mtimes=None, contents=None, - defaults to portage.settings["ROOT"]. - @type target_root: String (Path) - """ -+ settings = getattr(portage, 'settings', None) -+ if settings is None: -+ settings = config(config_root=target_root, -+ target_root=target_root) -+ -+ if 'no-env-update' in settings.features: -+ return -+ -+ if vardbapi is None: -+ if isinstance(env, config): -+ vardbapi = vartree(settings=env).dbapi -+ else: -+ if target_root is None: -+ target_root = portage.settings["ROOT"] -+ if hasattr(portage, "db") and target_root in portage.db: -+ vardbapi = portage.db[target_root]["vartree"].dbapi -+ else: -+ settings = config(config_root=target_root, -+ target_root=target_root) -+ target_root = settings["ROOT"] -+ if env is None: -+ env = settings -+ vardbapi = vartree(settings=settings).dbapi -+ -+ # Lock the config memory file to prevent symlink creation -+ # in merge_contents from overlapping with env-update. -+ vardbapi._fs_lock() -+ try: -+ return _env_update(makelinks, target_root, prev_mtimes, contents, -+ env, writemsg_level) -+ finally: -+ vardbapi._fs_unlock() -+ -+def _env_update(makelinks, target_root, prev_mtimes, contents, env, -+ writemsg_level): - if writemsg_level is None: - writemsg_level = portage.util.writemsg_level - if target_root is None: -diff --git a/pym/portage/xpak.py b/pym/portage/xpak.py -index 7487d67..a939532 100644 ---- a/pym/portage/xpak.py -+++ b/pym/portage/xpak.py -@@ -1,4 +1,4 @@ --# Copyright 2001-2010 Gentoo Foundation -+# Copyright 2001-2012 Gentoo Foundation - # Distributed under the terms of the GNU General Public License v2 - - -@@ -241,16 +241,9 @@ def getitem(myid,myitem): - return mydata[myloc[0]:myloc[0]+myloc[1]] - - def xpand(myid,mydest): -+ mydest = normalize_path(mydest) + os.sep - myindex=myid[0] - mydata=myid[1] -- try: -- origdir=os.getcwd() -- except SystemExit as e: -- raise -- except: -- os.chdir("/") -- origdir="/" -- os.chdir(mydest) - myindexlen=len(myindex) - startpos=0 - while ((startpos+8) - - - - mailto:dev-portage@gentoo.org - http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=blob_plain;f=RELEASE-NOTES - http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3 - - dev-portage@gentoo.org - - Build html API documentation with epydoc. - Use inter-process communication between portage and running ebuilds. - Pull in sys-apps/less as default pager for etc-update. - Use pypy-c2.0 as Python interpreter. - Use python2 as Python interpreter. - Use python3 as Python interpreter. - - diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.10.11-r9.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.10.11-r9.ebuild deleted file mode 100644 index ef7e0d2230..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.10.11-r9.ebuild +++ /dev/null @@ -1,331 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1.10.3.ebuild,v 1.1 2011/06/14 00:42:00 zmedico Exp $ - -# Require EAPI 2 since we now require at least python-2.6 (for python 3 -# syntax support) which also requires EAPI 2. -EAPI=2 -inherit eutils multilib python - -DESCRIPTION="Portage is the package management and distribution system for Gentoo" -HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" -LICENSE="GPL-2" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd" -SLOT="0" -IUSE="build doc epydoc +ipc +less linguas_pl python2 python3 selinux" -PROVIDE="virtual/portage" - -python_dep="python3? ( =dev-lang/python-3* ) - !python2? ( !python3? ( - build? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 ) ) - !build? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) ) - ) ) - python2? ( !python3? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 ) ) )" - -# The pysqlite blocker is for bug #282760. -DEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 ) - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) - epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" - -RDEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 - >=app-shells/bash-3.2_p17 - >=app-admin/eselect-1.2 ) - elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) - elibc_glibc? ( >=sys-apps/sandbox-1.6 ) - elibc_uclibc? ( >=sys-apps/sandbox-1.6 ) - >=app-misc/pax-utils-0.1.17 - selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] = 0x2060000 and "good" or "bad")') = good ]] -} - -pkg_setup() { - # Bug #359731 - Die early if get_libdir fails. - [[ -z $(get_libdir) ]] && \ - die "get_libdir returned an empty string" - - if use python2 && use python3 ; then - ewarn "Both python2 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if ! use python2 && ! use python3 && ! compatible_python_is_selected ; then - ewarn "Attempting to select a compatible default python interpreter" - local x success=0 - for x in /usr/bin/python2.* ; do - x=${x#/usr/bin/python2.} - if [[ $x -ge 6 ]] 2>/dev/null ; then - eselect python set python2.$x - if compatible_python_is_selected ; then - elog "Default python interpreter is now set to python-2.$x" - success=1 - break - fi - fi - done - if [ $success != 1 ] ; then - eerror "Unable to select a compatible default python interpreter!" - die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." - fi - fi - - if use python3; then - python_set_active_version 3 - elif use python2; then - python_set_active_version 2 - fi -} - -src_prepare() { - if [ -n "${PATCHVER}" ] ; then - if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then - rm "$S/bin/ebuild-helpers/portageq" \ - || die "failed to remove portageq helper symlink" - fi - epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" - fi - epatch "${FILESDIR}"/${PVR}.patch - einfo "Setting portage.VERSION to ${PVR} ..." - sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" - sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ - die "Failed to patch VERSION in doc/fragment/version" - sed -e "1s/VERSION/${PVR}/" -i man/* || \ - die "Failed to patch VERSION in man page headers" - - if ! use ipc ; then - einfo "Disabling ipc..." - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ - -i pym/_emerge/AbstractEbuildProcess.py || \ - die "failed to patch AbstractEbuildProcess.py" - fi - - if use python3; then - einfo "Converting shebangs for python3..." - python_convert_shebangs -r 3 . - elif use python2; then - einfo "Converting shebangs for python2..." - python_convert_shebangs -r 2 . - fi -} - -src_compile() { - if use doc; then - cd "${S}"/doc - touch fragment/date - make xhtml xhtml-nochunks || die "failed to make docs" - fi - - if use epydoc; then - einfo "Generating api docs" - mkdir "${WORKDIR}"/api - local my_modules epydoc_opts="" - my_modules="$(find "${S}/pym" -name "*.py" \ - | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ - -e 's:/:.:g' | sort)" || die "error listing modules" - # workaround for bug 282760 - > "$S/pym/pysqlite2.py" - PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ - epydoc -o "${WORKDIR}"/api \ - -qqqqq --no-frames --show-imports $epydoc_opts \ - --name "${PN}" --url "${HOMEPAGE}" \ - ${my_modules} || die "epydoc failed" - rm "$S/pym/pysqlite2.py" - fi -} - -src_test() { - # make files executable, in case they were created by patch - find bin -type f | xargs chmod +x - PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \ - ./pym/portage/tests/runTests || die "test(s) failed" -} - -src_install() { - local libdir=$(get_libdir) - local portage_base="/usr/${libdir}/portage" - local portage_share_config=/usr/share/portage/config - - cd "${S}"/cnf - insinto /etc - doins etc-update.conf dispatch-conf.conf || die - - insinto "$portage_share_config" - doins "$S/cnf/make.globals" || die - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - newins make.conf make.conf.example || die - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - newins make.conf make.conf.example || die - fi - - dosym ..${portage_share_config}/make.globals /etc/make.globals - - insinto /etc/logrotate.d - doins "${S}"/cnf/logrotate.d/elog-save-summary || die - - # BSD and OSX need a sed wrapper so that find/xargs work properly - if use userland_GNU; then - rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper" - fi - - local x symlinks files - - cd "$S" || die "cd failed" - for x in $(find bin -type d) ; do - exeinto $portage_base/$x || die "exeinto failed" - cd "$S"/$x || die "cd failed" - files=$(find . -mindepth 1 -maxdepth 1 -type f ! -type l) - if [ -n "$files" ] ; then - doexe $files || die "doexe failed" - fi - symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) - if [ -n "$symlinks" ] ; then - cp -P $symlinks "$D$portage_base/$x" || die "cp failed" - fi - done - - cd "$S" || die "cd failed" - for x in $(find pym/* -type d) ; do - insinto $portage_base/$x || die "insinto failed" - cd "$S"/$x || die "cd failed" - # __pycache__ directories contain no py files - [[ "*.py" != $(echo *.py) ]] || continue - doins *.py || die "doins failed" - symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) - if [ -n "$symlinks" ] ; then - cp -P $symlinks "$D$portage_base/$x" || die "cp failed" - fi - done - - # Symlinks to directories cause up/downgrade issues and the use of these - # modules outside of portage is probably negligible. - for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do - [ ! -L "${x}" ] && continue - die "symlink to directory will cause upgrade/downgrade issues: '${x}'" - done - - exeinto ${portage_base}/pym/portage/tests - doexe "${S}"/pym/portage/tests/runTests - - doman "${S}"/man/*.[0-9] - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] - fi - - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} - use doc && dohtml -r "${S}"/doc/* - use epydoc && dohtml -r "${WORKDIR}"/api - - dodir /usr/bin - for x in ebuild egencache emerge portageq quickpkg repoman ; do - dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} - done - - dodir /usr/sbin - local my_syms="archive-conf - dispatch-conf - emaint - emerge-webrsync - env-update - etc-update - fixpackages - regenworld" - local x - for x in ${my_syms}; do - dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} - done - dosym env-update /usr/sbin/update-env - dosym etc-update /usr/sbin/update-etc - - dodir /etc/portage - keepdir /etc/portage -} - -pkg_preinst() { - if ! use build && ! has_version dev-python/pycrypto && \ - ! has_version '>=dev-lang/python-2.6[ssl]' ; then - ewarn "If you are an ebuild developer and you plan to commit ebuilds" - ewarn "with this system then please install dev-python/pycrypto or" - ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order" - ewarn "to enable RMD160 hash support." - ewarn "See bug #198398 for more information." - fi - if [ -f "${ROOT}/etc/make.globals" ]; then - rm "${ROOT}/etc/make.globals" - fi - - [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12" - REPO_LAYOUT_CONF_WARN=$? -} - -pkg_postinst() { - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - python_mod_optimize /usr/$(get_libdir)/portage/pym - - if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then - ewarn - echo "If you want overlay eclasses to override eclasses from" \ - "other repos then see the portage(5) man page" \ - "for information about the new layout.conf and repos.conf" \ - "configuration files." \ - | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done - ewarn - fi - - einfo - einfo "For help with using portage please consult the Gentoo Handbook" - einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" - einfo -} - -pkg_postrm() { - python_mod_cleanup /usr/$(get_libdir)/portage/pym -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.11.31.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.11.31.ebuild deleted file mode 100644 index 82d4094b72..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.1.11.31.ebuild +++ /dev/null @@ -1,278 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1.11.31.ebuild,v 1.12 2013/01/27 22:04:14 zmedico Exp $ - -# Require EAPI 2 since we now require at least python-2.6 (for python 3 -# syntax support) which also requires EAPI 2. -EAPI=2 -inherit eutils python - -DESCRIPTION="Portage is the package management and distribution system for Gentoo" -HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" -LICENSE="GPL-2" -KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd" -SLOT="0" -IUSE="build doc epydoc +ipc linguas_pl pypy2_0 python2 python3 selinux xattr" - -# Import of the io module in python-2.6 raises ImportError for the -# thread module if threading is disabled. -python_dep_ssl="python3? ( =dev-lang/python-3*[ssl] ) - !pypy2_0? ( !python2? ( !python3? ( - || ( >=dev-lang/python-2.7[ssl] dev-lang/python:2.6[threads,ssl] ) - ) ) ) - pypy2_0? ( !python2? ( !python3? ( dev-python/pypy:2.0[bzip2,ssl] ) ) ) - python2? ( !python3? ( || ( dev-lang/python:2.7[ssl] dev-lang/python:2.6[ssl,threads] ) ) )" -python_dep="${python_dep_ssl//\[ssl\]}" -python_dep="${python_dep//,ssl}" -python_dep="${python_dep//ssl,}" - -# The pysqlite blocker is for bug #282760. -DEPEND="${python_dep} - >=sys-apps/sed-4.0.5 sys-devel/patch - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) - epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" -# Require sandbox-2.2 for bug #288863. -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's -# quite slow, so it's not considered in the dependencies as an alternative to -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so -# for now, don't pull in xattr deps for other kernels. -# For whirlpool hash, require python[ssl] or python-mhash (bug #425046). -# For compgen, require bash[readline] (bug #445576). -RDEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 - || ( >=app-shells/bash-4.2_p37[readline] ( =app-shells/bash-3.2_p17 ) ) - >=app-admin/eselect-1.2 - || ( ${python_dep_ssl} dev-python/python-mhash ) - ) - elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) - >=app-misc/pax-utils-0.1.17 - xattr? ( kernel_linux? ( || ( >=dev-lang/python-3.3_pre20110902 dev-python/pyxattr ) ) ) - selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] = 0x2060000 and "good" or "bad")') = good ]] -} - -current_python_has_xattr() { - [[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \ - /usr/bin/python -c 'import xattr' 2>/dev/null -} - -pkg_setup() { - if use python2 && use python3 ; then - ewarn "Both python2 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python3 ; then - ewarn "Both pypy2_0 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python2 ; then - ewarn "Both pypy2_0 and python2 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python2" - fi - if ! use pypy2_0 && ! use python2 && ! use python3 && \ - ! compatible_python_is_selected ; then - ewarn "Attempting to select a compatible default python interpreter" - local x success=0 - for x in /usr/bin/python2.* ; do - x=${x#/usr/bin/python2.} - if [[ $x -ge 6 ]] 2>/dev/null ; then - eselect python set python2.$x - if compatible_python_is_selected ; then - elog "Default python interpreter is now set to python-2.$x" - success=1 - break - fi - fi - done - if [ $success != 1 ] ; then - eerror "Unable to select a compatible default python interpreter!" - die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." - fi - fi - - if use python3; then - python_set_active_version 3 - elif use python2; then - python_set_active_version 2 - elif use pypy2_0; then - python_set_active_version 2.7-pypy-2.0 - fi -} - -src_prepare() { - if [ -n "${PATCHVER}" ] ; then - if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then - rm "$S/bin/ebuild-helpers/portageq" \ - || die "failed to remove portageq helper symlink" - fi - epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" - fi - einfo "Setting portage.VERSION to ${PVR} ..." - sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" - sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ - die "Failed to patch VERSION in doc/fragment/version" - sed -e "1s/VERSION/${PVR}/" -i man/* || \ - die "Failed to patch VERSION in man page headers" - - if ! use ipc ; then - einfo "Disabling ipc..." - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ - -i pym/_emerge/AbstractEbuildProcess.py || \ - die "failed to patch AbstractEbuildProcess.py" - fi - - if use xattr && use kernel_linux ; then - einfo "Adding FEATURES=xattr to make.globals ..." - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ - || die "failed to append to make.globals" - fi - - if use python3; then - einfo "Converting shebangs for python3..." - python_convert_shebangs -r 3 . - elif use python2; then - einfo "Converting shebangs for python2..." - python_convert_shebangs -r 2 . - elif use pypy2_0; then - einfo "Converting shebangs for pypy-c2.0..." - python_convert_shebangs -r 2.7-pypy-2.0 . - fi - - cd "${S}/cnf" || die - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - fi -} - -src_compile() { - if use doc; then - emake docbook || die - fi - - if use epydoc; then - einfo "Generating api docs" - emake epydoc || die - fi -} - -src_test() { - emake test || die -} - -src_install() { - emake DESTDIR="${D}" \ - sysconfdir="/etc" \ - prefix="/usr" \ - install || die - - # Extended set config is currently disabled in portage-2.1.x. - rm -rf "${D}/usr/share/portage/config/sets" || die - - # Use dodoc for compression, since the Makefile doesn't do that. - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} || die - - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] || die - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] || die - fi - - # Set PYTHONPATH for portage API consumers. This way we don't have - # to rely on patched python having the correct path, since it has - # been known to incorrectly add /usr/libx32/portage/pym to sys.path. - echo "PYTHONPATH=\"/usr/lib/portage/pym\"" > \ - "${T}/05portage" || die - doenvd "${T}/05portage" || die -} - -pkg_preinst() { - if [[ $ROOT == / ]] ; then - # Run some minimal tests as a sanity check. - local test_runner=$(find "$D" -name runTests) - if [[ -n $test_runner && -x $test_runner ]] ; then - einfo "Running preinst sanity tests..." - "$test_runner" || die "preinst sanity tests failed" - fi - fi - - if use xattr && ! current_python_has_xattr ; then - ewarn "For optimal performance in xattr handling, install" - ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and" - ewarn "enable USE=python3 for $CATEGORY/$PN." - fi - - if [[ -d ${ROOT}var/log/portage && \ - $(ls -ld "${ROOT}var/log/portage") != *" portage portage "* ]] && \ - has_version '= 0x2060000 and "good" or "bad")') = good ]] -} - -current_python_has_xattr() { - [[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \ - /usr/bin/python -c 'import xattr' 2>/dev/null -} - -pkg_setup() { - if use python2 && use python3 ; then - ewarn "Both python2 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python3 ; then - ewarn "Both pypy2_0 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python2 ; then - ewarn "Both pypy2_0 and python2 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python2" - fi - if ! use pypy2_0 && ! use python2 && ! use python3 && \ - ! compatible_python_is_selected ; then - ewarn "Attempting to select a compatible default python interpreter" - local x success=0 - for x in /usr/bin/python2.* ; do - x=${x#/usr/bin/python2.} - if [[ $x -ge 6 ]] 2>/dev/null ; then - eselect python set python2.$x - if compatible_python_is_selected ; then - elog "Default python interpreter is now set to python-2.$x" - success=1 - break - fi - fi - done - if [ $success != 1 ] ; then - eerror "Unable to select a compatible default python interpreter!" - die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." - fi - fi - - if use python3; then - python_set_active_version 3 - elif use python2; then - python_set_active_version 2 - elif use pypy2_0; then - python_set_active_version 2.7-pypy-2.0 - fi -} - -src_prepare() { - if [ -n "${PATCHVER}" ] ; then - if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then - rm "$S/bin/ebuild-helpers/portageq" \ - || die "failed to remove portageq helper symlink" - fi - epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" - fi - einfo "Setting portage.VERSION to ${PVR} ..." - sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" - sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ - die "Failed to patch VERSION in doc/fragment/version" - sed -e "1s/VERSION/${PVR}/" -i $(find man -type f) || \ - die "Failed to patch VERSION in man page headers" - - if ! use ipc ; then - einfo "Disabling ipc..." - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ - -i pym/_emerge/AbstractEbuildProcess.py || \ - die "failed to patch AbstractEbuildProcess.py" - fi - - if use xattr && use kernel_linux ; then - einfo "Adding FEATURES=xattr to make.globals ..." - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ - || die "failed to append to make.globals" - fi - - if use python3; then - einfo "Converting shebangs for python3..." - python_convert_shebangs -r 3 . - elif use python2; then - einfo "Converting shebangs for python2..." - python_convert_shebangs -r 2 . - elif use pypy2_0; then - einfo "Converting shebangs for pypy-c2.0..." - python_convert_shebangs -r 2.7-pypy-2.0 . - fi - - cd "${S}/cnf" || die - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - fi -} - -src_compile() { - if use doc; then - emake docbook || die - fi - - if use epydoc; then - einfo "Generating api docs" - emake epydoc || die - fi -} - -src_test() { - emake test || die -} - -src_install() { - emake DESTDIR="${D}" \ - sysconfdir="/etc" \ - prefix="/usr" \ - install || die - - # Extended set config is currently disabled in portage-2.1.x. - rm -rf "${D}/usr/share/portage/config/sets" || die - - # Use dodoc for compression, since the Makefile doesn't do that. - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} || die - - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] || die - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] || die - fi - - # Set PYTHONPATH for portage API consumers. This way we don't have - # to rely on patched python having the correct path, since it has - # been known to incorrectly add /usr/libx32/portage/pym to sys.path. - echo "PYTHONPATH=\"/usr/lib/portage/pym\"" > \ - "${T}/05portage" || die - doenvd "${T}/05portage" || die -} - -pkg_preinst() { - if [[ $ROOT == / ]] ; then - # Run some minimal tests as a sanity check. - local test_runner=$(find "$D" -name runTests) - if [[ -n $test_runner && -x $test_runner ]] ; then - einfo "Running preinst sanity tests..." - "$test_runner" || die "preinst sanity tests failed" - fi - fi - - if use xattr && ! current_python_has_xattr ; then - ewarn "For optimal performance in xattr handling, install" - ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and" - ewarn "enable USE=python3 for $CATEGORY/$PN." - fi - - if [[ -d ${ROOT}var/log/portage && \ - $(ls -ld "${ROOT}var/log/portage") != *" portage portage "* ]] && \ - has_version '=dev-python/epydoc-3_pre0' && \ - epydoc_opts='--exclude-introspect portage\.dbapi' - my_modules="$(find "${S}/pym" -name "*.py" \ - | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ - -e 's:/:.:g' | sort)" || die "error listing modules" - # workaround for bug 282760 - > "$S/pym/pysqlite2.py" - PYTHONPATH="${S}/pym:${PYTHONPATH}" epydoc -o "${WORKDIR}"/api \ - -qqqqq --no-frames --show-imports $epydoc_opts \ - --name "${PN}" --url "${HOMEPAGE}" \ - ${my_modules} || die "epydoc failed" - rm "$S/pym/pysqlite2.py" - fi -} - -src_test() { - ./pym/portage/tests/runTests || \ - die "test(s) failed" -} - -src_install() { - local libdir=$(get_libdir) - local portage_base="/usr/${libdir}/portage" - local portage_share_config=/usr/share/portage/config - - cd "${S}"/cnf - insinto /etc - doins etc-update.conf dispatch-conf.conf - - dodir "${portage_share_config}" - insinto "${portage_share_config}" - doins "${S}/cnf/"make.globals - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - newins make.conf make.conf.example - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - newins make.conf make.conf.example - fi - - dosym ..${portage_share_config}/make.globals /etc/make.globals - - insinto /etc/logrotate.d - doins "${S}"/cnf/logrotate.d/elog-save-summary - - dodir ${portage_base}/bin - exeinto ${portage_base}/bin - - # BSD and OSX need a sed wrapper so that find/xargs work properly - if use userland_GNU; then - rm "${S}"/bin/sed || die "Failed to remove sed wrapper" - fi - - cd "${S}"/bin - doexe * - dosym newins ${portage_base}/bin/donewins - - local symlinks - for mydir in $(find "${S}"/pym -type d | sed -e "s:^${S}/::") ; do - dodir ${portage_base}/${mydir} - insinto ${portage_base}/${mydir} - cd "${S}"/${mydir} - doins *.py - symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) - [ -n "${symlinks}" ] && cp -P ${symlinks} "${D}${portage_base}/${mydir}" - done - - # Symlinks to directories cause up/downgrade issues and the use of these - # modules outside of portage is probably negligible. - for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do - [ ! -L "${x}" ] && continue - die "symlink to directory will cause upgrade/downgrade issues: '${x}'" - done - - exeinto ${portage_base}/pym/portage/tests - doexe "${S}"/pym/portage/tests/runTests - - doman "${S}"/man/*.[0-9] - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] - fi - - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} - use doc && dohtml -r "${S}"/doc/* - use epydoc && dohtml -r "${WORKDIR}"/api - - dodir /usr/bin - for x in ebuild emerge portageq repoman xpak; do - dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} - done - - dodir /usr/sbin - local x - for x in archive-conf dispatch-conf emaint emerge-webrsync env-update \ - etc-update fixpackages quickpkg regenworld ; do - dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} - done - dosym env-update /usr/sbin/update-env - dosym etc-update /usr/sbin/update-etc - - dodir /etc/portage - keepdir /etc/portage -} - -pkg_preinst() { - if [ -f "${ROOT}/etc/make.globals" ]; then - rm "${ROOT}/etc/make.globals" - fi - has_version ">=${CATEGORY}/${PN}-2.2_pre" - DOWNGRADE_FROM_2_2=$? - has_version "<${CATEGORY}/${PN}-2.1.6_pre" - UPGRADE_FROM_2_1=$? -} - -pkg_postinst() { - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - python_mod_optimize /usr/$(get_libdir)/portage/pym - - local warning_shown=0 - if [ $DOWNGRADE_FROM_2_2 = 0 ] ; then - ewarn - echo "Since you have downgraded from portage-2.2, do not forget to" \ - "use revdep-rebuild when appropriate, since the @preserved-rebuild" \ - "package set is only supported with portage-2.2." | fmt -w 70 | \ - while read ; do ewarn "$REPLY" ; done - warning_shown=1 - fi - if [ $UPGRADE_FROM_2_1 = 0 ] ; then - ewarn - echo "In portage-2.1.6, the default behavior has changed for" \ - "\`emerge world\` and \`emerge system\` commands. These commands" \ - "will reinstall all packages from the given set unless an option" \ - "such as --noreplace, --update, or --newuse is specified." \ - | fmt -w 70 | while read ; do ewarn "$REPLY" ; done - ewarn - echo "File collision protection is now enabled by default via" \ - "make.globals with FEATURES=protect-owned. If you want to" \ - "disable collision protection completely (not recommended), then" \ - "you need to ensure that neither protect-owned nor collision-protect" \ - "are enabled." | fmt -w 70 | while read ; do ewarn "$REPLY" ; done - ewarn - echo "If you have overridden FETCHCOMMAND or RESUMECOMMAND variables," \ - "for compatibility with EAPI 2, you must ensure that these variables" \ - "are written such that the downloaded file will be placed at" \ - "\"\${DISTDIR}/\${FILE}\". Refer to make.conf(5) for" \ - "information about FETCHCOMMAND and RESUMECOMMAND." | \ - fmt -w 70 | while read ; do ewarn "$REPLY" ; done - warning_shown=1 - fi - if [ $warning_shown = 1 ] ; then - ewarn # for symmetry - fi -} - -pkg_postrm() { - python_mod_cleanup /usr/$(get_libdir)/portage/pym -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.2.0_alpha142.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.2.0_alpha142.ebuild deleted file mode 100644 index ed4ff4788b..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.2.0_alpha142.ebuild +++ /dev/null @@ -1,332 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2.0_alpha142.ebuild,v 1.6 2013/01/27 22:04:14 zmedico Exp $ - -# Require EAPI 2 since we now require at least python-2.6 (for python 3 -# syntax support) which also requires EAPI 2. -EAPI=3 -inherit eutils python - -DESCRIPTION="Portage is the package management and distribution system for Gentoo" -HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" -LICENSE="GPL-2" -KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" -SLOT="0" -IUSE="build doc epydoc +ipc linguas_pl pypy2_0 python2 python3 selinux xattr" - -# Import of the io module in python-2.6 raises ImportError for the -# thread module if threading is disabled. -python_dep_ssl="python3? ( =dev-lang/python-3*[ssl] ) - !pypy2_0? ( !python2? ( !python3? ( - || ( >=dev-lang/python-2.7[ssl] dev-lang/python:2.6[threads,ssl] ) - ) ) ) - pypy2_0? ( !python2? ( !python3? ( dev-python/pypy:2.0[bzip2,ssl] ) ) ) - python2? ( !python3? ( || ( dev-lang/python:2.7[ssl] dev-lang/python:2.6[ssl,threads] ) ) )" -python_dep="${python_dep_ssl//\[ssl\]}" -python_dep="${python_dep//,ssl}" -python_dep="${python_dep//ssl,}" - -# The pysqlite blocker is for bug #282760. -DEPEND="${python_dep} - >=sys-apps/sed-4.0.5 sys-devel/patch - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) - epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" -# Require sandbox-2.2 for bug #288863. -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's -# quite slow, so it's not considered in the dependencies as an alternative to -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so -# for now, don't pull in xattr deps for other kernels. -# For whirlpool hash, require python[ssl] or python-mhash (bug #425046). -# For compgen, require bash[readline] (bug #445576). -RDEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 - || ( >=app-shells/bash-4.2_p37[readline] ( =app-shells/bash-3.2_p17 ) ) - >=app-admin/eselect-1.2 - || ( ${python_dep_ssl} dev-python/python-mhash ) - ) - elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) - >=app-misc/pax-utils-0.1.17 - xattr? ( kernel_linux? ( || ( >=dev-lang/python-3.3_pre20110902 dev-python/pyxattr ) ) ) - selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] = 0x2060000 and "good" or "bad")') = good ]] -} - -current_python_has_xattr() { - [[ $("${EPREFIX}/usr/bin/python" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \ - "${EPREFIX}/usr/bin/python" -c 'import xattr' 2>/dev/null -} - -pkg_setup() { - if use python2 && use python3 ; then - ewarn "Both python2 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python3 ; then - ewarn "Both pypy2_0 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python2 ; then - ewarn "Both pypy2_0 and python2 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python2" - fi - if ! use pypy2_0 && ! use python2 && ! use python3 && \ - ! compatible_python_is_selected ; then - ewarn "Attempting to select a compatible default python interpreter" - local x success=0 - for x in /usr/bin/python2.* ; do - x=${x#/usr/bin/python2.} - if [[ $x -ge 6 ]] 2>/dev/null ; then - eselect python set python2.$x - if compatible_python_is_selected ; then - elog "Default python interpreter is now set to python-2.$x" - success=1 - break - fi - fi - done - if [ $success != 1 ] ; then - eerror "Unable to select a compatible default python interpreter!" - die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." - fi - fi - - if use python3; then - python_set_active_version 3 - elif use python2; then - python_set_active_version 2 - elif use pypy2_0; then - python_set_active_version 2.7-pypy-2.0 - fi -} - -src_prepare() { - if [ -n "${PATCHVER}" ] ; then - if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then - rm "$S/bin/ebuild-helpers/portageq" \ - || die "failed to remove portageq helper symlink" - fi - epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" - fi - einfo "Setting portage.VERSION to ${PVR} ..." - sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" - sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ - die "Failed to patch VERSION in doc/fragment/version" - sed -e "1s/VERSION/${PVR}/" -i man/* || \ - die "Failed to patch VERSION in man page headers" - - if ! use ipc ; then - einfo "Disabling ipc..." - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ - -i pym/_emerge/AbstractEbuildProcess.py || \ - die "failed to patch AbstractEbuildProcess.py" - fi - - if use xattr && use kernel_linux ; then - einfo "Adding FEATURES=xattr to make.globals ..." - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ - || die "failed to append to make.globals" - fi - - if use python3; then - einfo "Converting shebangs for python3..." - python_convert_shebangs -r 3 . - elif use python2; then - einfo "Converting shebangs for python2..." - python_convert_shebangs -r 2 . - elif use pypy2_0; then - einfo "Converting shebangs for pypy-c2.0..." - python_convert_shebangs -r 2.7-pypy-2.0 . - fi - - if [[ -n ${EPREFIX} ]] ; then - einfo "Setting portage.const.EPREFIX ..." - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \ - -i pym/portage/const.py || \ - die "Failed to patch portage.const.EPREFIX" - - einfo "Prefixing shebangs ..." - find . -type f -print0 | \ - while read -r -d $'\0' ; do - local shebang=$(head -n1 "$REPLY") - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \ - die "sed failed" - fi - done - - einfo "Adjusting make.globals ..." - sed -e 's|^SYNC=.*|SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"|' \ - -e "s|^\(PORTDIR=\)\(/usr/portage\)|\\1\"${EPREFIX}\\2\"|" \ - -e "s|^\(PORTAGE_TMPDIR=\)\(/var/tmp\)|\\1\"${EPREFIX}\\2\"|" \ - -i cnf/make.globals || die "sed failed" - - einfo "Adding FEATURES=force-prefix to make.globals ..." - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \ - || die "failed to append to make.globals" - fi - - echo -e '\nFEATURES="${FEATURES} preserve-libs"' >> cnf/make.globals \ - || die "failed to append to make.globals" - - cd "${S}/cnf" || die - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - fi -} - -src_compile() { - if use doc; then - emake docbook || die - fi - - if use epydoc; then - einfo "Generating api docs" - emake epydoc || die - fi -} - -src_test() { - # make files executable, in case they were created by patch - find bin -type f | xargs chmod +x - emake test || die -} - -src_install() { - emake DESTDIR="${D}" \ - sysconfdir="${EPREFIX}/etc" \ - prefix="${EPREFIX}/usr" \ - install || die - - # Use dodoc for compression, since the Makefile doesn't do that. - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} || die - - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] || die - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] || die - fi - - # Set PYTHONPATH for portage API consumers. This way we don't have - # to rely on patched python having the correct path, since it has - # been known to incorrectly add /usr/libx32/portage/pym to sys.path. - echo "PYTHONPATH=\"${EPREFIX}/usr/lib/portage/pym\"" > \ - "${T}/05portage" || die - doenvd "${T}/05portage" || die -} - -pkg_preinst() { - if [[ $ROOT == / ]] ; then - # Run some minimal tests as a sanity check. - local test_runner=$(find "$ED" -name runTests) - if [[ -n $test_runner && -x $test_runner ]] ; then - einfo "Running preinst sanity tests..." - "$test_runner" || die "preinst sanity tests failed" - fi - fi - - if use xattr && ! current_python_has_xattr ; then - ewarn "For optimal performance in xattr handling, install" - ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and" - ewarn "enable USE=python3 for $CATEGORY/$PN." - fi - - has_version "<=${CATEGORY}/${PN}-2.2_pre5" \ - && WORLD_MIGRATION_UPGRADE=true || WORLD_MIGRATION_UPGRADE=false - - # If portage-2.1.6 is installed and the preserved_libs_registry exists, - # assume that the NEEDED.ELF.2 files have already been generated. - has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \ - ! ( [ -e "${EROOT}"var/lib/portage/preserved_libs_registry ] && \ - has_version ">=${CATEGORY}/${PN}-2.1.6_rc" ) \ - && NEEDED_REBUILD_UPGRADE=true || NEEDED_REBUILD_UPGRADE=false -} - -pkg_postinst() { - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - python_mod_optimize /usr/lib/portage/pym - - if $WORLD_MIGRATION_UPGRADE && \ - grep -q "^@" "${EROOT}/var/lib/portage/world"; then - einfo "moving set references from the worldfile into world_sets" - cd "${EROOT}/var/lib/portage/" - grep "^@" world >> world_sets - sed -i -e '/^@/d' world - fi - - if $NEEDED_REBUILD_UPGRADE ; then - einfo "rebuilding NEEDED.ELF.2 files" - for cpv in "${EROOT}/var/db/pkg"/*/*; do - if [ -f "${cpv}/NEEDED" ]; then - rm -f "${cpv}/NEEDED.ELF.2" - while read line; do - filename=${line% *} - needed=${line#* } - needed=${needed//+/++} - needed=${needed//#/##} - needed=${needed//%/%%} - newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename) - newline=${newline// - } - echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2" - done < "${cpv}/NEEDED" - fi - done - fi -} - -pkg_postrm() { - python_mod_cleanup /usr/lib/portage/pym -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.2.0_alpha161.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.2.0_alpha161.ebuild deleted file mode 100644 index 472198783f..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-2.2.0_alpha161.ebuild +++ /dev/null @@ -1,332 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2.0_alpha161.ebuild,v 1.2 2013/01/27 22:04:14 zmedico Exp $ - -# Require EAPI 2 since we now require at least python-2.6 (for python 3 -# syntax support) which also requires EAPI 2. -EAPI=3 -inherit eutils python - -DESCRIPTION="Portage is the package management and distribution system for Gentoo" -HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" -LICENSE="GPL-2" -KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" -SLOT="0" -IUSE="build doc epydoc +ipc linguas_pl linguas_ru pypy2_0 python2 python3 selinux xattr" - -# Import of the io module in python-2.6 raises ImportError for the -# thread module if threading is disabled. -python_dep_ssl="python3? ( =dev-lang/python-3*[ssl] ) - !pypy2_0? ( !python2? ( !python3? ( - || ( >=dev-lang/python-2.7[ssl] dev-lang/python:2.6[threads,ssl] ) - ) ) ) - pypy2_0? ( !python2? ( !python3? ( dev-python/pypy:2.0[bzip2,ssl] ) ) ) - python2? ( !python3? ( || ( dev-lang/python:2.7[ssl] dev-lang/python:2.6[ssl,threads] ) ) )" -python_dep="${python_dep_ssl//\[ssl\]}" -python_dep="${python_dep//,ssl}" -python_dep="${python_dep//ssl,}" - -# The pysqlite blocker is for bug #282760. -DEPEND="${python_dep} - >=sys-apps/sed-4.0.5 sys-devel/patch - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) - epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" -# Require sandbox-2.2 for bug #288863. -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's -# quite slow, so it's not considered in the dependencies as an alternative to -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so -# for now, don't pull in xattr deps for other kernels. -# For whirlpool hash, require python[ssl] or python-mhash (bug #425046). -# For compgen, require bash[readline] (bug #445576). -RDEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 - || ( >=app-shells/bash-4.2_p37[readline] ( =app-shells/bash-3.2_p17 ) ) - >=app-admin/eselect-1.2 - || ( ${python_dep_ssl} dev-python/python-mhash ) - ) - elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) - >=app-misc/pax-utils-0.1.17 - xattr? ( kernel_linux? ( || ( >=dev-lang/python-3.3_pre20110902 dev-python/pyxattr ) ) ) - selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] = 0x2060000 and "good" or "bad")') = good ]] -} - -current_python_has_xattr() { - [[ $("${EPREFIX}/usr/bin/python" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \ - "${EPREFIX}/usr/bin/python" -c 'import xattr' 2>/dev/null -} - -pkg_setup() { - if use python2 && use python3 ; then - ewarn "Both python2 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python3 ; then - ewarn "Both pypy2_0 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python2 ; then - ewarn "Both pypy2_0 and python2 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python2" - fi - if ! use pypy2_0 && ! use python2 && ! use python3 && \ - ! compatible_python_is_selected ; then - ewarn "Attempting to select a compatible default python interpreter" - local x success=0 - for x in /usr/bin/python2.* ; do - x=${x#/usr/bin/python2.} - if [[ $x -ge 6 ]] 2>/dev/null ; then - eselect python set python2.$x - if compatible_python_is_selected ; then - elog "Default python interpreter is now set to python-2.$x" - success=1 - break - fi - fi - done - if [ $success != 1 ] ; then - eerror "Unable to select a compatible default python interpreter!" - die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." - fi - fi - - if use python3; then - python_set_active_version 3 - elif use python2; then - python_set_active_version 2 - elif use pypy2_0; then - python_set_active_version 2.7-pypy-2.0 - fi -} - -src_prepare() { - if [ -n "${PATCHVER}" ] ; then - if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then - rm "$S/bin/ebuild-helpers/portageq" \ - || die "failed to remove portageq helper symlink" - fi - epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" - fi - einfo "Setting portage.VERSION to ${PVR} ..." - sed -e "s/^VERSION=.*/VERSION=\"${PVR}\"/" -i pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" - sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \ - die "Failed to patch VERSION in doc/fragment/version" - sed -e "1s/VERSION/${PVR}/" -i $(find man -type f) || \ - die "Failed to patch VERSION in man page headers" - - if ! use ipc ; then - einfo "Disabling ipc..." - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ - -i pym/_emerge/AbstractEbuildProcess.py || \ - die "failed to patch AbstractEbuildProcess.py" - fi - - if use xattr && use kernel_linux ; then - einfo "Adding FEATURES=xattr to make.globals ..." - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ - || die "failed to append to make.globals" - fi - - if use python3; then - einfo "Converting shebangs for python3..." - python_convert_shebangs -r 3 . - elif use python2; then - einfo "Converting shebangs for python2..." - python_convert_shebangs -r 2 . - elif use pypy2_0; then - einfo "Converting shebangs for pypy-c2.0..." - python_convert_shebangs -r 2.7-pypy-2.0 . - fi - - if [[ -n ${EPREFIX} ]] ; then - einfo "Setting portage.const.EPREFIX ..." - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \ - -i pym/portage/const.py || \ - die "Failed to patch portage.const.EPREFIX" - - einfo "Prefixing shebangs ..." - find . -type f -print0 | \ - while read -r -d $'\0' ; do - local shebang=$(head -n1 "$REPLY") - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \ - die "sed failed" - fi - done - - einfo "Adjusting make.globals ..." - sed -e 's|^SYNC=.*|SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"|' \ - -e "s|^\(PORTDIR=\)\(/usr/portage\)|\\1\"${EPREFIX}\\2\"|" \ - -e "s|^\(PORTAGE_TMPDIR=\)\(/var/tmp\)|\\1\"${EPREFIX}\\2\"|" \ - -i cnf/make.globals || die "sed failed" - - einfo "Adding FEATURES=force-prefix to make.globals ..." - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \ - || die "failed to append to make.globals" - fi - - echo -e '\nFEATURES="${FEATURES} preserve-libs"' >> cnf/make.globals \ - || die "failed to append to make.globals" - - cd "${S}/cnf" || die - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - fi -} - -src_compile() { - if use doc; then - emake docbook || die - fi - - if use epydoc; then - einfo "Generating api docs" - emake epydoc || die - fi -} - -src_test() { - # make files executable, in case they were created by patch - find bin -type f | xargs chmod +x - emake test || die -} - -src_install() { - emake DESTDIR="${D}" \ - sysconfdir="${EPREFIX}/etc" \ - prefix="${EPREFIX}/usr" \ - install || die - - # Use dodoc for compression, since the Makefile doesn't do that. - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} || die - - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] || die - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] || die - fi - - # Set PYTHONPATH for portage API consumers. This way we don't have - # to rely on patched python having the correct path, since it has - # been known to incorrectly add /usr/libx32/portage/pym to sys.path. - echo "PYTHONPATH=\"${EPREFIX}/usr/lib/portage/pym\"" > \ - "${T}/05portage" || die - doenvd "${T}/05portage" || die -} - -pkg_preinst() { - if [[ $ROOT == / ]] ; then - # Run some minimal tests as a sanity check. - local test_runner=$(find "$ED" -name runTests) - if [[ -n $test_runner && -x $test_runner ]] ; then - einfo "Running preinst sanity tests..." - "$test_runner" || die "preinst sanity tests failed" - fi - fi - - if use xattr && ! current_python_has_xattr ; then - ewarn "For optimal performance in xattr handling, install" - ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and" - ewarn "enable USE=python3 for $CATEGORY/$PN." - fi - - has_version "<=${CATEGORY}/${PN}-2.2_pre5" \ - && WORLD_MIGRATION_UPGRADE=true || WORLD_MIGRATION_UPGRADE=false - - # If portage-2.1.6 is installed and the preserved_libs_registry exists, - # assume that the NEEDED.ELF.2 files have already been generated. - has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \ - ! ( [ -e "${EROOT}"var/lib/portage/preserved_libs_registry ] && \ - has_version ">=${CATEGORY}/${PN}-2.1.6_rc" ) \ - && NEEDED_REBUILD_UPGRADE=true || NEEDED_REBUILD_UPGRADE=false -} - -pkg_postinst() { - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - python_mod_optimize /usr/lib/portage/pym - - if $WORLD_MIGRATION_UPGRADE && \ - grep -q "^@" "${EROOT}/var/lib/portage/world"; then - einfo "moving set references from the worldfile into world_sets" - cd "${EROOT}/var/lib/portage/" - grep "^@" world >> world_sets - sed -i -e '/^@/d' world - fi - - if $NEEDED_REBUILD_UPGRADE ; then - einfo "rebuilding NEEDED.ELF.2 files" - for cpv in "${EROOT}/var/db/pkg"/*/*; do - if [ -f "${cpv}/NEEDED" ]; then - rm -f "${cpv}/NEEDED.ELF.2" - while read line; do - filename=${line% *} - needed=${line#* } - needed=${needed//+/++} - needed=${needed//#/##} - needed=${needed//%/%%} - newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename) - newline=${newline// - } - echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2" - done < "${cpv}/NEEDED" - fi - done - fi -} - -pkg_postrm() { - python_mod_cleanup /usr/lib/portage/pym -} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild deleted file mode 100644 index 864a291ac8..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/portage/portage-9999.ebuild +++ /dev/null @@ -1,311 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-9999.ebuild,v 1.67 2013/01/27 22:04:14 zmedico Exp $ - -EAPI=3 -inherit git-2 eutils python - -DESCRIPTION="Portage is the package management and distribution system for Gentoo" -HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" -LICENSE="GPL-2" -KEYWORDS="" -SLOT="0" -IUSE="build doc epydoc +ipc linguas_ru pypy2_0 python2 python3 selinux xattr" - -# Import of the io module in python-2.6 raises ImportError for the -# thread module if threading is disabled. -python_dep_ssl="python3? ( =dev-lang/python-3*[ssl] ) - !pypy2_0? ( !python2? ( !python3? ( - || ( >=dev-lang/python-2.7[ssl] dev-lang/python:2.6[threads,ssl] ) - ) ) ) - pypy2_0? ( !python2? ( !python3? ( dev-python/pypy:2.0[bzip2,ssl] ) ) ) - python2? ( !python3? ( || ( dev-lang/python:2.7[ssl] dev-lang/python:2.6[ssl,threads] ) ) )" -python_dep="${python_dep_ssl//\[ssl\]}" -python_dep="${python_dep//,ssl}" -python_dep="${python_dep//ssl,}" - -# The pysqlite blocker is for bug #282760. -DEPEND="${python_dep} - >=sys-apps/sed-4.0.5 sys-devel/patch - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) - epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )" -# Require sandbox-2.2 for bug #288863. -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's -# quite slow, so it's not considered in the dependencies as an alternative to -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so -# for now, don't pull in xattr deps for other kernels. -# For whirlpool hash, require python[ssl] or python-mhash (bug #425046). -# For compgen, require bash[readline] (bug #445576). -RDEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 - || ( >=app-shells/bash-4.2_p37[readline] ( =app-shells/bash-3.2_p17 ) ) - >=app-admin/eselect-1.2 - || ( ${python_dep_ssl} dev-python/python-mhash ) - ) - elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) - elibc_glibc? ( >=sys-apps/sandbox-2.2 ) - elibc_uclibc? ( >=sys-apps/sandbox-2.2 ) - >=app-misc/pax-utils-0.1.17 - xattr? ( kernel_linux? ( || ( >=dev-lang/python-3.3_pre20110902 dev-python/pyxattr ) ) ) - selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] = 0x2060000 and "good" or "bad")') = good ]] -} - -current_python_has_xattr() { - [[ $("${EPREFIX}/usr/bin/python" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \ - "${EPREFIX}/usr/bin/python" -c 'import xattr' 2>/dev/null -} - -pkg_setup() { - if use python2 && use python3 ; then - ewarn "Both python2 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python3 ; then - ewarn "Both pypy2_0 and python3 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python3." - fi - if use pypy2_0 && use python2 ; then - ewarn "Both pypy2_0 and python2 USE flags are enabled, but only one" - ewarn "can be in the shebangs. Using python2" - fi - if ! use pypy2_0 && ! use python2 && ! use python3 && \ - ! compatible_python_is_selected ; then - ewarn "Attempting to select a compatible default python interpreter" - local x success=0 - for x in /usr/bin/python2.* ; do - x=${x#/usr/bin/python2.} - if [[ $x -ge 6 ]] 2>/dev/null ; then - eselect python set python2.$x - if compatible_python_is_selected ; then - elog "Default python interpreter is now set to python-2.$x" - success=1 - break - fi - fi - done - if [ $success != 1 ] ; then - eerror "Unable to select a compatible default python interpreter!" - die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)." - fi - fi - - if use python3; then - python_set_active_version 3 - elif use python2; then - python_set_active_version 2 - elif use pypy2_0; then - python_set_active_version 2.7-pypy-2.0 - fi -} - -src_prepare() { - epatch_user - - einfo "Producing ChangeLog from Git history..." - pushd "${S}/.git" >/dev/null || die - git log ebcf8975b37a8aae9735eb491a9b4cb63549bd5d^.. \ - > "${S}"/ChangeLog || die - popd >/dev/null || die - - local _version=$(cd "${S}/.git" && git describe --tags | sed -e 's|-\([0-9]\+\)-.\+$|_p\1|') - _version=${_version:1} - einfo "Setting portage.VERSION to ${_version} ..." - sed -e "s/^VERSION=.*/VERSION='${_version}'/" -i pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" - sed -e "1s/VERSION/${_version}/" -i doc/fragment/version || \ - die "Failed to patch VERSION in doc/fragment/version" - sed -e "1s/VERSION/${_version}/" -i $(find man -type f) || \ - die "Failed to patch VERSION in man page headers" - - if ! use ipc ; then - einfo "Disabling ipc..." - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \ - -i pym/_emerge/AbstractEbuildProcess.py || \ - die "failed to patch AbstractEbuildProcess.py" - fi - - if use xattr && use kernel_linux ; then - einfo "Adding FEATURES=xattr to make.globals ..." - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \ - || die "failed to append to make.globals" - fi - - if use python3; then - einfo "Converting shebangs for python3..." - python_convert_shebangs -r 3 . - elif use python2; then - einfo "Converting shebangs for python2..." - python_convert_shebangs -r 2 . - elif use pypy2_0; then - einfo "Converting shebangs for pypy-c2.0..." - python_convert_shebangs -r 2.7-pypy-2.0 . - fi - - if [[ -n ${EPREFIX} ]] ; then - einfo "Setting portage.const.EPREFIX ..." - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \ - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \ - -i pym/portage/const.py || \ - die "Failed to patch portage.const.EPREFIX" - - einfo "Prefixing shebangs ..." - find . -type f -print0 | \ - while read -r -d $'\0' ; do - local shebang=$(head -n1 "$REPLY") - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \ - die "sed failed" - fi - done - - einfo "Adjusting make.globals ..." - sed -e 's|^SYNC=.*|SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix"|' \ - -e "s|^\(PORTDIR=\)\(/usr/portage\)|\\1\"${EPREFIX}\\2\"|" \ - -e "s|^\(PORTAGE_TMPDIR=\)\(/var/tmp\)|\\1\"${EPREFIX}\\2\"|" \ - -i cnf/make.globals || die "sed failed" - - einfo "Adding FEATURES=force-prefix to make.globals ..." - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \ - || die "failed to append to make.globals" - fi - - echo -e '\nFEATURES="${FEATURES} preserve-libs"' >> cnf/make.globals \ - || die "failed to append to make.globals" - - cd "${S}/cnf" || die - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - fi -} - -src_compile() { - if use doc; then - emake docbook || die - fi - - if use epydoc; then - einfo "Generating api docs" - emake epydoc || die - fi -} - -src_test() { - ./runtests.sh || die "tests failed" -} - -src_install() { - emake DESTDIR="${D}" \ - sysconfdir="${EPREFIX}/etc" \ - prefix="${EPREFIX}/usr" \ - install || die - - # Use dodoc for compression, since the Makefile doesn't do that. - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} || die - - # Set PYTHONPATH for portage API consumers. This way we don't have - # to rely on patched python having the correct path, since it has - # been known to incorrectly add /usr/libx32/portage/pym to sys.path. - echo "PYTHONPATH=\"${EPREFIX}/usr/lib/portage/pym\"" > \ - "${T}/05portage" || die - doenvd "${T}/05portage" -} - -pkg_preinst() { - if [[ $ROOT == / ]] ; then - # Run some minimal tests as a sanity check. - local test_runner=$(find "${ED}" -name runTests) - if [[ -n $test_runner && -x $test_runner ]] ; then - einfo "Running preinst sanity tests..." - "$test_runner" || die "preinst sanity tests failed" - fi - fi - - if use xattr && ! current_python_has_xattr ; then - ewarn "For optimal performance in xattr handling, install" - ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and" - ewarn "enable USE=python3 for $CATEGORY/$PN." - fi - - has_version "<=${CATEGORY}/${PN}-2.2_pre5" \ - && WORLD_MIGRATION_UPGRADE=true || WORLD_MIGRATION_UPGRADE=false - - # If portage-2.1.6 is installed and the preserved_libs_registry exists, - # assume that the NEEDED.ELF.2 files have already been generated. - has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \ - ! ( [ -e "${EROOT}"var/lib/portage/preserved_libs_registry ] && \ - has_version ">=${CATEGORY}/${PN}-2.1.6_rc" ) \ - && NEEDED_REBUILD_UPGRADE=true || NEEDED_REBUILD_UPGRADE=false -} - -pkg_postinst() { - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - python_mod_optimize /usr/lib/portage/pym - - if $WORLD_MIGRATION_UPGRADE && \ - grep -q "^@" "${EROOT}/var/lib/portage/world"; then - einfo "moving set references from the worldfile into world_sets" - cd "${EROOT}/var/lib/portage/" - grep "^@" world >> world_sets - sed -i -e '/^@/d' world - fi - - if $NEEDED_REBUILD_UPGRADE ; then - einfo "rebuilding NEEDED.ELF.2 files" - for cpv in "${EROOT}/var/db/pkg"/*/*; do - if [ -f "${cpv}/NEEDED" ]; then - rm -f "${cpv}/NEEDED.ELF.2" - while read line; do - filename=${line% *} - needed=${line#* } - needed=${needed//+/++} - needed=${needed//#/##} - needed=${needed//%/%%} - newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename) - newline=${newline// - } - echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2" - done < "${cpv}/NEEDED" - fi - done - fi -} - -pkg_postrm() { - python_mod_cleanup /usr/lib/portage/pym -}