Skip to content

Commit

Permalink
app-emulation/lxc: Version bump. Bug #565688
Browse files Browse the repository at this point in the history
Package-Manager: portage-2.2.26
  • Loading branch information
Markos Chandras committed Dec 6, 2015
1 parent d90691b commit e508747
Show file tree
Hide file tree
Showing 4 changed files with 424 additions and 0 deletions.
2 changes: 2 additions & 0 deletions app-emulation/lxc/Manifest
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
DIST lxc-1.0.6.tar.gz 561249 SHA256 2aea199a89e2cd946f93406af6c3f62844f36954b79a6991b36d2c33022cb11c SHA512 fe85ccb57865d86704df6b4b79d60f31892785b07dc9dd2580cc6c384c89c29c23516e906b7a16bc03c6582c1fb2432bb8ff11bd17c09efa8f6a035fb41f46b1 WHIRLPOOL 9e77453fbe31523a2e8f39cfaba6f09fef68d00b54549167a0cde56c00934f827f5b4190b9fb64242f36782a9fcda63e6796c35fd47420870c2cee7b9bc0a1c8
DIST lxc-1.0.7.tar.gz 564985 SHA256 a0b1b09592e076e270dcb3ba004616d9ac3147f9de0b78ca39a30f8956b0a8f2 SHA512 e6ff42a7b41177e1be0d2cd47d4c554565c7fc35355f3aa8aeba00d4adc7a0f364ecd060ddb6c97b2fe5968329c4e4c4b3cb022bffd2da145f30880f077264a8 WHIRLPOOL f07e5e9efb8ff394aa9cdd6c3e725b453c8137ec221399cbf910d57dbc9268fc84e7227273567792821415dc14e774942b76a58a1a478de57d5c82e545702000
DIST lxc-1.0.8.tar.gz 575127 SHA256 399ac3eb4e0a89d657fb2e2a57f686ed061d3f1ea4733e7521b1539e9906c7ee SHA512 f552a4f48bb47d26c6b9ddaf8221a439c0848e3f54ec41b77d54717c21bddd56193941046cc96c699790e8265e762a926469c25ee687adcf7795f2906b1c260a WHIRLPOOL 72cd0b8b0345692dd9a3ed8785ee27f5e575794a96c515db1f1d073c29be4c06ae8c1ee24fa375a5ede2bba2494704916710b2e8814ed991d43330a40dff3d56
DIST lxc-1.1.0.tar.gz 592543 SHA256 216e806f7e18e5bfbc782493a9e44fc255f24a587d6faee94cda848a0b949155 SHA512 160da88d6dc96cd9f0679f948bfed057c024adcd459fa4b79e872d12284fa3774ac33a13923c6e150072886a371ccfcdf7ab2c4587efa7f6175fc91a67525c4a WHIRLPOOL 2caf81418850ea8b1ecf25b25e799895563ecf1819f32310fcbb4efe88f711eafe2bcb16a0d3b8ee59072c770a5520b4df90a5962215b932e68a4705c4a56d61
DIST lxc-1.1.1.tar.gz 594112 SHA256 64951fdd39df2bea083bb5a8ac35a7390daf2dc7753d8fce33138129892ef672 SHA512 8af3fb43127b57de4e252baf5cb387270955062ff3838e4807a93d04520ca23f0457913bc8274da51b20961fb08650f9b976a84d395785aca2b2d300b285d549 WHIRLPOOL 4f28b976dd6710705d6361b9a45fef9a1265dffef0cedd0fb304f2820585ece3e2bb64d4c5289d444b3ab55bac265850943c63cdf258c40c45c99176a788ca2a
DIST lxc-1.1.2.tar.gz 597158 SHA256 f22fcf2659ca98dfe864e632374de98c42cdf465d0c694834b6f6098a3cb8519 SHA512 7c4c9b5418321eedcd37a3f5c2c99ff227de48f672cabd1722a74722077d33badb038675ec95fc3e338eaf2b06972c4ffb2e11f36347587ef71a95fad5b66daa WHIRLPOOL 2b657a9195b6357a367f6aa7609952d9162aae7d7be3f2c5e4cda4b2e81f2c7411835e75af5740cca053d445a3cf7dc7457f9e76ca866de7265e99ed42c744e9
DIST lxc-1.1.3.tar.gz 599889 SHA256 b75fb8e376d3313e152f31fb7372b68f33a953a12191a39de4cded04fff94300 SHA512 cafa4fbe4fe23b8c0b98007a79f20899c4a3b98c51d797b9c16e38dfec1eee5a513b58621308fe6551707d38028d9e5bd78ade8822691ffe4a7a369b10a48dda WHIRLPOOL 04ad57d8b189ab089b27adad8e511dcc2e5c563505f8134323ac9d738283bd5d0d929ebadeb69cd49ea68ea3e182f22c72590505cbf6f9d8438112e46909e1b5
DIST lxc-1.1.4.tar.gz 604167 SHA256 b087baf5ac4b94618388e6e759d9cdafcf5c98ed67bf9012ee9660076f9fb0d1 SHA512 b239c285b68ddb25c165e998307d69b368bb802e89c1e26de9daab956ffc05cb8e80bf7c796233552b08a57d1cc37c22777bb7a7469db111582184ee13272c93 WHIRLPOOL 2d69d0540c15274627cdbd0f1944a119b601e1298b9328ba336beae0aa6bffd62dfdf85af82f54c3926489e19b4cee7eaa6c35bcfb72e4b3904f85102055ae85
DIST lxc-1.1.5.tar.gz 607219 SHA256 eefce4cc679656cb8636bf0849f3ba6981c48167884e13dbcb377820a717c09c SHA512 e48ab549f1317afcb5f7768ab988ba27a3e9f1458504e1d70b2e27c502233e7b3538b8ce0b79940140a59a37681bcd8e459416e814f9e4814a4ed86b89e8df1c WHIRLPOOL 0d65ec400913b3298517ba0cb50e064b894d8b26cbd331662e11caee285a37aa1e0d1e4623b69e75585c4369544ca02ff97db90d5127c697cd53fde87d2bc968
35 changes: 35 additions & 0 deletions app-emulation/lxc/files/lxc-1.0.8-bash-completion.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Index: lxc-lxc-1.0.8/config/bash/Makefile.am
===================================================================
--- lxc-lxc-1.0.8.orig/config/bash/Makefile.am
+++ lxc-lxc-1.0.8/config/bash/Makefile.am
@@ -2,12 +2,12 @@ EXTRA_DIST = lxc

