diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/Manifest b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/Manifest new file mode 100644 index 0000000000..db788bf305 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/Manifest @@ -0,0 +1 @@ +DIST gentoolkit-0.5.0.tar.gz 3206598 BLAKE2B a379dcbbaba9d52c241fea020b87c458384e44092539947909e14fd6c63fd9cc06d076b8081874edf17fc50e80fe48ceab3400c90046867dc409e7ac39c17231 SHA512 8a5c344f3a17c4c779abbcaa35b5e3f147106dbc61310d0d1a816ec8080914271fa45c311a8feeb1bfe14195af7cf34c0b29142d6e43e2de232dae96fbd00861 diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/README.md b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/README.md new file mode 100644 index 0000000000..a8ac763518 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/README.md @@ -0,0 +1,3 @@ +This is a fork of app-portage/gentoolkit package. The sole reason for +having it here is to drop support for python 3.8 and 3.9 we haven't +yet packaged. diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/files/gentoolkit-0.5.0-python3_9.patch b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/files/gentoolkit-0.5.0-python3_9.patch new file mode 100644 index 0000000000..6a50db9ca6 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/files/gentoolkit-0.5.0-python3_9.patch @@ -0,0 +1,43 @@ +# https://github.com/gentoo/gentoolkit/pull/11 +# https://bugs.gentoo.org/747034 +diff --git a/pym/gentoolkit/metadata.py b/pym/gentoolkit/metadata.py +index 22c249e..c3dba98 100644 +--- a/pym/gentoolkit/metadata.py ++++ b/pym/gentoolkit/metadata.py +@@ -73,8 +73,7 @@ class _Maintainer(object): + self.description = None + self.restrict = node.get('restrict') + self.status = node.get('status') +- maint_attrs = node.getchildren() +- for attr in maint_attrs: ++ for attr in node.iter(): + setattr(self, attr.tag, attr.text) + + def __repr__(self): +@@ -101,7 +100,7 @@ class _Useflag(object): + _desc = '' + if node.text: + _desc = node.text +- for child in node.getchildren(): ++ for child in node.iter(): + _desc += child.text if child.text else '' + _desc += child.tail if child.tail else '' + # This takes care of tabs and newlines left from the file +@@ -213,7 +212,7 @@ class MetaData(object): + if herd in ('no-herd', 'maintainer-wanted', 'maintainer-needed'): + return None + +- for node in self._herdstree.getiterator('herd'): ++ for node in self._herdstree.iter('herd'): + if node.findtext('name') == herd: + return node.findtext('email') + +@@ -283,7 +282,7 @@ class MetaData(object): + return self._useflags + + self._useflags = [] +- for node in self._xml_tree.getiterator('flag'): ++ for node in self._xml_tree.iter('flag'): + self._useflags.append(_Useflag(node)) + + return self._useflags diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/files/gentoolkit-0.5.0-r1-python3_9.patch b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/files/gentoolkit-0.5.0-r1-python3_9.patch new file mode 100644 index 0000000000..a9dae61504 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/files/gentoolkit-0.5.0-r1-python3_9.patch @@ -0,0 +1,34 @@ +From f14b6198d1dd9cb7f4a83f3822e4a1782a5581e8 Mon Sep 17 00:00:00 2001 +From: Brian Dolbec +Date: Tue, 13 Oct 2020 10:04:07 -0400 +Subject: [PATCH] metadata.py: Fix duplicated use flag text bug 748129 + +Regression from commit: 517581df206766 +link: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=517581df206766fabf10273cde565e0a6dc62829 +Gentoo bug: https://bugs.gentoo.org/748129 +Signed-off-by: Brian Dolbec +--- + pym/gentoolkit/metadata.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/pym/gentoolkit/metadata.py b/pym/gentoolkit/metadata.py +index c3dba98..0b58392 100644 +--- a/pym/gentoolkit/metadata.py ++++ b/pym/gentoolkit/metadata.py +@@ -101,8 +101,11 @@ class _Useflag(object): + if node.text: + _desc = node.text + for child in node.iter(): +- _desc += child.text if child.text else '' +- _desc += child.tail if child.tail else '' ++ # prevent duplicate text ++ if child.text and child.text not in _desc: ++ _desc += child.text ++ if child.tail and not child.tail in _desc: ++ _desc += child.tail + # This takes care of tabs and newlines left from the file + self.description = re.sub(r'\s+', ' ', _desc) + +-- +libgit2 1.0.1 + diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/gentoolkit-0.5.0-r2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/gentoolkit-0.5.0-r2.ebuild new file mode 100644 index 0000000000..8aad5c33a0 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/gentoolkit-0.5.0-r2.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Flatcar: Based on gentoolkit-0.5.0-r2.ebuild from commit +# 8e426ccff148220423503c9a1c6c512c9b63ddfa in Gentoo repo (see +# https://gitweb.gentoo.org/repo/gentoo.git/plain/app-portage/gentoolkit/gentoolkit-0.5.0-r2.ebuild?id=8e426ccff148220423503c9a1c6c512c9b63ddfa). + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=no +PYTHON_COMPAT=( python3_{6,7} pypy3 ) +PYTHON_REQ_USE="xml(+),threads(+)" + +inherit distutils-r1 + +DESCRIPTION="Collection of administration scripts for Gentoo" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" +SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +DEPEND=" + sys-apps/portage[${PYTHON_USEDEP}]" +RDEPEND="${DEPEND} + sys-apps/gawk + sys-apps/gentoo-functions" + +distutils_enable_tests setup.py + +PATCHES=( + "${FILESDIR}"/${PN}-0.5.0-python3_9.patch + "${FILESDIR}"/${PN}-0.5.0-r1-python3_9.patch +) + +python_prepare_all() { + python_setup + echo VERSION="${PVR}" "${PYTHON}" setup.py set_version + VERSION="${PVR}" "${PYTHON}" setup.py set_version + distutils-r1_python_prepare_all +} + +pkg_preinst() { + if has_version "<${CATEGORY}/${PN}-0.4.0"; then + SHOW_GENTOOKIT_DEV_DEPRECATED_MSG=1 + fi +} + +pkg_postinst() { + # Create cache directory for revdep-rebuild + mkdir -p -m 0755 "${EROOT}"/var/cache + mkdir -p -m 0700 "${EROOT}"/var/cache/revdep-rebuild + + if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then + elog "Starting with version 0.4.0, ebump, ekeyword and imlate are now" + elog "part of the gentoolkit package." + elog "The gentoolkit-dev package is now deprecated in favor of a single" + elog "gentoolkit package. The remaining tools from gentoolkit-dev" + elog "are now obsolete/unused with the git based tree." + fi + + # Only show the elog information on a new install + if [[ ! ${REPLACING_VERSIONS} ]]; then + elog + elog "For further information on gentoolkit, please read the gentoolkit" + elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" + elog + elog "Another alternative to equery is app-portage/portage-utils" + elog + elog "Additional tools that may be of interest:" + elog + elog " app-admin/eclean-kernel" + elog " app-portage/diffmask" + elog " app-portage/flaggie" + elog " app-portage/install-mask" + elog " app-portage/portpeek" + elog " app-portage/smart-live-rebuild" + fi +} diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/metadata.xml new file mode 100644 index 0000000000..011e78ec74 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/gentoolkit/metadata.xml @@ -0,0 +1,14 @@ + + + + + tools-portage@gentoo.org + Gentoo Portage tools team + + +Gentoolkit is a collection of useful adminstration scripts particular to +the Gentoo Linux distribution. It contains rough drafts and +implementations of features that may in time make it into Portage, or +into full-fledged tools in their own right. + + diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/Manifest b/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/Manifest new file mode 100644 index 0000000000..025020f048 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/Manifest @@ -0,0 +1 @@ +DIST repoman-3.0.2.tar.bz2 88258 BLAKE2B 32c4d6750fd225cf9fc071be0ffbb38563ffdaf50f1f1ac7247ce3733bd781cd699052101df8b6565fd3d32ec6d9a54efb611b815a722b7954d8100ce01de146 SHA512 fd5b4549a0b108ed1ad37fc0766fc73db127bba8b023a74566ee0167e2a9c56c8597b83ead16522aaf84f158a9a5d0d59e4b5bcc908e6024724c087c837e1fa2 diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/README.md b/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/README.md new file mode 100644 index 0000000000..351e18bd81 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/README.md @@ -0,0 +1,3 @@ +This is a fork of app-portage/repoman package. The sole reason for +having it here is to drop support for python 3.8 and 3.9 we haven't +yet packaged. diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/metadata.xml new file mode 100644 index 0000000000..c15cfac453 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/metadata.xml @@ -0,0 +1,12 @@ + + + + + mailto:dev-portage@gentoo.org + https://gitweb.gentoo.org/proj/portage.git/plain/RELEASE-NOTES + https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage + + + dev-portage@gentoo.org + + diff --git a/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/repoman-3.0.2.ebuild b/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/repoman-3.0.2.ebuild new file mode 100644 index 0000000000..aaa858d88f --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/app-portage/repoman/repoman-3.0.2.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Flatcar: Based on repoman-3.0.2.ebuild from commit +# 375d601ca5d48a81a2d03d62853fc7b7085f8210 in Gentoo repo (see +# https://gitweb.gentoo.org/repo/gentoo.git/plain/app-portage/repoman/repoman-3.0.2.ebuild?id=375d601ca5d48a81a2d03d62853fc7b7085f8210). + +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=no +PYTHON_COMPAT=( python3_{6..7} pypy3 ) +PYTHON_REQ_USE='bzip2(+)' + +inherit distutils-r1 + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage.git" + S="${WORKDIR}/${P}/repoman" +else + SRC_URI="https://dev.gentoo.org/~zmedico/portage/archives/${P}.tar.bz2" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +DESCRIPTION="Repoman is a Quality Assurance tool for Gentoo ebuilds" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" + +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +RDEPEND=" + >=sys-apps/portage-3.0.4[${PYTHON_USEDEP}] + >=dev-python/lxml-3.6.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" + +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" \ + --sbindir="$(python_get_scriptdir)" \ + --sysconfdir="${EPREFIX}/etc" \ + "${@}" +} + +pkg_postinst() { + if [[ -z {REPLACING_VERSIONS} ]]; then + elog "" + elog "This release of repoman is from the new portage/repoman split" + elog "release code base." + elog "This new repoman code base is still being developed. So its API's" + elog "are not to be considered stable and are subject to change." + elog "The code released has been tested and considered ready for use." + elog "This however does not guarantee it to be completely bug free." + elog "Please report any bugs you may encounter." + elog "" + fi +} diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/gmerge/gmerge-0.0.1-r584.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/gmerge/gmerge-0.0.1-r585.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/gmerge/gmerge-0.0.1-r584.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/gmerge/gmerge-0.0.1-r585.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/gmerge/gmerge-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/gmerge/gmerge-9999.ebuild index 26b4b4ae5f..8db911b518 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/gmerge/gmerge-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/gmerge/gmerge-9999.ebuild @@ -1,7 +1,7 @@ # Copyright (c) 2012 The Chromium OS Authors. All rights reserved. # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI=7 CROS_WORKON_PROJECT="flatcar-linux/dev-util" CROS_WORKON_REPO="git://github.com" CROS_WORKON_LOCALNAME="dev" @@ -10,11 +10,11 @@ CROS_WORKON_LOCALDIR="src/platform" if [[ "${PV}" == 9999 ]]; then KEYWORDS="~amd64 ~arm ~arm64 ~x86" else - CROS_WORKON_COMMIT="636b1ee0d2bbc5b69ca45484e9cbd4f8b0aea581" # flatcar-master + CROS_WORKON_COMMIT="c0634204f62262288735efe069c6365ed31a5c54" # flatcar-master KEYWORDS="amd64 arm arm64 x86" fi -PYTHON_COMPAT=( python2_7 ) +PYTHON_COMPAT=( python3_6 ) inherit cros-workon python-single-r1 diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/Manifest new file mode 100644 index 0000000000..c8c321783c --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/Manifest @@ -0,0 +1,2 @@ +DIST setuptools-46.4.0.zip 865912 BLAKE2B 452d36132f5648c79c7e1616a93ff6a39ab2f64b2864ee397b4f57e7f72c47d418ff274f5decd35b0591b09800ad2a7cbd71c283550bd0e60a4d85744a57d4ec SHA512 31e58fd1d682089a45d23aa07c3c2c4c952ca016fa4c3416b2cba979d8b57369f80baef98ce857912e506e87d6cb456497a1ce1c75a0cdf1ee25d4e753b58726 +DIST setuptools-50.3.0.zip 2169216 BLAKE2B 029ea0159de270af0078a4661c696b93681b33dcc475640c7626f5a40bf1bb4759e5915948696c03b76dca10bdc4e790e2e9ef9628f41abca9a6aa48adcb72f6 SHA512 f67a2b7d639e03bf8b3815133e128902a559baf689afdd5893844ddc7c83505d727a6bb30ced1f78c4d2719dd405d2f4c527576bfa14dd9cb50c8ec4a479683e diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/README.md b/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/README.md new file mode 100644 index 0000000000..6016799f2f --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/README.md @@ -0,0 +1,3 @@ +This is a fork of Gentoo's dev-python/setuptools package. The sole +reason for haing it in overlay is dropping support for versions of +python3 we haven't yet packaged. diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/metadata.xml new file mode 100644 index 0000000000..bd9e6b5273 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/metadata.xml @@ -0,0 +1,14 @@ + + + + + python@gentoo.org + Python + + + + setuptools + pypa/setuptools + cpe:/a:python:setuptools + + diff --git a/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/setuptools-46.4.0-r3.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/setuptools-46.4.0-r3.ebuild new file mode 100644 index 0000000000..6e40e736c0 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-python/setuptools/setuptools-46.4.0-r3.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Flatcar: Based on setuptools-46.4.0-r3.ebuild from commit +# fe13784be44e5167f67315bf280690004aae885e in Gentoo repo (see +# https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-python/setuptools/setuptools-46.4.0-r3.ebuild?id=fe13784be44e5167f67315bf280690004aae885e). + +EAPI=7 +# Set to 'manual' to avoid triggering install QA check +DISTUTILS_USE_SETUPTOOLS=manual +PYTHON_COMPAT=( python2_7 python3_{6,7} pypy3 ) +PYTHON_REQ_USE="xml(+)" + +inherit distutils-r1 + +DESCRIPTION="Collection of extensions to Distutils" +HOMEPAGE="https://github.com/pypa/setuptools https://pypi.org/project/setuptools/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + app-arch/unzip + test? ( + $(python_gen_cond_dep ' + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pip[${PYTHON_USEDEP}] + >=dev-python/pytest-3.7.0[${PYTHON_USEDEP}] + dev-python/pytest-fixture-config[${PYTHON_USEDEP}] + dev-python/pytest-virtualenv[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + ' -3) + ) +" +# installing plugins apparently breaks stuff at runtime, so let's pull +# it early +PDEPEND=" + >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/setuptools_scm[${PYTHON_USEDEP}] + ' -3)" + +# Force in-source build because build system modifies sources. +DISTUTILS_IN_SOURCE_BUILD=1 + +DOCS=( {CHANGES,README}.rst docs/{easy_install.txt,pkg_resources.txt,setuptools.txt} ) + +python_prepare_all() { + # silence the py2 warning that is awfully verbose and breaks some + # packages by adding unexpected output + # (also, we know!) + sed -i -e '/py2_warn/d' pkg_resources/__init__.py || die + + # disable tests requiring a network connection + rm setuptools/tests/test_packageindex.py || die + + # don't run integration tests + rm setuptools/tests/test_integration.py || die + + # xpass-es for me on py3 + sed -e '/xfail.*710/s:(:(six.PY2, :' \ + -i setuptools/tests/test_archive_util.py || die + + # avoid pointless dep on flake8 + sed -i -e 's:--flake8::' pytest.ini || die + + distutils-r1_python_prepare_all +} + +python_test() { + if ! python_is_python3; then + einfo "Tests are skipped on py2 to untangle deps" + return + fi + + distutils_install_for_testing + # test_easy_install raises a SandboxViolation due to ${HOME}/.pydistutils.cfg + # It tries to sandbox the test in a tempdir + HOME="${PWD}" pytest -vv ${PN} || die "Tests failed under ${EPYTHON}" +} + +python_install() { + export DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1 + distutils-r1_python_install +} diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/Manifest new file mode 100644 index 0000000000..f015253b6c --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/Manifest @@ -0,0 +1 @@ +DIST catalyst-3.0.14.tar.bz2 621178 BLAKE2B 3fa87125f14661bb77432267f03c0966eff8f71f4ef334ce0a14218f7557dee270840afb79b6735a149851ed44b1ea2f6cf59d8274d74e049246d89874aa484b SHA512 938a63a83458fa5a26a4b4e62d18086ed813aec5638a9dd363ba553cb7aeb337c3b8ba0768f3b5a658aa54f2f375a7fe067279c739073d2420c3ad3a42830830 diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/README.md b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/README.md new file mode 100644 index 0000000000..bb90c46b7e --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/README.md @@ -0,0 +1,3 @@ +This is a fork of dev-util/catalyst package. The sole reason for +having it here is to drop support for python 3.8 we haven't yet +packaged. diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-3.0.14.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-3.0.14.ebuild new file mode 100644 index 0000000000..9d8b6411f5 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-3.0.14.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Flatcar: Based on catalyst-3.0.14.ebuild from commit +# 78fc35f2e766117caa26928db5a0a09b8af18c3c in Gentoo repo (see +# https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-util/catalyst/catalyst-3.0.14.ebuild?id=78fc35f2e766117caa26928db5a0a09b8af18c3c). + +EAPI=6 + +if [[ ${PV} == *9999* ]]; then + SRC_ECLASS="git-r3" + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/catalyst.git" + EGIT_BRANCH="master" +else + SRC_URI="https://gitweb.gentoo.org/proj/catalyst.git/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86" +fi + +PYTHON_COMPAT=( python3_{6,7} ) +DISTUTILS_USE_SETUPTOOLS=no + +inherit distutils-r1 ${SRC_ECLASS} + +DESCRIPTION="Release metatool used for creating releases based on Gentoo Linux" +HOMEPAGE="https://wiki.gentoo.org/wiki/Catalyst" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="ccache doc +iso kernel_linux system-bootloader" + +DEPEND=" + app-text/asciidoc + >=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}] +" +RDEPEND=" + >=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}] + >=dev-python/pydecomp-0.3[${PYTHON_USEDEP}] + app-arch/lbzip2 + app-crypt/shash + sys-fs/dosfstools + !kernel_FreeBSD? ( || ( app-arch/tar[xattr] app-arch/libarchive[xattr] ) ) + kernel_FreeBSD? ( app-arch/libarchive[xattr] ) + amd64? ( >=sys-boot/syslinux-3.72 ) + x86? ( >=sys-boot/syslinux-3.72 ) + ccache? ( dev-util/ccache ) + iso? ( virtual/cdrtools ) + kernel_linux? ( app-misc/zisofs-tools >=sys-fs/squashfs-tools-2.1 ) +" +PDEPEND="system-bootloader? ( >=sys-apps/memtest86+-5.01-r4 + sys-boot/grub:2 + amd64? ( sys-boot/grub[grub_platforms_efi-32,grub_platforms_efi-64] ) + x86? ( sys-boot/grub[grub_platforms_efi-32] ) + sys-boot/syslinux + sys-boot/shim )" + +python_prepare_all() { + python_setup + echo VERSION="${PV}" "${PYTHON}" setup.py set_version + VERSION="${PV}" "${PYTHON}" setup.py set_version || die + distutils-r1_python_prepare_all +} + +python_compile_all() { + # build the man pages and docs + emake +} + +python_install_all() { + distutils-r1_python_install_all + if use doc; then + dodoc files/HOWTO.html files/docbook-xsl.css + fi +} diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/metadata.xml b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/metadata.xml new file mode 100644 index 0000000000..f89291ab29 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/metadata.xml @@ -0,0 +1,16 @@ + + + + + catalyst@gentoo.org + + + livecd@gentoo.org + Gentoo LiveCD Project + + + Enables ccache support + Pulls in the depends for building iso images + Pulls in the depends needed to setup livecd bootloader from the host system rather than using a cdtar + + diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults index 283456db38..591b474c89 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/make.defaults @@ -17,9 +17,9 @@ USE="${USE} cros_host expat -cracklib -introspection -cups -tcpd -berkdb" USE="${USE} python_single_target_python2_7 -python_single_target_python3_6" USE="${USE} python_targets_python2_7 python_targets_python3_6" -# Disable Python 3 while building the SDK until we transition off Python 2. +# Continue using Python 2 as the default version, but build Python 3 in SDK too. BOOTSTRAP_USE="${BOOTSTRAP_USE} python_single_target_python2_7 -python_single_target_python3_6" -BOOTSTRAP_USE="${BOOTSTRAP_USE} python_targets_python2_7 -python_targets_python3_6" +BOOTSTRAP_USE="${BOOTSTRAP_USE} python_targets_python2_7 python_targets_python3_6" # Never install cron or cron jobs USE="${USE} -cron" diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.unmask b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.unmask index 2220eaad15..dda882338a 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.unmask +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.unmask @@ -1,2 +1,7 @@ # Overwrite outdated portage-stable mask =dev-libs/openssl-1.1.1g + +# Overwrite portage-stable mask - this package was removed in +# gentoo. We still need it, since sys-libs/libsemanage still requires +# it. When we update selinux, this can be dropped. +=dev-libs/ustr-1.0.4-r8 diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use index c670e96d6c..2048bfce9a 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/package.use @@ -17,12 +17,9 @@ sys-devel/gettext -git app-emulation/qemu aio caps curl ncurses png python threads uuid vhost-net virtfs vnc -xkb qemu_softmmu_targets_x86_64 qemu_softmmu_targets_aarch64 # python3 problems -app-portage/gentoolkit -python_targets_python3_6 -app-portage/gentoolkit-dev -python_targets_python3_6 -app-portage/repoman -python_targets_python3_6 -dev-python/pyblake2 -python_targets_python3_6 -dev-python/uritemplate -python_targets_python3_6 -sys-apps/portage -python_targets_python3_6 +app-portage/gentoolkit python_single_target_python3_6 +app-portage/repoman python_single_target_python3_6 +sys-apps/portage python_single_target_python3_6 # python3 only dev-util/dwarves python_single_target_python3_6 @@ -119,3 +116,6 @@ sys-apps/kmod lzma # net-libs/nghttp2 should be built with -cxx to avoid issues with boost 1.65. # configure script is not able to check if Boost:ASIO library exists. net-libs/nghttp2 -cxx + +# These (qmanifest and qtegrity) are new tools and they pull even more dependencies. +app-portage/portage-utils -qmanifest -qtegrity diff --git a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/use.mask b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/use.mask index fca4ed9c32..765a2a06db 100644 --- a/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/use.mask +++ b/sdk_container/src/third_party/coreos-overlay/profiles/coreos/base/use.mask @@ -1,2 +1,6 @@ # Never enable experimental code kdbus + +# We default to python 3.6 for now +python_targets_python3_7 +python_single_target_python3_7 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/Manifest index dbeb29844a..2b1ad98362 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/Manifest @@ -1,3 +1,4 @@ -DIST portage-2.3.40-bug-656942-bug-657436-937d0156aa06.patch 15214 BLAKE2B 0351f82cd46aa1523eb0f70109551009a422546f2fbde1beee7a18dad4ecbfc6465b3b3052a25720196950f7da81adeb66d87940f2b477fbeca27afba56fa18e SHA512 b0482b8dac8af97b841ded426001872c1c708f649dc7774bd3c7003179888fd4d126ece33d001d127b643d88b8a70b9af75bbeb36beeaca7b8ad308f92ff72e7 -DIST portage-2.3.40-bug-657436-937d0156aa06-1fc628eead43.patch 4131 BLAKE2B 1b051097ef4fb073d22b9ef3472077b4845190ec3839886f462cacbee0996dc4c036549c4beab09025e1bb42f421e5032144e90197e3aa5de08dd7d8d1c50fbb SHA512 5910469816b69afb7a0078dd3b35a5304e2c806ac03ff3949603cf4162900fd9dd1df15661b91a2181528e8406679e525308822a0f6ddf4799c79fa9652c27a9 -DIST portage-2.3.40.tar.bz2 995122 BLAKE2B 3bfadee6cf57dace32bb4a365850650e13664202f3b16bf75821ff6226e85da823785ac87875fa82bd5cf1b953d638773819495f73f471c06ffd6926518df1ac SHA512 ded128c1941664fab6bc95f05115ec08900fddaedd1b6f12afa48da024531ee8939134d49759e09995c76a95e41beafdbf5528a5b62d3bf21c826ab1ac0cd1c5 +DIST portage-2.3.89-bug-718578.patch 1325 BLAKE2B 7a3bc520274617736eac2e3d078e90d151bdb5d8615f6217a499c0f5d4c80813f2c753e7902cf34482df0725ad0b43a38707764c8be14aae9f7ca34f0bd8721f SHA512 6f1c5d7b42beb8078c45cccbad2bd65374b69af92521d9be3beb6784477ca5bcdd75d8e762b239e44e3121e6fe5e3a040c92c9b61521e4a9b1d6bafee10d4c88 +DIST portage-2.3.99.tar.bz2 1051210 BLAKE2B dd3f990dbc87e655a767ce01e1ee3f0b1d5226fa818949408e54b81a2f96e50a4215a79af42b00dc795792858c4f86453b238b14baef4f0793c937b5617534b8 SHA512 176842318a4134ce54c5aa6485fef296f5a14edd2a72421c2011973a0f1a6af39bc5398f1e9eb3b8666d5fc307589c5b91ab93c219bdedb2d307357d8ddefbf5 +DIST portage-3.0.4.tar.bz2 1042654 BLAKE2B 6f869b2eb24f9e590bf8e01172050105a1bd9ea88657db5893133b4620231a0ddcda871d6fcc10623f7f2ef809116310c76355263819be6c3734b0ca184d5fc0 SHA512 7a0c39cd4ed65aebd84ff8bbadba29760b3aa392a0d606c5b29a1112fd0845c42f74eebb0728a069b2b097a6eb7eec2d18af615fd9edcc38f1018ae6ff686812 +DIST portage-3.0.8.tar.bz2 1046968 BLAKE2B 662147c37a9e7b81030fadb4d6438b734ee57a9eb9bfcee80991d137a017aa3541565961282ebf8736db71aeb05532ffa139ff3a34a84bc9064cf74427acb666 SHA512 5f97870a11ecca30ffe8f463f87cd16a1edb52b44832c6eaba15cadcfde2b4f7edf963749e45c8043b45b38e53ee210dc913aa2d2432a2bd3928cc27c8765a85 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/README.md b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/README.md new file mode 100644 index 0000000000..42daefdbed --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/README.md @@ -0,0 +1,11 @@ +This is a fork of Gentoo's sys-apps/portage package. We make the +following changes: + +- Apply some patches that weren't yet merged by upstream. + +- Remove mentions of python version we haven't yet packaged. + +- Disable rsync_verify USE flag to avoid pulling more dependencies. + +- Overwrite the `cnf/repos.conf` file, so we do not use the gentoo + repo. diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0001-portage-repository-config.py-add-disabled-attribute-.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0001-portage-repository-config.py-add-disabled-attribute-.patch new file mode 100644 index 0000000000..953dc7163c --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0001-portage-repository-config.py-add-disabled-attribute-.patch @@ -0,0 +1,52 @@ +From eeb6911796e6d602cb12c91901fb4ab1f37dca65 Mon Sep 17 00:00:00 2001 +From: Alex Crawford +Date: Tue, 27 Oct 2020 19:43:48 +0100 +Subject: [PATCH 1/3] portage/repository/config.py: add disabled attribute to + repos.conf + +This flag allows a repos.conf file to disable a previously-defined repository. + +https://bugs.gentoo.org/507284 +--- + lib/portage/repository/config.py | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py +index f7c956d..28ec102 100644 +--- a/lib/portage/repository/config.py ++++ b/lib/portage/repository/config.py +@@ -77,6 +77,7 @@ class RepoConfig: + 'clone_depth', + 'create_manifest', + 'disable_manifest', ++ 'disabled', + 'eapi', + 'eclass_db', + 'eclass_locations', +@@ -275,6 +276,11 @@ class RepoConfig: + location = None + self.location = location + ++ disabled = repo_opts.get('disabled') ++ if disabled is not None: ++ disabled = disabled.strip().lower() == 'true' ++ self.disabled = disabled or False ++ + missing = True + self.name = name + if self.location is not None: +@@ -754,7 +760,10 @@ class RepoConfigLoader: + # Do this before expanding aliases, so that location_map and + # treemap consistently map unaliased names whenever available. + for repo_name, repo in list(prepos.items()): +- if repo.location is None: ++ if repo.disabled: ++ del prepos[repo_name] ++ continue ++ elif repo.location is None: + if repo_name != 'DEFAULT': + # Skip this warning for repoman (bug #474578). + if settings.local_config and paths: +-- +2.26.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.2.18-0002-environment-Filter-EROOT-for-all-EAPIs.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0002-environment-Filter-EROOT-for-all-EAPIs.patch similarity index 65% rename from sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.2.18-0002-environment-Filter-EROOT-for-all-EAPIs.patch rename to sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0002-environment-Filter-EROOT-for-all-EAPIs.patch index d48349e1f2..37900e1446 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.2.18-0002-environment-Filter-EROOT-for-all-EAPIs.patch +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0002-environment-Filter-EROOT-for-all-EAPIs.patch @@ -1,21 +1,23 @@ -From f1ca1359c9cc2bd9e867305e1b07506d3d6722cc Mon Sep 17 00:00:00 2001 +From 9e7ba8e73d8e043a91d215af4b4fcdb8e37921f5 Mon Sep 17 00:00:00 2001 From: Michael Marineau -Date: Sun, 20 Jul 2014 20:27:43 -0700 -Subject: [PATCH 2/4] environment: Filter EROOT for all EAPIs +Date: Tue, 27 Oct 2020 19:47:20 +0100 +Subject: [PATCH 2/3] environment: Filter EROOT for all EAPIs This variable is often defined in older EAPIs with "${EROOT:=$ROOT}" but it should never be preserved since ROOT may change. Bug #490014 + +https://bugs.gentoo.org/490014 --- - bin/phase-functions.sh | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) + bin/phase-functions.sh | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh -index def2080..f4b5a8d 100644 +index 90e622e..ec7b18b 100644 --- a/bin/phase-functions.sh +++ b/bin/phase-functions.sh -@@ -106,10 +106,14 @@ __filter_readonly_variables() { - if ___eapi_has_SYSROOT; then - filtered_vars+=" SYSROOT" +@@ -107,10 +107,14 @@ __filter_readonly_variables() { + if ___eapi_has_BROOT; then + filtered_vars+=" BROOT" fi - # Don't filter/interfere with prefix variables unless they are - # supported by the current EAPI. @@ -32,5 +34,5 @@ index def2080..f4b5a8d 100644 filtered_vars+=" ESYSROOT" fi -- -2.0.5 +2.26.2 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.2.18-0003-depgraph-ensure-slot-rebuilds-happen-in-the-correct-.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0003-depgraph-ensure-slot-rebuilds-happen-in-the-correct-.patch similarity index 62% rename from sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.2.18-0003-depgraph-ensure-slot-rebuilds-happen-in-the-correct-.patch rename to sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0003-depgraph-ensure-slot-rebuilds-happen-in-the-correct-.patch index f8b11f94a1..a50529309d 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.2.18-0003-depgraph-ensure-slot-rebuilds-happen-in-the-correct-.patch +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/0003-depgraph-ensure-slot-rebuilds-happen-in-the-correct-.patch @@ -1,18 +1,18 @@ -From a4329f54504afedc0840d42faf5f15a158fdaada Mon Sep 17 00:00:00 2001 +From 91f1cc6fa46e149094a7021f43b10bd13d39b7d9 Mon Sep 17 00:00:00 2001 From: Michael Marineau -Date: Mon, 27 Apr 2015 18:33:11 -0700 -Subject: [PATCH 3/4] depgraph: ensure slot rebuilds happen in the correct root +Date: Tue, 27 Oct 2020 19:50:07 +0100 +Subject: [PATCH 3/3] depgraph: ensure slot rebuilds happen in the correct root -https://bugs.gentoo.org/show_bug.cgi?id=520112 +https://bugs.gentoo.org/520112 --- - pym/_emerge/depgraph.py | 8 ++++---- + lib/_emerge/depgraph.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py -index 37292a6..e3ce8d2 100644 ---- a/pym/_emerge/depgraph.py -+++ b/pym/_emerge/depgraph.py -@@ -3950,13 +3950,13 @@ class depgraph(object): +diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py +index 0bb0352..3d1cdbc 100644 +--- a/lib/_emerge/depgraph.py ++++ b/lib/_emerge/depgraph.py +@@ -4384,13 +4384,13 @@ class depgraph: a favorite list.""" debug = "--debug" in self._frozen_config.myopts onlydeps = "--onlydeps" in self._frozen_config.myopts @@ -27,9 +27,9 @@ index 37292a6..e3ce8d2 100644 + pkgsettings = self._frozen_config.pkgsettings[myroot] + pprovideddict = pkgsettings.pprovideddict + virtuals = pkgsettings.getvirtuals() - for atom in arg.pset.getAtoms(): + for atom in sorted(arg.pset.getAtoms()): self._spinner_update() dep = Dependency(atom=atom, onlydeps=onlydeps, -- -2.0.5 +2.26.2 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/README.RESCUE b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/README.RESCUE new file mode 100644 index 0000000000..e8f3932ac2 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/README.RESCUE @@ -0,0 +1,2 @@ +Please see https://wiki.gentoo.org/wiki/Project:Portage/Fixing_broken_portage +for a recovery guide for a broken portage installation. diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.3.8-0001-portage-repository-config.py-add-disabled-attribute-.patch b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.3.8-0001-portage-repository-config.py-add-disabled-attribute-.patch deleted file mode 100644 index 0a0122cbc9..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/files/portage-2.3.8-0001-portage-repository-config.py-add-disabled-attribute-.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 1b8ccc0e487a523aa6d974b3ebe26548ad6502b6 Mon Sep 17 00:00:00 2001 -From: Alex Crawford -Date: Mon, 14 Apr 2014 12:43:56 -0700 -Subject: [PATCH 1/4] portage/repository/config.py: add disabled attribute to - repos.conf - -This flag allows a repos.conf file to disable a previously-defined repository. - -Updated 03-Nov-17 for portage 2.3.8 ---- -diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py -index b65ed97ce..f3e2f112b 100644 ---- a/pym/portage/repository/config.py -+++ b/pym/portage/repository/config.py -@@ -76,7 +76,7 @@ class RepoConfig(object): - - __slots__ = ('aliases', 'allow_missing_manifest', 'allow_provide_virtual', - 'auto_sync', 'cache_formats', 'clone_depth', -- 'create_manifest', 'disable_manifest', -+ 'create_manifest', 'disable_manifest', 'disabled', - 'eapi', 'eclass_db', 'eclass_locations', 'eclass_overrides', - 'find_invalid_path_char', 'force', 'format', 'local_config', 'location', - 'main_repo', 'manifest_hashes', 'masters', 'missing_repo_name', -@@ -198,6 +198,11 @@ class RepoConfig(object): - location = None - self.location = location - -+ disabled = repo_opts.get('disabled') -+ if disabled is not None: -+ disabled = disabled.strip().lower() == 'true' -+ self.disabled = disabled or False -+ - missing = True - self.name = name - if self.location is not None: -@@ -651,7 +656,10 @@ class RepoConfigLoader(object): - # Do this before expanding aliases, so that location_map and - # treemap consistently map unaliased names whenever available. - for repo_name, repo in list(prepos.items()): -- if repo.location is None: -+ if repo.disabled: -+ del prepos[repo_name] -+ continue -+ elif repo.location is None: - if repo_name != 'DEFAULT': - # Skip this warning for repoman (bug #474578). - if settings.local_config and paths: diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/metadata.xml b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/metadata.xml index 5d99599f67..062dafe624 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/metadata.xml +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/metadata.xml @@ -5,12 +5,13 @@ mailto:dev-portage@gentoo.org https://gitweb.gentoo.org/proj/portage.git/plain/RELEASE-NOTES https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage + cpe:/a:gentoo:portage dev-portage@gentoo.org - Build html API documentation with epydoc. + Build html API documentation with sphinx-apidoc. Enable features required for Gentoo ebuild development. Use inter-process communication between portage and running ebuilds. diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/portage-2.3.40-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/portage-3.0.8.ebuild similarity index 52% rename from sdk_container/src/third_party/coreos-overlay/sys-apps/portage/portage-2.3.40-r1.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-apps/portage/portage-3.0.8.ebuild index 6aae60e475..c8a04d2dea 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/portage-2.3.40-r1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/portage/portage-3.0.8.ebuild @@ -1,67 +1,70 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +# Flatcar: Based on portage-3.0.8.ebuild from commit +# be7749525a3958edbcecee314d0e1c294222f87f in Gentoo repo (see +# https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-apps/portage/portage-3.0.8.ebuild?id=be7749525a3958edbcecee314d0e1c294222f87f). -PYTHON_COMPAT=( - pypy - python3_4 python3_5 python3_6 - python2_7 -) +EAPI=7 + +DISTUTILS_USE_SETUPTOOLS=no +PYTHON_COMPAT=( pypy3 python3_{6..7} ) PYTHON_REQ_USE='bzip2(+),threads(+)' -inherit distutils-r1 eutils systemd +inherit distutils-r1 linux-info tmpfiles prefix 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 ~mips ppc ppc64 s390 sparc x86 ~amd64-fbsd" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86" SLOT="0" -IUSE="build doc epydoc gentoo-dev +ipc +native-extensions rsync-verify selinux xattr" +IUSE="apidoc build doc gentoo-dev +ipc +native-extensions rsync-verify selinux test xattr" +RESTRICT="!test? ( test )" +BDEPEND="test? ( dev-vcs/git )" 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*')] )" + apidoc? ( + dev-python/sphinx + dev-python/sphinx-epytext + )" # 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). # app-portage/gemato goes without PYTHON_USEDEP since we're calling # the executable. RDEPEND=" + app-arch/zstd >=app-arch/tar-1.27 dev-lang/python-exec:2 + >=sys-apps/findutils-4.4 !build? ( >=sys-apps/sed-4.0.5 app-shells/bash:0[readline] >=app-admin/eselect-1.2 - $(python_gen_cond_dep 'dev-python/pyblake2[${PYTHON_USEDEP}]' \ - python{2_7,3_4,3_5} pypy) rsync-verify? ( - >=app-portage/gemato-12.1[${PYTHON_USEDEP}] - app-crypt/openpgp-keys-gentoo-release + >=app-portage/gemato-14.5[${PYTHON_USEDEP}] + >=app-crypt/openpgp-keys-gentoo-release-20180706 >=app-crypt/gnupg-2.2.4-r2[ssl(-)] ) ) - 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 ) + kernel_linux? ( sys-apps/util-linux ) >=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) ) ) - ! cnf/repos.conf - # upstream bug: https://bugs.gentoo.org/507284 - epatch "${FILESDIR}/${PN}-2.3.8-0001-portage-repository-config.py-add-disabled-attribute-.patch" - # upstream bug: https://bugs.gentoo.org/490014 - epatch "${FILESDIR}/${PN}-2.2.18-0002-environment-Filter-EROOT-for-all-EAPIs.patch" - # upstream bug: - epatch "${FILESDIR}/${PN}-2.2.18-0003-depgraph-ensure-slot-rebuilds-happen-in-the-correct-.patch" - epatch "${DISTDIR}/${P}-bug-656942-bug-657436-937d0156aa06.patch" \ - "${DISTDIR}/${P}-bug-657436-937d0156aa06-1fc628eead43.patch" - - # apply 4fb5ef2ce2cb - sed -i "s:\\((self._poll_obj, 'close'\\)):\\1, None):" \ - pym/portage/util/_eventloop/EventLoop.py || die + sed -e "s:^VERSION = \"HEAD\"$:VERSION = \"${PV}\":" -i lib/portage/__init__.py || die if use gentoo-dev; then einfo "Disabling --dynamic-deps by default for gentoo-dev..." sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \ - -i pym/_emerge/create_depgraph_params.py || \ + -i lib/_emerge/create_depgraph_params.py || \ die "failed to patch create_depgraph_params.py" einfo "Enabling additional FEATURES for gentoo-dev..." - echo 'FEATURES="${FEATURES} ipc-sandbox network-sandbox strict-keepdir"' \ + echo 'FEATURES="${FEATURES} strict-keepdir"' \ >> cnf/make.globals || die fi @@ -131,7 +126,7 @@ 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 || \ + -i lib/_emerge/AbstractEbuildProcess.py || \ die "failed to patch AbstractEbuildProcess.py" fi @@ -143,19 +138,14 @@ python_prepare_all() { if use build || ! use rsync-verify; then sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \ + -e '/^sync-webrsync-verify-signature/s|yes|no|' \ -i cnf/repos.conf || die "sed failed" 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" + hprefixify -e "s|^(EPREFIX[[:space:]]*=[[:space:]]*\").*|\1${EPREFIX}\"|" \ + -w "/_BINARY/" lib/portage/const.py einfo "Prefixing shebangs ..." while read -r -d $'\0' ; do @@ -164,17 +154,11 @@ python_prepare_all() { sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \ die "sed failed" fi - done < <(find . -type f -print0) + done < <(find . -type f ! -name etc-update -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 make.globals, repos.conf and etc-update ..." + hprefixify cnf/{make.globals,repos.conf} bin/etc-update - 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 use prefix-guest ; then sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \ -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \ @@ -202,7 +186,7 @@ python_prepare_all() { python_compile_all() { local targets=() use doc && targets+=( docbook ) - use epydoc && targets+=( epydoc ) + use apidoc && targets+=( apidoc ) if [[ ${targets[@]} ]]; then esetup.py "${targets[@]}" @@ -235,8 +219,8 @@ python_install_all() { install_docbook --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" ) - use epydoc && targets+=( - install_epydoc + use apidoc && targets+=( + install_apidoc --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" ) @@ -245,7 +229,7 @@ python_install_all() { esetup.py "${targets[@]}" fi - systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf + dotmpfiles "${FILESDIR}"/portage-ccache.conf # Due to distutils/python-exec limitations # these must be installed to /usr/bin. @@ -254,49 +238,42 @@ python_install_all() { 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!" + 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 + python_setup + local sitedir=$(python_get_sitedir) + [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory" + env -u DISTDIR \ + -u PORTAGE_OVERRIDE_EPREFIX \ + -u PORTAGE_REPOSITORIES \ + -u PORTDIR \ + -u PORTDIR_OVERLAY \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.default_locations || die + + env -u BINPKG_COMPRESS \ + PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \ + "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die # 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} + 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 + if has_version "<${CATEGORY}/${PN}-2.3.77"; then + elog "The emerge --autounmask option is now disabled by default, except for" + elog "portions of behavior which are controlled by the --autounmask-use and" + elog "--autounmask-license options. For backward compatibility, previous" + elog "behavior of --autounmask=y and --autounmask=n is entirely preserved." + elog "Users can get the old behavior simply by adding --autounmask to the" + elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this" + elog "change, see https://bugs.gentoo.org/658648." fi } - -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 "" - 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 "" -}