
Receipt for package “lxc”
# SliTaz package receipt. PACKAGE="lxc" VERSION="5.0.3" CATEGORY="system-tools" SHORT_DESC="Userspace control package for Linux Containers." MAINTAINER="maintainer@slitaz.org" LICENSE="LGPL2.1" WEB_SITE="https://linuxcontainers.org/lxc/" TARBALL="$PACKAGE-$VERSION.tar.gz" WGET_URL="https://linuxcontainers.org/downloads/$PACKAGE/$TARBALL" DEPENDS="bridge-utils gcc-lib-base gnutls iptables libcap \ linux-bridge linux-netfilter perl util-linux-getopt libseccomp \ busybox-pam shadow" BUILD_DEPENDS="meson gnutls-dev libcap-dev openssl-dev \ libseccomp-dev pam-dev util-linux-getopt" HOST_ARCH="i486 x86_64" # What is the latest version available today? current_version() { wget -O - https://linuxcontainers.org/lxc/downloads/ 2>/dev/null | \ sed '/\/lxc-[0-9]/!d;s|.*lxc-||;s|.tar.*||;q' } # Rules to configure and make the package. compile_rules() { # Workaround, with lxc > 4.x we have flood cc1 about miss usr/include CFLAGS="$CFLAGS -Wno-missing-include-dirs" meson _build \ --prefix=/usr \ --libdir=lib \ --libexecdir=/usr/lib \ --bindir=/usr/bin \ --sbindir=/usr/sbin \ --sysconfdir=/etc \ --buildtype=release \ -Ddistrosysconfdir=/etc/default \ -Dglobal-config-path=/etc/lxc \ -Drootfs-mount-path=/var/lib/lxc \ -Dapparmor=false \ -Dselinux=false \ -Dman=false \ -Dpam-cgroup=true \ -Dinit-script=sysvinit ninja -C _build DESTDIR=$install ninja -C _build install } # Rules to gen a SliTaz package suitable for Tazpkg. genpkg_rules() { mkdir -p $fs/lib $fs/etc/init.d $fs/usr/share cp -a $install/usr/share/lxc $fs/usr/share cook_copy_folders bin cook_copy_folders lib rm -rf $fs/usr/lib/pkgconfig cp -a $install/etc/default $fs/etc cp -a $install/etc/lxc $fs/etc cook_copy_folders var sed -i -e 's/^is_set(/zgrep() { zcat | grep "$@"; }\n\n&/' \ -e 's/\(.*\$GREP .*\)\(\$CONFIG.*\)/\1< \2/' \ $fs/usr/bin/lxc-checkconfig chmod +x $fs/usr/bin/lxc-* # Copy stuff for cgroupfs cp -a $stuff/cgroupfs-* $fs/usr/bin chmod +x $fs/usr/bin/cgroupfs-* cp -a $stuff/cgroupfs $fs/etc/init.d ## Copy necessary stuff for unprivileged containers # Move pam_cgfs.so to /lib/security mv $fs/usr/lib/security $fs/lib chmod +x $fs/lib/security/pam_cgfs.so cp $stuff/lxc-usernet $fs/etc/lxc mkdir $fs/usr/share/lxc/examples cp $stuff/default-unprivileged.conf $fs/usr/share/lxc/examples cp $stuff/sub*id $fs/etc # Ensure cgroup mounted inside containers sed -i 's/cgroup:mixed/cgroup:mixed:force/g' $fs/usr/share/lxc/templates/lxc-* } post_install() { # Ensure br_netfilter module loaded at startup if ! grep -q br_netfilter $1/etc/rcS.conf; then sed -i 's/LOAD_MODULES="/&br_netfilter /' "$1/etc/rcS.conf" fi modprobe br_netfilter grep ^RUN_DAEMONS "$1/etc/rcS.conf" | grep -q "cgroupfs" || sed -i \ 's/RUN_DAEMONS="/&cgroupfs /' "$1/etc/rcS.conf" grep -q 'pam_cgfs.so' "$1/etc/pam.d/login" || cat <<EOT >> "$1/etc/pam.d/login" session required pam_cgfs.so -c freezer,cpu,cpuset,memory EOT # mount cgroup hierarchy $1/etc/init.d/cgroupfs start [ -n "$1" ] && return lxc-checkconfig | tee /dev/stderr | grep -q required && cat <<EOT You have to fix your kernel configuration first to use lxc ! EOT } pre_remove() { sed -i "s/cgroupfs //" "$1/etc/rcS.conf" sed -i '/pam_cgfs/d' "$1/etc/pam.d/login" }
6107 packages and 261132 files in current database (Mon 07 Jul 2025 12:01:25 AM UTC)