forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sys-apps/portage-mgorny: Bump to 2.3.33.1 (now with EAPI 7)
- Loading branch information
Showing
2 changed files
with
199 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST portage-mgorny-2.3.26.1.tar.gz 1237698 BLAKE2B 73dcce2f57930bd074f6de5103a31ba3730537196438302ea7b25b21ee32d6ab8b3292b42825eac2e912639be1dd0a1b15c049c5cb22f54525c476b96f4817f4 SHA512 38c5ca6a1fee7125942fca10921f3c2ae201c6c06b4f69ee7b0b90b44486aca7b8e4f5817efad99c1ef5ad3f558cd9da144d2c3c26242a1a05bca9e17921b173 | ||
DIST portage-mgorny-2.3.31.1.tar.gz 1245744 BLAKE2B f9085fd7b66c2e018736cd1b5740d03cd61ab50d18113d651289521c3cb7786bd7963b24fe9a8d55e9dd107a01bc77c5ca2e8f343e4728a844fc17fd608a3680 SHA512 d2f6188f78c94341c97ca71915bd1428b49d26ea2d22f34b71029128dbd9ec0c9673b2835af730f17d81aba96927bcf05e46ef82ba1e94c3ae7249b6ac8ee235 | ||
DIST portage-mgorny-2.3.33.1.tar.gz 1246760 BLAKE2B 5502b60a889d224008d9cdd3befce80bc831ab15bf1a9dd43599e6da307d108939fe21ba272f19b785e2e927c582bef55dd2baa2186f0dcb882a5ea9b37accc4 SHA512 1fcc239abbb4288dc8863e3d5aea84fe59dcb1ecd989616cfabc477dc8516722d174021e96105ded26952d7e900c83dd32da27c35fd1e429af6431ee32dfa877 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,198 @@ | ||
# Copyright 1999-2018 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
PYTHON_COMPAT=( python{2_7,3_{4,5,6}} pypy ) | ||
PYTHON_REQ_USE='bzip2(+),threads(+)' | ||
|
||
inherit distutils-r1 | ||
|
||
DESCRIPTION="Fork of Portage focused on cleaning up and useful features" | ||
HOMEPAGE="https://github.com/mgorny/portage-mgorny" | ||
SRC_URI="https://github.com/mgorny/portage-mgorny/archive/v${PV}.tar.gz -> ${P}.tar.gz" | ||
|
||
LICENSE="GPL-2" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd" | ||
SLOT="0" | ||
IUSE="build +ipc +native-extensions selinux xattr kernel_linux" | ||
|
||
DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') ) | ||
>=app-arch/tar-1.27 | ||
>=sys-apps/sed-4.0.5 | ||
sys-devel/patch" | ||
RDEPEND=" | ||
>=app-arch/tar-1.27 | ||
!build? ( | ||
>=app-admin/eselect-1.2 | ||
app-crypt/openpgp-keys-gentoo-release | ||
>=app-crypt/gnupg-2.2.4-r2[ssl(-)] | ||
>=app-portage/gemato-10 | ||
app-shells/bash:0[readline] | ||
$(python_gen_cond_dep 'dev-python/pyblake2[${PYTHON_USEDEP}]' \ | ||
python{2_7,3_4,3_5} pypy) | ||
>=dev-python/lxml-3.6.0[${PYTHON_USEDEP}] | ||
>=sys-apps/sed-4.0.5 | ||
) | ||
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-portage/repoman | ||
!sys-apps/portage" | ||
PDEPEND=" | ||
!build? ( | ||
>=net-misc/rsync-2.6.4 | ||
)" | ||
# NOTE: FEATURES=installsources requires debugedit and rsync | ||
|
||
pkg_pretend() { | ||
if [[ -f ${EROOT%/}/etc/make.conf ]]; then | ||
eerror "You seem to be using /etc/make.conf. Please migrate to the new" | ||
eerror "/etc/portage/make.conf location before upgrading." | ||
if [[ ! -f ${EROOT%/}/etc/portage/make.conf ]]; then | ||
eerror | ||
eerror " mv ${EROOT%/}/etc/make.conf ${EROOT%/}/etc/portage/make.conf" | ||
else | ||
ewarn | ||
ewarn "WARNING: You seem to have make.conf in both locations. Please take" | ||
ewarn "care not to accientally overwrite one with the other." | ||
fi | ||
die "${EROOT%/}/etc/make.conf present" | ||
fi | ||
|
||
if [[ -f ${EROOT%/}/etc/portage/package.keywords ]]; then | ||
eerror "You seem to be using /etc/portage/package.keywords. Please migrate" | ||
eerror "to the new /etc/portage/package.accept_keywords location before" | ||
eerror "upgrading." | ||
eerror | ||
if [[ -d ${EROOT%/}/etc/portage/package.accept_keywords ]]; then | ||
eerror " mv ${EROOT%/}/etc/portage/package.keywords ${EROOT%/}/etc/portage/package.accept_keywords/99old" | ||
else | ||
if [[ -f ${EROOT%/}/etc/portage/package.accept_keywords ]]; then | ||
eerror " cat ${EROOT%/}/etc/portage/package.accept_keywords >> ${EROOT%/}/etc/portage/package.keywords" | ||
fi | ||
eerror " mv ${EROOT%/}/etc/portage/package.keywords ${EROOT%/}/etc/portage/package.accept_keywords" | ||
fi | ||
die "${EROOT%/}/etc/portage/package.keywords present" | ||
fi | ||
|
||
if has_version sys-apps/portage; then | ||
ewarn "If you are migrating from sys-apps/portage to sys-apps/portage-mgorny," | ||
ewarn "please note that Portage will abort upon having to unmerge itself." | ||
ewarn "However, sys-apps/portage-mgorny will already be installed at this" | ||
ewarn "point, so you simply have to restart emerge and it will successfully" | ||
ewarn "clean the old package afterwards." | ||
ewarn | ||
ewarn "If you did not use '--dynamic-deps n' in Portage, your VDB dependency" | ||
ewarn "graph is probably broken. You may need to use '--changed-deps y'" | ||
ewarn "for your first @world upgrade to resolve the conflicts. Afterwards," | ||
ewarn "--changed-deps should no longer be necessary and any conflicts" | ||
ewarn "introduced afterwards should be reported to bugs.gentoo.org." | ||
fi | ||
} | ||
|
||
python_prepare_all() { | ||
distutils-r1_python_prepare_all | ||
|
||
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|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \ | ||
-e "s|^\(sync-openpgp-key-path = \)\(.*\)|\\1${EPREFIX}\\2|" \ | ||
-i cnf/repos.conf || die "sed failed" | ||
if prefix-guest ; then | ||
sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ | ||
-e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ | ||
-e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \ | ||
-i cnf/repos.conf || die "sed failed" | ||
fi | ||
|
||
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_configure_all() { | ||
cat >> setup.cfg <<-EOF || die | ||
[build_ext] | ||
portage-ext-modules=$(usex native-extensions true false) | ||
EOF | ||
} | ||
|
||
python_test() { | ||
esetup.py test | ||
} | ||
|
||
python_install() { | ||
distutils-r1_python_install \ | ||
--system-prefix="${EPREFIX}/usr" \ | ||
--bindir="$(python_get_scriptdir)" \ | ||
--portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \ | ||
--sysconfdir="${EPREFIX}/etc" \ | ||
"${@}" | ||
|
||
keepdir /var/log/portage/elog | ||
} | ||
|
||
pkg_preinst() { | ||
# 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 | ||
} |