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..f3f9902781 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/Manifest @@ -0,0 +1 @@ +DIST catalyst-2.0.18.tar.bz2 861398 BLAKE2B 70986d312410fb7abb5c8d7eacefa0f0150a3642e92e4f7b7e9944cf3653e7e2ba987ffb34a614b261a22ce3bb964488181c019f92bbc9c73567f89be04c0989 SHA512 5a1408ffe06ce5c06a6bca8f0e3ecd91c17cdc36e2dfa37881d843432bdfe987fd2cfd988cd5719bdf378c18c2e79ee59e281c3b4dba4ae9edfc2dd654b8ee4a diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-2.0.18-r4.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-2.0.18-r4.ebuild new file mode 100644 index 0000000000..98e502b926 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/catalyst-2.0.18-r4.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +if [[ ${PV} == *9999* ]]; then + SRC_ECLASS="git-2" + EGIT_REPO_URI="anongit.gentoo.org/proj/catalyst.git" + EGIT_MASTER="master" + S="${WORKDIR}/${PN}" +else + SRC_URI="mirror://gentoo/${P}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/${P}.tar.bz2 + https://dev.gentoo.org/~mattst88/distfiles/${P}.tar.bz2 + https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.bz2 + https://dev.gentoo.org/~dolsen/releases/catalyst/${P}.tar.bz2" + KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd" +fi + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils multilib python-single-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 kernel_linux" + +DEPEND=" + app-text/asciidoc + ${PYTHON_DEPS} +" +RDEPEND=" + app-arch/lbzip2 + app-crypt/shash + app-arch/tar[xattr] + sys-fs/dosfstools + virtual/cdrtools + amd64? ( >=sys-boot/syslinux-3.72 ) + x86? ( >=sys-boot/syslinux-3.72 ) + ccache? ( dev-util/ccache ) + kernel_linux? ( app-misc/zisofs-tools >=sys-fs/squashfs-tools-2.1 ) + ${PYTHON_DEPS} +" + +REQUIRED_USE=${PYTHON_REQUIRED_USE} + +PATCHES=( + "${FILESDIR}/catalyst-2.0.18-Do-notuntarwith--acls.patch" + "${FILESDIR}/catalyst-2.0.18-fix-quotes.patch" + "${FILESDIR}/catalyst-2.0.18-remove-machine-id.patch" + "${FILESDIR}/catalyst-2.0.18-stage1-export-ROOT.patch" +) + +pkg_setup() { + if use ccache ; then + einfo "Enabling ccache support for catalyst." + else + ewarn "By default, ccache support for catalyst is disabled." + ewarn "If this is not what you intended," + ewarn "then you should add ccache to your USE." + fi + + echo + einfo "The template spec files are now installed by default. You can find" + einfo "them under /usr/share/doc/${PF}/examples" + einfo "and they are considered to be the authorative source of information" + einfo "on catalyst." + echo + + python-single-r1_pkg_setup +} + +src_prepare() { + epatch "${PATCHES[@]}" +} + +src_install() { + insinto /usr/$(get_libdir)/${PN} + exeinto /usr/$(get_libdir)/${PN} + doexe catalyst || die "copying catalyst" + + if [[ ${PV} == 3.9999* ]]; then + doins -r modules files || die "copying files" + else + doins -r arch modules livecd || die "copying files" + fi + + for x in targets/*; do + exeinto /usr/$(get_libdir)/${PN}/$x + doexe $x/* || die "copying ${x}" + done + + # Here is where we actually enable ccache + use ccache && \ + sed -i -e 's:options="autoresume kern:options="autoresume ccache kern:' \ + files/catalyst.conf + + sed -i -e "s:/usr/lib/catalyst:/usr/$(get_libdir)/catalyst:" \ + files/catalyst.conf + + make_wrapper catalyst /usr/$(get_libdir)/${PN}/catalyst + insinto /etc/catalyst + doins files/catalyst.conf files/catalystrc || die "copying configuration" + insinto /usr/share/doc/${PF}/examples + doins examples/* || die + dodoc README AUTHORS + doman files/catalyst.1 files/catalyst-spec.5 + + python_fix_shebang "${ED}usr/$(get_libdir)/catalyst/catalyst" + python_optimize "${ED}" +} + +pkg_postinst() { + einfo "You can find more information about catalyst by checking out the" + einfo "catalyst project page at:" + einfo "https://wiki.gentoo.org/wiki/Catalyst" +} diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-Do-notuntarwith--acls.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-Do-notuntarwith--acls.patch new file mode 100644 index 0000000000..f4cbcfbb7d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-Do-notuntarwith--acls.patch @@ -0,0 +1,95 @@ +From 45286727a63d16d0688a88bf7cf68289efd26861 Mon Sep 17 00:00:00 2001 +From: "Anthony G. Basile" +Date: Sun, 18 Jan 2015 22:21:16 -0500 +Subject: [PATCH] Do not untar with --acls, fixes bug #536762 +To: gentoo-catalyst@lists.gentoo.org + +--- + modules/catalyst_support.py | 6 +++--- + modules/generic_stage_target.py | 18 +++++++++--------- + 2 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/modules/catalyst_support.py b/modules/catalyst_support.py +index 0e9faac..702887d 100644 +--- a/modules/catalyst_support.py ++++ b/modules/catalyst_support.py +@@ -108,9 +108,9 @@ contents_map={ + # 'find' is disabled because it requires the source path, which is not + # always available + #"find" :[calc_contents,"find %(path)s"], +- "tar-tv":[calc_contents,"tar --xattrs --acls tvf %(file)s"], +- "tar-tvz":[calc_contents,"tar --xattrs --acls tvzf %(file)s"], +- "tar-tvj":[calc_contents,"tar --xattrs --acls -I lbzip2 -tvf %(file)s"], ++ "tar-tv":[calc_contents,"tar --xattrs tvf %(file)s"], ++ "tar-tvz":[calc_contents,"tar --xattrs tvzf %(file)s"], ++ "tar-tvj":[calc_contents,"tar --xattrs -I lbzip2 -tvf %(file)s"], + "isoinfo-l":[calc_contents,"isoinfo -l -i %(file)s"], + # isoinfo-f should be a last resort only + "isoinfo-f":[calc_contents,"isoinfo -f -i %(file)s"], +diff --git a/modules/generic_stage_target.py b/modules/generic_stage_target.py +index c7db027..cc24c63 100644 +--- a/modules/generic_stage_target.py ++++ b/modules/generic_stage_target.py +@@ -660,10 +660,10 @@ class generic_stage_target(generic_target): + self.settings["chroot_path"]+\ + " (This may take some time) ...\n" + if "bz2" == self.settings["chroot_path"][-3:]: +- unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -I lbzip2 -xpf "+self.settings["source_path"]+" -C "+\ ++ unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -I lbzip2 -xpf "+self.settings["source_path"]+" -C "+\ + self.settings["chroot_path"] + else: +- unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -I lbzip2 -xpf "+self.settings["source_path"]+" -C "+\ ++ unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -I lbzip2 -xpf "+self.settings["source_path"]+" -C "+\ + self.settings["chroot_path"] + error_msg="Tarball extraction of "+\ + self.settings["source_path"]+" to "+\ +@@ -675,10 +675,10 @@ class generic_stage_target(generic_target): + self.settings["chroot_path"]+\ + " (This may take some time) ...\n" + if "bz2" == self.settings["chroot_path"][-3:]: +- unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -I lbzip2 -xpf "+self.settings["source_path"]+" -C "+\ ++ unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -I lbzip2 -xpf "+self.settings["source_path"]+" -C "+\ + self.settings["chroot_path"] + else: +- unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -I lbzip2 -xpf "+self.settings["source_path"]+" -C "+\ ++ unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -I lbzip2 -xpf "+self.settings["source_path"]+" -C "+\ + self.settings["chroot_path"] + error_msg="Tarball extraction of "+self.settings["source_path"]+\ + " to "+self.settings["chroot_path"]+" failed." +@@ -777,9 +777,9 @@ class generic_stage_target(generic_target): + "catalyst-hash") + destdir=self.settings["snapshot_cache_path"] + if "bz2" == self.settings["chroot_path"][-3:]: +- unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -I lbzip2 -xpf "+self.settings["snapshot_path"]+" -C "+destdir ++ unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -I lbzip2 -xpf "+self.settings["snapshot_path"]+" -C "+destdir + else: +- unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -xpf "+self.settings["snapshot_path"]+" -C "+destdir ++ unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -xpf "+self.settings["snapshot_path"]+" -C "+destdir + unpack_errmsg="Error unpacking snapshot" + cleanup_msg="Cleaning up invalid snapshot cache at \n\t"+\ + self.settings["snapshot_cache_path"]+\ +@@ -796,10 +796,10 @@ class generic_stage_target(generic_target): + cleanup_msg=\ + "Cleaning up existing portage tree (This can take a long time)..." + if "bz2" == self.settings["chroot_path"][-3:]: +- unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -I lbzip2 -xpf "+self.settings["snapshot_path"]+" -C "+\ ++ unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -I lbzip2 -xpf "+self.settings["snapshot_path"]+" -C "+\ + self.settings["chroot_path"]+"/usr" + else: +- unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -xpf "+self.settings["snapshot_path"]+" -C "+\ ++ unpack_cmd="tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -xpf "+self.settings["snapshot_path"]+" -C "+\ + self.settings["chroot_path"]+"/usr" + unpack_errmsg="Error unpacking snapshot" + +@@ -1224,7 +1224,7 @@ class generic_stage_target(generic_target): + + print "Creating stage tarball..." + +- cmd("tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --acls --selinux -I lbzip2 -cpf "+self.settings["target_path"]+" -C "+\ ++ cmd("tar --xattrs --xattrs-include=security.capability --xattrs-include=user.pax.flags --selinux -I lbzip2 -cpf "+self.settings["target_path"]+" -C "+\ + self.settings["stage_path"]+" .",\ + "Couldn't create stage tarball",env=self.env) + +-- +2.2.2 + diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-fix-quotes.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-fix-quotes.patch new file mode 100644 index 0000000000..ccaffbe6b0 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-fix-quotes.patch @@ -0,0 +1,38 @@ +From 1eabce3a9c15c5caf022e71c1959e8c8f4819fad Mon Sep 17 00:00:00 2001 +From: "Anthony G. Basile" +Date: Thu, 3 Mar 2016 20:48:43 -0500 +Subject: [PATCH] targets/support/chroot-functions.sh: correct quotes to allow + expansion of $1 + +This is a backport of commit b2473eff. The single quotes prevented the proper +expansion of $1 in setup_pkgmgr(). Since this is usually called as +`setup_pkgmgr "build"` during stage1 builds, it is surprising this was +not caught earlier. +--- + targets/support/chroot-functions.sh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh +index 3b7f77b..6c1a31c 100755 +--- a/targets/support/chroot-functions.sh ++++ b/targets/support/chroot-functions.sh +@@ -172,12 +172,12 @@ setup_pkgmgr(){ + # Use --update or portage might just waste time/cycles and reinstall the same version. + # Use --newuse to make sure it rebuilds with any changed use flags. + if [ -n "$1" ];then +- echo "Adding USE='${USE} $1' to make.conf for portage build" +- [ -e /etc/portage/make.conf ] && echo 'USE="${USE} $1"' >> /etc/portage/make.conf ++ echo "Adding USE=\"${USE} $1\" to make.conf for portage build" ++ [ -e /etc/portage/make.conf ] && echo "USE=\"\${USE} $1\"" >> /etc/portage/make.conf + run_merge --oneshot --update --newuse sys-apps/portage +- sed -i '/USE="${USE} $1"/d' /etc/portage/make.conf ++ sed -i "/USE=\"\${USE} $1\"/d" /etc/portage/make.conf + else +- echo "Updating portage with USE='${USE}'" ++ echo "Updating portage with USE=\"${USE}\"" + run_merge --oneshot --update --newuse sys-apps/portage + fi + } +-- +2.4.10 + diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-remove-machine-id.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-remove-machine-id.patch new file mode 100644 index 0000000000..1c641fd2b9 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-remove-machine-id.patch @@ -0,0 +1,25 @@ +From fbf94254a714c8d72840faee42cf348eb69b1a43 Mon Sep 17 00:00:00 2001 +From: "Anthony G. Basile" +Date: Fri, 8 Apr 2016 17:58:15 -0400 +Subject: [PATCH] targets/support/chroot-functions.sh: remove machine-id for + systemd stages + +--- + targets/support/chroot-functions.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh +index 6c1a31c..67874a0 100755 +--- a/targets/support/chroot-functions.sh ++++ b/targets/support/chroot-functions.sh +@@ -223,6 +223,7 @@ cleanup_stages() { + stage1|stage2|stage3|system) + rm -f /var/lib/portage/world + touch /var/lib/portage/world ++ rm -f /etc/machine-id + ;; + *) + echo "Skipping removal of world file for ${clst_target}" +-- +2.7.3 + diff --git a/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-stage1-export-ROOT.patch b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-stage1-export-ROOT.patch new file mode 100644 index 0000000000..67fc2c631b --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/files/catalyst-2.0.18-stage1-export-ROOT.patch @@ -0,0 +1,42 @@ +From 5fd2d5edd3c4c1e99687beb9acc130bab162866b Mon Sep 17 00:00:00 2001 +From: "Anthony G. Basile" +Date: Sat, 4 Jun 2016 12:43:44 -0400 +Subject: stage1-preclean-chroot.sh: export ROOT=/tmp/stage1root for + setup_gcc() + +setup_gcc() calls gcc-config to select a particular gcc profile. At stage1 this +needs to be done in the /tmp/stage1root chroot. gcc-config looks for ROOT to +choose the root directory in which to make the selection. If we don't export +ROOT, then setup_gcc is ineffective. + +X-Gentoo-Bug: 584234 +X-Gentoo-Bug-Url: https://bugs.gentoo.org/show_bug.cgi?id=584234 + +Signed-off-by: Anthony G. Basile +--- + targets/stage1/stage1-preclean-chroot.sh | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/targets/stage1/stage1-preclean-chroot.sh b/targets/stage1/stage1-preclean-chroot.sh +index a80fc92..dc67521 100755 +--- a/targets/stage1/stage1-preclean-chroot.sh ++++ b/targets/stage1/stage1-preclean-chroot.sh +@@ -1,5 +1,6 @@ + #!/bin/bash + ++export ROOT=/tmp/stage1root + export RUN_DEFAULT_FUNCS="no" + + source /tmp/chroot-functions.sh +@@ -8,8 +9,6 @@ update_env_settings + show_debug + + # Now, some finishing touches to initialize gcc-config.... +-unset ROOT +- + setup_gcc + setup_binutils + +-- +cgit v0.12 + 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..6c4b9cdbcc --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-util/catalyst/metadata.xml @@ -0,0 +1,14 @@ + + + + + catalyst@gentoo.org + + + livecd@gentoo.org + Gentoo LiveCD Project + + + Enables ccache support + +