forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- clean kernel config checks, remove some old. Signed-off-by: Joonas Niilola <[email protected]>
- Loading branch information
Showing
2 changed files
with
172 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST lxc-4.0.3.tar.gz 1368461 BLAKE2B 861bd8f3736ecda9075c57338845d386811ae3aeceb72cd054023a25a9758d5d7c9ceec917fc634c118a13f8fb142b28bd93f27138b9ee1d0817f8360fda88da SHA512 a5d45626b1f26c0f098f6f0f5852472ea065f65f9918b972826e087a9a71a34253c85dd6f1b6b6837ca97303f8d43478a66595057d65a6e72a72334a3257ef88 | ||
DIST lxc-4.0.4.tar.gz 844684 BLAKE2B 438f9c79787cfab493a159a03dad214519b979c192264cb4acff21174f5642e2c10a899504ed2ac697906ca1ea9ad5cd92e01dbb8c6420651e7130b56022032a SHA512 5c5bb3c474b37284e862cbaf35daab01be7606992eb101cbea7097951ccee81dad8ab8d2624ba5f62279ece17889b1245fd6b2b63e8b17ed728560c5d40309b2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,171 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
inherit autotools bash-completion-r1 linux-info flag-o-matic pam readme.gentoo-r1 systemd | ||
|
||
DESCRIPTION="LinuX Containers userspace utilities" | ||
HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc" | ||
SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz | ||
https://github.com/lxc/lxc/archive/${P}.tar.gz" | ||
|
||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" | ||
|
||
LICENSE="LGPL-3" | ||
SLOT="0" | ||
IUSE="apparmor +caps doc examples libressl pam seccomp selinux +ssl +templates +tools" | ||
|
||
RDEPEND="app-misc/pax-utils | ||
sys-apps/util-linux | ||
sys-libs/libcap | ||
virtual/awk | ||
caps? ( sys-libs/libcap ) | ||
pam? ( sys-libs/pam ) | ||
seccomp? ( sys-libs/libseccomp ) | ||
selinux? ( sys-libs/libselinux ) | ||
ssl? ( | ||
!libressl? ( dev-libs/openssl:0= ) | ||
libressl? ( dev-libs/libressl:0= ) | ||
)" | ||
DEPEND="${RDEPEND} | ||
>=app-text/docbook-sgml-utils-0.6.14-r2 | ||
>=sys-kernel/linux-headers-3.2 | ||
apparmor? ( sys-apps/apparmor )" | ||
BDEPEND="doc? ( app-doc/doxygen )" | ||
PDEPEND="templates? ( app-emulation/lxc-templates )" | ||
|
||
CONFIG_CHECK="~!NETPRIO_CGROUP | ||
~CGROUPS | ||
~CGROUP_CPUACCT | ||
~CGROUP_DEVICE | ||
~CGROUP_FREEZER | ||
~CGROUP_SCHED | ||
~CPUSETS | ||
~IPC_NS | ||
~MACVLAN | ||
~MEMCG | ||
~NAMESPACES | ||
~NET_NS | ||
~PID_NS | ||
~POSIX_MQUEUE | ||
~USER_NS | ||
~UTS_NS | ||
~VETH" | ||
|
||
ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers" | ||
ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking" | ||
ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers" | ||
ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network" | ||
ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command" | ||
ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info" | ||
ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking" | ||
|
||
DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt ) | ||
|
||
pkg_setup() { | ||
linux-info_pkg_setup | ||
} | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${PN}-3.0.0-bash-completion.patch | ||
"${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854 | ||
) | ||
|
||
S="${WORKDIR}/lxc-${P}" | ||
|
||
src_prepare() { | ||
default | ||
eautoreconf | ||
} | ||
|
||
src_configure() { | ||
append-flags -fno-strict-aliasing | ||
|
||
# --enable-doc is for manpages which is why we don't link it to a "doc" | ||
# USE flag. We always want man pages. | ||
local myeconfargs=( | ||
--bindir=/usr/bin | ||
--localstatedir=/var | ||
--sbindir=/usr/bin | ||
|
||
--with-config-path=/var/lib/lxc | ||
--with-distro=gentoo | ||
--with-init-script=systemd | ||
--with-rootfs-path=/var/lib/lxc/rootfs | ||
--with-runtime-path=/run | ||
--with-systemdsystemunitdir=$(systemd_get_systemunitdir) | ||
|
||
--disable-asan | ||
--disable-coverity-build | ||
--disable-dlog | ||
--disable-mutex-debugging | ||
--disable-rpath | ||
--disable-tests | ||
--disable-ubsan | ||
--disable-werror | ||
|
||
--enable-bash | ||
--enable-commands | ||
--enable-doc | ||
--enable-memfd-rexec | ||
--enable-thread-safety | ||
|
||
$(use_enable apparmor) | ||
$(use_enable caps capabilities) | ||
$(use_enable doc api-docs) | ||
$(use_enable examples) | ||
$(use_enable pam) | ||
$(use_enable seccomp) | ||
$(use_enable selinux) | ||
$(use_enable ssl openssl) | ||
$(use_enable tools) | ||
|
||
$(use_with pam pamdir $(getpam_mod_dir)) | ||
) | ||
|
||
econf "${myeconfargs[@]}" | ||
} | ||
|
||
src_install() { | ||
default | ||
|
||
mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die | ||
bashcomp_alias ${PN}-start \ | ||
${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait} | ||
|
||
keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc | ||
rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed" | ||
|
||
find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die | ||
|
||
# Gentoo-specific additions! | ||
newinitd "${FILESDIR}/${PN}.initd.8" ${PN} | ||
|
||
# Remember to compare our systemd unit file with the upstream one | ||
# config/init/systemd/lxc.service.in | ||
systemd_newunit "${FILESDIR}"/${PN}_at.service.4.0.0 "[email protected]" | ||
|
||
DOC_CONTENTS=" | ||
For openrc, there is an init script provided with the package. | ||
You _should_ only need to symlink /etc/init.d/lxc to | ||
/etc/init.d/lxc.configname to start the container defined in | ||
/etc/lxc/configname.conf. | ||
Correspondingly, for systemd a service file [email protected] is installed. | ||
Enable and start lxc@configname in order to start the container defined | ||
in /etc/lxc/configname.conf. | ||
If you want checkpoint/restore functionality, please install criu | ||
(sys-process/criu)." | ||
DISABLE_AUTOFORMATTING=true | ||
readme.gentoo_create_doc | ||
} | ||
|
||
pkg_postinst() { | ||
readme.gentoo_print_elog | ||
} |