From: Markos Chandras Date: Mon, 23 Feb 2015 20:18:42 +0000 (+0000) Subject: Switch default lxcpath to /var/lib/lxc. /etc/lxc was far too strange. Add patch to... X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1c34676f50a21fdbf1c20c8933462423d6e3f5f4;p=gentoo.git Switch default lxcpath to /var/lib/lxc. /etc/lxc was far too strange. Add patch to fix gentoo template stage3 detection code Package-Manager: portage-2.2.17/cvs/Linux x86_64 --- diff --git a/app-emulation/lxc/ChangeLog b/app-emulation/lxc/ChangeLog index 229891a0f42d..b2807bd193c2 100644 --- a/app-emulation/lxc/ChangeLog +++ b/app-emulation/lxc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-emulation/lxc # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/lxc/ChangeLog,v 1.61 2015/02/17 15:15:21 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/lxc/ChangeLog,v 1.62 2015/02/23 20:18:38 hwoarang Exp $ + +*lxc-1.1.0-r3 (23 Feb 2015) + + 23 Feb 2015; Markos Chandras + +files/lxc-1.1.0-fix-gentoo-template.patch, +lxc-1.1.0-r3.ebuild: + Switch default lxcpath to /var/lib/lxc. /etc/lxc was far too strange. Add + patch to fix gentoo template stage3 detection code *lxc-1.1.0-r2 (17 Feb 2015) diff --git a/app-emulation/lxc/Manifest b/app-emulation/lxc/Manifest index f44bb5b4cac7..dca519f0d422 100644 --- a/app-emulation/lxc/Manifest +++ b/app-emulation/lxc/Manifest @@ -1,4 +1,5 @@ AUX lxc-1.0.6-bash-completion.patch 1341 SHA256 ddac7cc033a4029f8264d06978321bb33ef7c4fd34c9a44bb1acaaaf1c85d302 SHA512 56b00f77812c0600a8ff7557ef0acf7f50d37bb9f6e5b3641c9a218a53ac64a59785430d0775c1c7980ac39120a2544fd7c28cf39fefc07e7f1558f88b9b5917 WHIRLPOOL b3ff9a377d7d29fa76b6d547f2d1b1621c5ab52e972a9b52389c269f26ba9f43eae6a414db46135be84f1ed91ebea9d6d24cc25da11f493dc86fee088e90bfb4 +AUX lxc-1.1.0-fix-gentoo-template.patch 1375 SHA256 f0b765d1b150b18adc3c67fdff6d80e2ab81f7d48ddafbd9cd95fef3d4d6243e SHA512 17f21b9a0ce45de5d184ae0421666f2b1193ac0da0fec39d12fe463054669ca7b55636794e0ab747058a7b9d79ae68a68e3f5e2d3e3d05854ea3d6e49bf536dd WHIRLPOOL 3858155a567c6efde97368dd1c39173d39d7f3635ab46a14238726ca60be7e45b82d96c58e33e48d46042eeb81664ce78f3d272bb5e632da15484c33a25422c0 AUX lxc.initd.2 3673 SHA256 bb7780168695e934549909c5c7baa7d6cdc92b0e19093a3d04a1313081a832e1 SHA512 25b0474d6f16fcede89a8e17518a658f810cb554eaef10aae3ce1fdd8c8640118aa6375cbee443f0b26e8086eb7c25375ceaaaf29a4110bd779f94b2f4b0d300 WHIRLPOOL 28f56d71b95b26c7f6ad5402a37413a973bc7bdf08fd3963ad192888ae1b49809a56c16009bc6049061d419ecffb1279e153e6ef5acbe06956efca154eae6a01 AUX lxc.initd.3 3765 SHA256 2a96156f8d07391ae67d2160199d6ae362889438ac5b48c6c241aa02b9f4928e SHA512 fecefad41640c648bc3923952131e97617bc40bfcaa8b7dce2cac752551ca4c9e126c14febe4c56c04ccb3ebd378a91c5a6fe1d3a8cfcf083186b962e4d43b82 WHIRLPOOL ac64b41aed33c08e3baef74fbacb3895a0566837f3e185315792e5a333e35af72c5c784e890cdbf4480515704b017a97c8ba8e1a256032c50da22c3d63b135d4 AUX lxc_at.service 232 SHA256 0aaf2f362b3ac6aa2b427d47ac4436d46387624b0d8bc4850c5d5b6a7d228711 SHA512 4c3bab4f2cc9aea8b0753dcaf2fd7ed5f1cd7d97d286d6204b2fc17505b6edaac2f536bbda5c1466856311d0e93d75de91dec51e9b0f665d67afedbf40c19170 WHIRLPOOL f6928b4b85e63c38295cabc651b7bd61d2b0bc69ff1850de7cfa8a4f40e4894d94264c262fec7d345488cace49c4283f932739313b975f6862c1aa0ef51e0652 @@ -9,5 +10,6 @@ DIST lxc-1.1.0.tar.gz 592543 SHA256 216e806f7e18e5bfbc782493a9e44fc255f24a587d6f EBUILD lxc-1.0.6-r1.ebuild 5888 SHA256 c8470a673c846599a66c7aab372a9a551a9b2732d35d5fe4142a8ca385c70a51 SHA512 e84b347a0a39eee2c398d89d4cb217b1224f19eab86647d3a479a85b0eeb16f1375606c3c52ce55febe704e2e923890cc77e42940cc968654a60a4ea71a4a792 WHIRLPOOL 7a000c88099ec1dd5deffae80ce9905a274ce1c81e263ca5f12e9b943b455ca66109ea0b3ec9dfb490e326ac09b6e8912786e1138df3a9fe842eca2c9c636092 EBUILD lxc-1.0.7.ebuild 5917 SHA256 889147f7dbceb408618a81e75789b6f00b24f19b9a7377da74ebfbd1565781d2 SHA512 f88a95ea399ae754202daf570082b3275c464e60a7f6f49485746509bb0a78b44fd43a67dde966ee4123da15d6697524ef46102950396b61ef1eafcecc0cf313 WHIRLPOOL b225c9b00afc6d697d68078f85e244fb3ff8c5e692bb1fae5a4c961ce426852ad612c40ad25e89bd12309c6b0c1c482a6cdd7812356c1f3c7950d07d90141a13 EBUILD lxc-1.1.0-r2.ebuild 5735 SHA256 126052b99bd9df4bb5383237b49c6aeb781bf3a7216aa6408d1794c2ba94a919 SHA512 63463bf01f25749e8bf222a9dbf7b4ee517c86f5ecb5c9a998ae09684876ab3b93e34f43905a6df98a9b9ff6f314b6d1e812a13b5c698feccca0e18341fa8736 WHIRLPOOL 7e5b1a001c7d0e7c3e6d858d931ce5a61d411e22e091304dafb7fb1e7689fa051a829f6a87a182d645e75cfededbbbfd8f24fb146ef80939bf3f87891b93a8c6 -MISC ChangeLog 12944 SHA256 81ac49edbdc96e4b328d3975ff6291b40a3b29e43c1a6b87bc741cf50964ae94 SHA512 fda83949240ed7b6f8908c8a18b3aad11ec3f8d4a0549d9e498ff971ea6a91c2d71b157534ffa682373baeb1de16b58e98882a689e54fb366c5177233dd5aa7d WHIRLPOOL d79a57f140499b1848fe6178e8c90a26e8fe96a8e55ade92fa42d0f3baac7eb2ef8c7913a39be907e1d240aba9e1511f691e26e93739570ee2b1266f6379e49d +EBUILD lxc-1.1.0-r3.ebuild 6059 SHA256 9c2305fe8a109278f9e0895ff165021ae982241518b23a990641c4598cb9b017 SHA512 6f01385362e05e08aff0dcf21fb4631ee36945b27c7f8af71da206c47e19d5f21056d564ffd22b633ba25c0874d4cd2675a8b580a53ee6566597bcdffdf1f1dc WHIRLPOOL e09a65a8e5fc78948bb43afa536de8508e2530bc119eb34e400f878c9d414e09f102b9802aab6fc217b18c799290356373fe5c95819f8e7e47733247517f93db +MISC ChangeLog 13224 SHA256 58387fc8be0afe4a104bce0d280ba905520d0cd11aedb2b407ee661cc444fd03 SHA512 2d6f46ab193bd6286cc74a76bdcfb495f12db8099f2232ea6f4b251421eac4c966d83c75672d399f62b1162efd9d0ddcc9cf053c338c5f0dc1774cfa72861cfd WHIRLPOOL 6be89d7137920a312f2f2e0ac8b3495de6f40a60ea2b9608145ab1ad29214fd5fd137abc6960719b650033b15c56a1b7e735adbf10e49f5d7ef208d7b47c2203 MISC metadata.xml 602 SHA256 9499be0ed7a430f9b8492a9db1dbebd9eff3c495962882c6c6e35c96f3cbc5d6 SHA512 fa7af1390b3e60c04dfa085654d68e121b476ed1e92e367d9b9aab2aabd6b8e8b028db9704161c1da25b3b62fce268ef503eea229da37a3f09fb1235c78847fb WHIRLPOOL 9760914ec9365c7c5f904fee3282b942b37b7afc723cc00694ddf0705c052f32b5328eff26517d3e668676ffe92f6a117abe25e5e5373deda2adea61c607fc15 diff --git a/app-emulation/lxc/files/lxc-1.1.0-fix-gentoo-template.patch b/app-emulation/lxc/files/lxc-1.1.0-fix-gentoo-template.patch new file mode 100644 index 000000000000..35141863c0d7 --- /dev/null +++ b/app-emulation/lxc/files/lxc-1.1.0-fix-gentoo-template.patch @@ -0,0 +1,35 @@ +From 425aa66d33e1833cfa47b988785def8b42b72f1a Mon Sep 17 00:00:00 2001 +From: Markos Chandras +Date: Sun, 22 Feb 2015 01:25:36 +0200 +Subject: [PATCH] templates/lxc-gentoo.in: Fix stage3 autodetection code + +The latest-stage3-$variant.txt files list both the tarball name +and the released date but we only need to pass the stage3 tarball +name to the subsequent wget command otherwise we end up with 404 +errors. + +Signed-off-by: Markos Chandras +--- +Different patches have been posted to the mailing lists or github so this is +likely to be fixed upstream really soon +--- + templates/lxc-gentoo.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/templates/lxc-gentoo.in b/templates/lxc-gentoo.in +index 5a87866..464c948 100644 +--- a/templates/lxc-gentoo.in ++++ b/templates/lxc-gentoo.in +@@ -160,7 +160,8 @@ cache_stage3() + printf "Determining path to latest Gentoo %s (%s) stage3 archive...\n" "${arch}" "${variant}" + printf " => downloading and processing %s\n" "${stage3_pointer}" + +- local stage3_latest_tarball=$(wget -q -O - "${stage3_pointer}" | tail -n1 ) \ ++ local stage3_latest_tarball=$(wget -q -O - "${stage3_pointer}" | \ ++ tail -n1 | cut -d " " -f 1) \ + || die 6 "Error: unable to fetch\n" + + printf " => Got: %s\n" "${stage3_latest_tarball}" +-- +2.3.0 + diff --git a/app-emulation/lxc/lxc-1.1.0-r3.ebuild b/app-emulation/lxc/lxc-1.1.0-r3.ebuild new file mode 100644 index 000000000000..9d83488db437 --- /dev/null +++ b/app-emulation/lxc/lxc-1.1.0-r3.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/lxc/lxc-1.1.0-r3.ebuild,v 1.1 2015/02/23 20:18:38 hwoarang Exp $ + +EAPI="5" + +MY_P="${P/_/-}" +PYTHON_COMPAT=( python{3_2,3_3,3_4} ) +DISTUTILS_OPTIONAL=1 + +inherit autotools bash-completion-r1 distutils-r1 eutils linux-info versionator flag-o-matic systemd + +DESCRIPTION="LinuX Containers userspace utilities" +HOMEPAGE="https://linuxcontainers.org/" +SRC_URI="https://github.com/lxc/lxc/archive/${MY_P}.tar.gz" + +KEYWORDS="~amd64" + +LICENSE="LGPL-3" +SLOT="0" +IUSE="cgmanager doc examples lua python seccomp" + +RDEPEND="net-libs/gnutls + sys-libs/libcap + cgmanager? ( app-admin/cgmanager ) + lua? ( >=dev-lang/lua-5.1 ) + python? ( ${PYTHON_DEPS} ) + seccomp? ( sys-libs/libseccomp )" + +DEPEND="${RDEPEND} + doc? ( app-text/docbook-sgml-utils ) + >=sys-kernel/linux-headers-3.2" + +RDEPEND="${RDEPEND} + sys-process/criu + sys-apps/util-linux + app-misc/pax-utils + virtual/awk" + +CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE + ~CPUSETS ~CGROUP_CPUACCT + ~RESOURCE_COUNTERS + ~CGROUP_SCHED + + ~NAMESPACES + ~IPC_NS ~USER_NS ~PID_NS + + ~NETLINK_DIAG ~PACKET_DIAG + ~INET_UDP_DIAG ~INET_TCP_DIAG + ~UNIX_DIAG ~CHECKPOINT_RESTORE + + ~DEVPTS_MULTIPLE_INSTANCES + ~CGROUP_FREEZER + ~UTS_NS ~NET_NS + ~VETH ~MACVLAN + + ~POSIX_MQUEUE + ~!NETPRIO_CGROUP + + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS +" + +ERROR_DEVPTS_MULTIPLE_INSTANCES="CONFIG_DEVPTS_MULTIPLE_INSTANCES: needed for pts inside container" + +ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" + +ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" +ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" + +ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" +ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" + +ERROR_NETLINK_DIAG="CONFIG_NETLINK_DIAG: needed for lxc-checkpoint" +ERROR_PACKET_DIAG="CONFIG_PACKET_DIAG: needed for lxc-checkpoint" +ERROR_INET_UDP_DIAG="CONFIG_INET_UDP_DIAG: needed for lxc-checkpoint" +ERROR_INET_TCP_DIAG="CONFIG_INET_TCP_DIAG: needed for lxc-checkpoint" +ERROR_UNIX_DIAG="CONFIG_UNIX_DIAG: needed for lxc-checkpoint" +ERROR_CHECKPOINT_RESTORE="CONFIG_CHECKPOINT_RESTORE: needed for lxc-checkpoint" + +ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" + +ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting." + +ERROR_GRKERNSEC_CHROOT_MOUNT="CONFIG_GRKERNSEC_CHROOT_MOUNT: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_CHROOT_DOUBLE="CONFIG_GRKERNSEC_CHROOT_DOUBLE: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_CHROOT_PIVOT="CONFIG_GRKERNSEC_CHROOT_PIVOT: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_CHROOT_CHMOD="CONFIG_GRKERNSEC_CHROOT_CHMOD: some GRSEC features make LXC unusable see postinst notes" +ERROR_GRKERNSEC_CHROOT_CAPS="CONFIG_GRKERNSEC_CHROOT_CAPS: some GRSEC features make LXC unusable see postinst notes" + +DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt) + +S="${WORKDIR}/${PN}-${MY_P}" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +src_prepare() { + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die + if [[ -n ${BACKPORTS} ]]; then + epatch "${WORKDIR}"/patches/* + fi + + epatch "${FILESDIR}"/${PN}-1.0.6-bash-completion.patch + epatch "${FILESDIR}"/${P}-fix-gentoo-template.patch + + eautoreconf +} + +src_configure() { + append-flags -fno-strict-aliasing + + # I am not sure about the --with-rootfs-path + # /var/lib/lxc is probably more appropriate than + # /usr/lib/lxc. + econf \ + --localstatedir=/var \ + --bindir=/usr/sbin \ + --docdir=/usr/share/doc/${PF} \ + --with-config-path=/var/lib/lxc \ + --with-rootfs-path=/var/lib/lxc/rootfs \ + --with-distro=gentoo \ + --with-runtime-path=/run \ + --disable-apparmor \ + $(use_enable cgmanager) \ + $(use_enable doc) \ + $(use_enable examples) \ + $(use_enable lua) \ + --disable-python \ + $(use_enable seccomp) +} + +python_compile() { + distutils-r1_python_compile build_ext -I ../ -L ../${PN} +} + +src_compile() { + default + + if use python; then + pushd "${S}/src/python-${PN}" > /dev/null + distutils-r1_src_compile + popd > /dev/null + fi +} + +src_install() { + default + + mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die + bashcomp_alias ${PN}-start \ + ${PN}-{attach,cgroup,clone,console,create,destroy,device,execute,freeze,info,monitor,snapshot,start-ephemeral,stop,unfreeze,wait} + + if use python; then + pushd "${S}/src/python-lxc" > /dev/null + # Unset DOCS. This has been handled by the default target + unset DOCS + distutils-r1_src_install + popd > /dev/null + fi + + keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc + + find "${D}" -name '*.la' -delete + + # Gentoo-specific additions! + # Use initd.3 per #517144 + newinitd "${FILESDIR}/${PN}.initd.3" ${PN} + + # lxc-devsetup script + exeinto /usr/libexec/${PN} + doexe config/init/systemd/${PN}-devsetup + # Remember to compare our systemd unit file with the upstream one + # config/init/systemd/lxc.service.in + systemd_newunit "${FILESDIR}"/${PN}_at.service.2 "lxc@.service" +} + +pkg_postinst() { + elog "" + elog "Starting from version ${PN}-1.1.0-r3, the default lxc path has been" + elog "moved from /etc/lxc to /var/lib/lxc. If you still want to use /etc/lxc" + elog "please add the following to your /etc/lxc/default.conf" + elog "lxc.lxcpath = /etc/lxc" + elog "" + elog "There is an init script provided with the package now; no documentation" + elog "is currently available though, so please check out /etc/init.d/lxc ." + elog "You _should_ only need to symlink it to /etc/init.d/lxc.configname" + elog "to start the container defined into /etc/lxc/configname.conf ." + elog "For further information about LXC development see" + elog "http://blog.flameeyes.eu/tag/lxc" # remove once proper doc is available + elog "" +}