if ENABLE_BASH
install-bash:
- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/bash_completion.d/
- $(INSTALL_DATA) lxc $(DESTDIR)$(sysconfdir)/bash_completion.d/
+ $(MKDIR_P) $(DESTDIR)$(datarootdir)/bash-completion/completions/
+ $(INSTALL_DATA) lxc $(DESTDIR)$(datarootdir)/bash-completion/completions/

uninstall-bash:
- rm -f $(DESTDIR)$(sysconfdir)/bash_completion.d/lxc
- rmdir $(DESTDIR)$(sysconfdir)/bash_completion.d/ || :
+ rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/lxc
+ rmdir $(DESTDIR)$(datarootdir)/bash-completion// || :

install-data-local: install-bash
uninstall-local: uninstall-bash
Index: lxc-lxc-1.0.8/config/bash/lxc.in
===================================================================
--- lxc-lxc-1.0.8.orig/config/bash/lxc.in
+++ lxc-lxc-1.0.8/config/bash/lxc.in
@@ -1,4 +1,3 @@
-have lxc-start && {
_lxc_names() {
COMPREPLY=( $( compgen -W "$( lxc-ls )" "$cur" ) )
}
@@ -100,4 +99,3 @@ have lxc-start && {

complete -o default -F _lxc_generic_o lxc-clone
complete -o default -F _lxc_generic_o lxc-start-ephemeral
-}
189 changes: 189 additions & 0 deletions app-emulation/lxc/lxc-1.0.8.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="5"

MY_P="${P/_/-}"
PYTHON_COMPAT=( python{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 ~arm ~arm64 ~ppc64 ~x86"

LICENSE="LGPL-3"
SLOT="0"
IUSE="doc examples lua python seccomp"

RDEPEND="net-libs/gnutls
sys-libs/libcap
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-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
~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
~!GRKERNSEC_PROC
"

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_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"
ERROR_GRKERNSEC_PROC=":CONFIG_GRKERNSEC_PROC: this GRSEC feature is incompatible with unprivileged containers"

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.8-bash-completion.patch

eautoreconf
}

src_configure() {
append-flags -fno-strict-aliasing

econf \
--localstatedir=/var \
--bindir=/usr/sbin \
--docdir=/usr/share/doc/${PF} \
--with-config-path=/etc/lxc \
--with-rootfs-path=/usr/lib/lxc/rootfs \
--with-distro=gentoo \
$(use_enable doc) \
--disable-apparmor \
$(use_enable examples) \
$(use_enable lua) \
$(use_enable seccomp) \
--disable-python
}

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 /usr/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
# Use that script with the systemd service (Similar to upstream
# Makefile.am
cp "${FILESDIR}"/${PN}_at.service ${PN}_at.service || die
sed -i \
"/Restart=always/a ExecStartPre=/usr/libexec/${PN}/${PN}-devsetup" \
${PN}_at.service \
|| die "Failed to add ${PN}-devsetup to the systemd service file"
systemd_newunit ${PN}_at.service "[email protected]"
}

pkg_postinst() {
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 ""
ewarn "With version 0.7.4, the mountpoint syntax came back to the one used by 0.7.2"
ewarn "and previous versions. This means you'll have to use syntax like the following"
ewarn ""
ewarn " lxc.rootfs = /container"
ewarn " lxc.mount.entry = /usr/portage /container/usr/portage none bind 0 0"
ewarn ""
ewarn "To use the Fedora, Debian and (various) Ubuntu auto-configuration scripts, you"
ewarn "will need sys-apps/yum or dev-util/debootstrap."
ewarn ""
ewarn "Some GrSecurity settings in relation to chroot security will cause LXC not to"
ewarn "work, while others will actually make it much more secure. Please refer to"
ewarn "Diego Elio Pettenò's weblog at http://blog.flameeyes.eu/tag/lxc for further"
ewarn "details."
}
Loading

0 comments on commit e508747

Please sign in to comment.