commit:     9b153179004f60ef4a7e4fc7039bd49476ef70b9
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  7 12:51:29 2018 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Sun Jan  7 12:51:29 2018 +0000
URL:        
https://gitweb.gentoo.org/proj/multilib-portage.git/commit/?id=9b153179

Sync portage

Package-Manager: portage-2.3.6
Manifest-Sign-Key: 0xC05330B3211CA2D4

 sys-apps/portage/Manifest                  |  13 +-
 sys-apps/portage/files/README.RESCUE       |   2 +
 sys-apps/portage/files/portage-ccache.conf |   2 +
 sys-apps/portage/portage-2.3.7-r1.ebuild   | 275 +++++++++++++++++++++++++++++
 4 files changed, 287 insertions(+), 5 deletions(-)

diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index 731f734e4..35056361e 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -1,13 +1,16 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
+AUX README.RESCUE 137 SHA256 
69bea0c755eab59b6b4d90838b8551744f0b0c8eeac170b1cd13a71ee83f9ac4 SHA512 
dba0f0d6d4cd140e636cc70dfb7bdb298e2f2fb040bc07b0874cac994bdbabd26bfd9361d85a0f8b9a92a185281e4901606b9e4f563afdc8867341bbe6af1cb0
 WHIRLPOOL 
713fcc790442999d56e13efaf536fec9954dadeda680b3642d0358311332096ddedf8b55697bd1ca620d84f0dc7d025ff7931e086c74c1f5032be72dca2ff8f5
+AUX portage-ccache.conf 60 SHA256 
5175a18d3b81bd0aa499e0da6a2f44b920cf26f650e8dadea8dc2dc6551f8a39 SHA512 
36427e57046118ecf982fc3b1a80a3543b5682e3eef7df5dfc8a50b261a5da56f997dd75f63c5194049aceea204c37aee638a3bc383b9f7a0eff8ac9c35f3b1c
 WHIRLPOOL 
f79ec05596e022d2d73cc18656e398cbca9c55c7ff65c51634f7ccd1a46af1845ef66649267773b93a2bcff9e1de621785231a1a18d42fff97026ff12594a3bc
 EBUILD portage-2.3.6-r1.ebuild 8865 SHA256 
c4c300df276931854a9b35178cfa3ad517bc70cef438289b36b66d75ed4ff765 SHA512 
50991bc94f2934454f5254dce47460a57d4e933a78e26cb2db9374856efff135c7d0564a52297f0416d922a22bb011ef6cc0623d17fa8b1ad9a880395c8e2f6c
 WHIRLPOOL 
de1a86c97dec170bc36f3afe548b1515ed3f84c8b79bba16edf288133391d9c1e76df388ab073921775968edc02f66852b7d70b7a339ca11c79cc3d31eabc0de
+EBUILD portage-2.3.7-r1.ebuild 8865 SHA256 
eda572bf020e8911795c7e51656f4dabb9553065abc9710bb6fd435b288b8ad7 SHA512 
05388033a012ddcd0357406d2aa1d550e68d729decc0fb8142efd394be61aca6f46a5eb8f676a1968b8da7654d977f6ca97973990132ee125c45de1bf3e3598d
 WHIRLPOOL 
65e0442f061f42a8e0271cfce930deaf423996b430ab115a3f812c5cc85380c7632115feeae5f5d874e17608bfe20f3b55405772d31a02ee023b1b07e4199fed
 MISC metadata.xml 1147 SHA256 
c4832ae64ab0915c65eadca15e4540680d109c21d572464f69e218d14fe6bd8b SHA512 
733193cbfc96da31252b5e4109d0b76f797e339c41eda2c1230cc1d5b0e75912177570ed0140218a7a7b85d9b8bc53e8e6931e88810269c499be87af40e6b86c
 WHIRLPOOL 
bf901ca7474f9b8358c458edad904f9c0c853187c6dc8ea0bc0c327bded60940c6f8b20f0231d78d86aa7dc5235b23d70c69f7153cca9e375fa271c7c93707b9
 -----BEGIN PGP SIGNATURE-----
 
