From 751d0ad85386de84b94fd33acfe42db0e45362b3 Mon Sep 17 00:00:00 2001 From: Yuta SATOH Date: Sun, 10 Dec 2017 07:15:54 +0900 Subject: dev-util/catalyst: import from the main tree. --- dev-util/catalyst/Manifest | 7 ++ dev-util/catalyst/catalyst-2.0.18-r4.ebuild | 120 +++++++++++++++++++++ .../catalyst-2.0.18-Do-notuntarwith--acls.patch | 95 ++++++++++++++++ .../files/catalyst-2.0.18-fix-quotes.patch | 38 +++++++ .../files/catalyst-2.0.18-remove-machine-id.patch | 25 +++++ .../files/catalyst-2.0.18-stage1-export-ROOT.patch | 42 ++++++++ dev-util/catalyst/metadata.xml | 14 +++ 7 files changed, 341 insertions(+) create mode 100644 dev-util/catalyst/Manifest create mode 100644 dev-util/catalyst/catalyst-2.0.18-r4.ebuild create mode 100644 dev-util/catalyst/files/catalyst-2.0.18-Do-notuntarwith--acls.patch create mode 100644 dev-util/catalyst/files/catalyst-2.0.18-fix-quotes.patch create mode 100644 dev-util/catalyst/files/catalyst-2.0.18-remove-machine-id.patch create mode 100644 dev-util/catalyst/files/catalyst-2.0.18-stage1-export-ROOT.patch create mode 100644 dev-util/catalyst/metadata.xml diff --git a/dev-util/catalyst/Manifest b/dev-util/catalyst/Manifest new file mode 100644 index 0000000..3ba594e --- /dev/null +++ b/dev-util/catalyst/Manifest @@ -0,0 +1,7 @@ +AUX catalyst-2.0.18-Do-notuntarwith--acls.patch 6156 SHA256 2b8160bba1207cf45412a8133b6ed3b039d6705f76074651b6d42c4488b9bc1e SHA512 500d72f7e11f99eb53275aac3e1b94394826cfa271312ee268092d12a70128b46455c5da1122fb70e21459f56ded3e3ad2752c33516cd3dc4ea4ac70cd0ec32f WHIRLPOOL f348eb0507d9fed5d5e05ba27b4b662fa1fd25e5d87afd886732a45173d2c3b27fee18ad4435c0fdefdb92d6606d0b11a9c54dff459692eff5db3aeb05f2c459 +AUX catalyst-2.0.18-fix-quotes.patch 1663 SHA256 5d99b200bef45e3a69003687d00a1939e9ab696bd1d2653f7a76f7ea66972c88 SHA512 185705eba562dfeb52740ad3a0c3ea611648d508079ad54c9e5680d318888cc5123c5ff365b1c575a5348ddfd8210763277daed226b564ed3a59e15f18bff205 WHIRLPOOL 7b9434459c31207e8d36bcbf57df7751739848b2c8e5e081b7b219029deb7257f33652027ca22a94fa0452439e6e97e16467554423435a5bd17cdb293d1942a2 +AUX catalyst-2.0.18-remove-machine-id.patch 778 SHA256 dc40a3c469a80e40eed68c46ea61ce6ac802aa56ade300eee372c3eb79741d33 SHA512 7e5230eacc6ca7b535d416cd2dd846fa9fbc58951ef4cbdb14108afcbcd63f2d8a7b082920d04dc51b9eb47a6d44eeb5a07d704b14e71b6a972d96ca79f807d6 WHIRLPOOL 1645f5ccf29272d2cb97c86dbd638021d452051e167231807bbf5ecc75f9c059230e3009ff1adc3224694901a392104ad0418b591ce474ef03b96866d247b7af +AUX catalyst-2.0.18-stage1-export-ROOT.patch 1274 SHA256 bfd9470df1b53c0313731c22d740a4f0ce613326037144808cf37e2c3c280690 SHA512 6372917d395d8129c49c4dd8de7e6a8e7797f6c535e39713fa68059d82f398aa1fb0ffb1b6a65c91f9b5a4861f29cffd4717b7a612276e78d22ac1985ee32113 WHIRLPOOL b3f4b7678ff196ee00e65961894b19ec58868c2e769bc573ab4cb0570fbbbbebb7b5ca0b5f2e3534bc4582db872e4da4f49d9d98fc9d82c473a627194bd63c0b +DIST catalyst-2.0.18.tar.bz2 861398 SHA256 f3c2583fb8da425a9c57d3a00aac559e6bfde5951f1c7ef30ddf4fa00d6bedbd SHA512 5a1408ffe06ce5c06a6bca8f0e3ecd91c17cdc36e2dfa37881d843432bdfe987fd2cfd988cd5719bdf378c18c2e79ee59e281c3b4dba4ae9edfc2dd654b8ee4a WHIRLPOOL 73abb541bd9984e26e43dbeee3156ca84104aedfe16a027b97790274aaffa8678a29677da4ada908fe9c2184268eb9c266a8961a5e0681fccc463c47a6d83542 +EBUILD catalyst-2.0.18-r4.ebuild 3297 SHA256 5dba6296b5cb985f89946b1575d9e2ce07fda0820ee47ce346abecbbbfcd14ac SHA512 e397fb7205d4bf4823b5d328fb9059aa37ed8ad97deb2fa0fd7a7b1cafe694daa2f9f5705ff1a83905101b9679755b875a79063039a63743f6ef2e96dce4efea WHIRLPOOL f78adcfbac9738183d489c2f59992fce333b77f98b46e757731342660454de1bb342b3483a096d820601ea5e8cdba5093cb1872ecbbd3e3f4426102e1e8f6218 +MISC metadata.xml 417 SHA256 7368ace310e6ad01b264004c144e7c690f0f3106c851514190df206122ceb357 SHA512 ba623747ea22b2e886740d771dcd80ac54df9b29762d1d1f3eb46701e9463d245a2e310eb03695dc9342a57da486a9a8d56892da709727476a2d6afed5e63cb8 WHIRLPOOL 32a9aa02498e87b255aab36b0195bec07d95ecc9cb10eb3f5eb8393cc3a5910263ef2e4cb507924a29b822845b5ccc54af25ac5e226e3900bdc379d72e1d2cc6 diff --git a/dev-util/catalyst/catalyst-2.0.18-r4.ebuild b/dev-util/catalyst/catalyst-2.0.18-r4.ebuild new file mode 100644 index 0000000..45b66c3 --- /dev/null +++ b/dev-util/catalyst/catalyst-2.0.18-r4.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2017 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] + virtual/cdrtools + amd64? ( >=sys-boot/syslinux-3.72 ) + ia64? ( sys-fs/dosfstools ) + 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://www.gentoo.org/proj/en/releng/catalyst/index.xml" +} diff --git a/dev-util/catalyst/files/catalyst-2.0.18-Do-notuntarwith--acls.patch b/dev-util/catalyst/files/catalyst-2.0.18-Do-notuntarwith--acls.patch new file mode 100644 index 0000000..f4cbcfb --- /dev/null +++ b/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/dev-util/catalyst/files/catalyst-2.0.18-fix-quotes.patch b/dev-util/catalyst/files/catalyst-2.0.18-fix-quotes.patch new file mode 100644 index 0000000..ccaffbe --- /dev/null +++ b/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/dev-util/catalyst/files/catalyst-2.0.18-remove-machine-id.patch b/dev-util/catalyst/files/catalyst-2.0.18-remove-machine-id.patch new file mode 100644 index 0000000..1c641fd --- /dev/null +++ b/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/dev-util/catalyst/files/catalyst-2.0.18-stage1-export-ROOT.patch b/dev-util/catalyst/files/catalyst-2.0.18-stage1-export-ROOT.patch new file mode 100644 index 0000000..67fc2c6 --- /dev/null +++ b/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/dev-util/catalyst/metadata.xml b/dev-util/catalyst/metadata.xml new file mode 100644 index 0000000..6c4b9cd --- /dev/null +++ b/dev-util/catalyst/metadata.xml @@ -0,0 +1,14 @@ + + + + + catalyst@gentoo.org + + + livecd@gentoo.org + Gentoo LiveCD Project + + + Enables ccache support + + -- cgit v1.2.3-65-gdbad