-iLMEAQEIAB0WIQQUEEce6kYbCwkDe/sbuSpxNYmQZwUCWlH3pwAKCRAbuSpxNYmQ
-Z/s+A/4w8LHGuSEgUWGuwe6c1mQeJNwdoIhQCSXha7D4FBC1uIE9uknxfe8vcxs2
-mK4y5UKBDUSXEzw6igBKVGYKMCieZtAU9y74Ggv++kSSfkSoFO/uUsS4DySk4ctb
-vUNiJOw0j+/0Ibbu2lkuT3R1SJm/KF18IEmCCC3vwXomxqX7kg==
-=9tA4
+iLMEAQEIAB0WIQQUEEce6kYbCwkDe/sbuSpxNYmQZwUCWlIXygAKCRAbuSpxNYmQ
+Z5L8A/0fS0jXc2VB6HZeJaHroZVu708ahhwFnT2qZSAXA/o5nX+1nbvZ9KRlM/BQ
+beeIBsDBNxnk970EGF4i337MiFKG/oJhELcf8qe2SQXP1F0ckZVEjIVkQgPzgM7s
+YMh/F+ketJcrt77D+vTTESt1+VgNmO1uQx2183M6149q/mjL+w==
+=E3Qm
 -----END PGP SIGNATURE-----

diff --git a/sys-apps/portage/files/README.RESCUE 
b/sys-apps/portage/files/README.RESCUE
new file mode 100644
index 000000000..70c494ebb
--- /dev/null
+++ b/sys-apps/portage/files/README.RESCUE
@@ -0,0 +1,2 @@
+Please see 
http://www.gentoo.org/proj/en/portage/doc/manually-fixing-portage.xml
+for a recovery guide for a broken portage installation.

diff --git a/sys-apps/portage/files/portage-ccache.conf 
b/sys-apps/portage/files/portage-ccache.conf
new file mode 100644
index 000000000..37857fde3
--- /dev/null
+++ b/sys-apps/portage/files/portage-ccache.conf
@@ -0,0 +1,2 @@
+# Prevent ccache files from being cleaned
+x /var/tmp/ccache

diff --git a/sys-apps/portage/portage-2.3.7-r1.ebuild 
b/sys-apps/portage/portage-2.3.7-r1.ebuild
new file mode 100644
index 000000000..e8d70e28f
--- /dev/null
+++ b/sys-apps/portage/portage-2.3.7-r1.ebuild
@@ -0,0 +1,275 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=(
+       pypy
+       python3_4 python3_5 python3_6
+       python2_7
+)
+PYTHON_REQ_USE='bzip2(+),threads(+)'
+
+inherit distutils-r1 git-2 multilib
+
+EGIT_REPO_URI="git://anongit.gentoo.org/proj/portage.git"
+EGIT_BRANCH="multilib"
+EGIT_COMMIT="16fcf4998f4b55f1697e4358c7b232e3cab56a11"
+DESCRIPTION="Portage is the package management and distribution system for 
Gentoo"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage";
+
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+SLOT="0"
+IUSE="build doc epydoc +ipc linguas_ru +native-extensions selinux xattr"
+
+DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
+       >=app-arch/tar-1.27
+       dev-lang/python-exec:2
+       >=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[$(python_gen_usedep 'python2*')] )
+       >=sys-apps/abi-wrapper-1.0-r6"
+# 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] (bug #425046).
+# For compgen, require bash[readline] (bug #445576).
+RDEPEND="
+       >=app-arch/tar-1.27
+       dev-lang/python-exec:2
+       !build? (
+               >=sys-apps/sed-4.0.5
+               app-shells/bash:0[readline]
+               >=app-admin/eselect-1.2
+       )
+       elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
+       elibc_glibc? ( >=sys-apps/sandbox-2.2 )
+       elibc_musl? ( >=sys-apps/sandbox-2.2 )
+       elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
+       >=app-misc/pax-utils-0.1.17
+       selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
+       xattr? ( kernel_linux? (
+               >=sys-apps/install-xattr-0.3
+               $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
+                       python2_7 pypy)
+       ) )
+       !<app-admin/logrotate-3.8.0
+       >=sys-apps/abi-wrapper-1.0-r6"
+PDEPEND="
+       !build? (
+               >=net-misc/rsync-2.6.4
+               userland_GNU? ( >=sys-apps/coreutils-6.4 )
+       )"
+# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
+# NOTE: FEATURES=installsources requires debugedit and rsync
+
+REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
+
+pkg_setup() {
+       use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
+}
+
+python_prepare_all() {
+       distutils-r1_python_prepare_all
+
+       if use native-extensions; then
+               printf "[build_ext]\nportage-ext-modules=true\n" >> \
+                       setup.cfg || die
+       fi
+
+       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 [[ -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 ..."
+               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 < <(find . -type f -print0)
+
+               einfo "Adjusting make.globals ..."
+               sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
+                       -e 
"s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
+                       -i cnf/make.globals || die "sed failed"
+
+               einfo "Adjusting repos.conf ..."
+               sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
+                       -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
+                       -e "s|^\(location = 
\)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
+                       -e "s|^\(sync-uri = 
\).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
+                       -i cnf/repos.conf || 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
+
+       cd "${S}/cnf" || die
+       if [ -f "make.conf.example.${ARCH}".diff ]; then
+               patch make.conf.example "make.conf.example.${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
+}
+
+python_compile_all() {
+       local targets=()
+       use doc && targets+=( docbook )
+       use epydoc && targets+=( epydoc )
+
+       if [[ ${targets[@]} ]]; then
+               esetup.py "${targets[@]}"
+       fi
+}
+
+python_test() {
+       esetup.py test
+}
+
+python_install() {
+       # Install sbin scripts to bindir for python-exec linking
+       # they will be relocated in pkg_preinst()
+       distutils-r1_python_install \
+               --system-prefix="${EPREFIX}/usr" \
+               --bindir="$(python_get_scriptdir)" \
+               --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+               --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
+               --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
+               --sbindir="$(python_get_scriptdir)" \
+               --sysconfdir="${EPREFIX}/etc" \
+               "${@}"
+}
+
+python_install_all() {
+       distutils-r1_python_install_all
+
+       local targets=()
+       use doc && targets+=( install_docbook )
+       use epydoc && targets+=( install_epydoc )
+
+       # install docs
+       if [[ ${targets[@]} ]]; then
+               esetup.py "${targets[@]}"
+       fi
+
+       # Due to distutils/python-exec limitations
+       # these must be installed to /usr/bin.
+       local sbin_relocations='archive-conf dispatch-conf emaint env-update 
etc-update fixpackages regenworld'
+       einfo "Moving admin scripts to the correct directory"
+       dodir /usr/sbin
+       for target in ${sbin_relocations}; do
+               einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
+               mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die 
"sbin scripts move failed!"
+       done
+}
+
+pkg_preinst() {
+       # comment out sanity test until it is fixed to work
+       # with the new PORTAGE_PYM_PATH
+       #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
+
+       # elog dir must exist to avoid logrotate error for bug #415911.
+       # This code runs in preinst in order to bypass the mapping of
+       # portage:portage to root:root which happens after src_install.
+       keepdir /var/log/portage/elog
+       # This is allowed to fail if the user/group are invalid for prefix 
users.
+       if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; 
then
+               chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
+       fi
+
+       if has_version ">=${CATEGORY}/${PN}-2.3.1" && \
+               has_version "<${CATEGORY}/${PN}-2.3.3"; then
+               SYNC_DEPTH_UPGRADE=true
+       else
+               SYNC_DEPTH_UPGRADE=false
+       fi
+}
+
+get_ownership() {
+       case ${USERLAND} in
+               BSD)
+                       stat -f '%Su:%Sg' "${1}"
+                       ;;
+               *)
+                       stat -c '%U:%G' "${1}"
+                       ;;
+       esac
+}
+
+new_config_protect() {
+       # Generate a ._cfg file even if the target file
+       # does not exist, ensuring that the user will
+       # notice the config change.
+       local basename=${1##*/}
+       local dirname=${1%/*}
+       local i=0
+       while true ; do
+               local filename=$(
+                       echo -n "${dirname}/._cfg"
+                       printf "%04d" ${i}
+                       echo -n "_${basename}"
+               )
+               [[ -e ${filename} ]] || break
+               (( i++ ))
+       done
+       echo "${filename}"
+}
+
+pkg_postinst() {
+       if ${SYNC_DEPTH_UPGRADE}; then
+               ewarn "Please note that this release no longer respects 
sync-depth for"
+               ewarn "git repositories.  There have been too many problems and"
+               ewarn "performance issues.  See bugs 552814, 559008"
+       fi
+
+       einfo
+       elog "For setup instructions after switching to portage-multilib"
+       elog "read doc/portage-multilib-instructions inside the multilib 
overlay"
+       einfo
+       elog "The bin/ dir of the overlay has some scripts to switch from lib32"
+       elog "to MULTILIB_ABI or to add the default MULTILIB_ABI flags"
+
+       einfo ""
+       einfo "This release of portage NO LONGER contains the repoman code 
base."
+       einfo "Repoman has its own ebuild and release package."
+       einfo "For repoman functionality please emerge app-portage/repoman"
+       einfo "Please report any bugs you may encounter."
+       einfo ""
+}

Reply via email to