config/libtool.m4
config/lt*.m4
config/bash/lxc
+config/init/common/lxc-containers
+config/init/common/lxc-net
config/init/systemd/lxc-autostart-helper
-config/init/systemd/lxc.service
config/init/systemd/lxc-net.service
+config/init/systemd/lxc.service
config/init/sysvinit/lxc
+config/init/sysvinit/lxc-containers
+config/init/sysvinit/lxc-net
+config/sysconfig/lxc
doc/*.1
doc/*.5
# If you want to kill containers fast, use -k
STOPOPTS="-a -A -s"
-# Source function library.
-test ! -r "$sysconfdir"/rc.d/init.d/functions ||
- . "$sysconfdir"/rc.d/init.d/functions
-
-# provide action() fallback
-if ! type action >/dev/null 2>&1; then
- # Real basic fallback for sysvinit "action" verbage.
- action() {
- echo -n "$1 "
- "$@" && echo "OK" || echo "Failed"
- }
-fi
-
if [ -d "$localstatedir"/lock/subsys ]
then
lockdir="$localstatedir"/lock/subsys
wait_for_bridge
# Start autoboot containers first then the NULL group "onboot,".
- action $"Starting LXC autoboot containers: " "$bindir"/lxc-autostart $OPTIONS $BOOTGROUPS
+ "$bindir"/lxc-autostart $OPTIONS $BOOTGROUPS
touch "$lockdir"/lxc
;;
# The stop is serialized and can take excessive time. We need to avoid
# delaying the system shutdown / reboot as much as we can since it's not
# parallelized... Even 5 second timout may be too long.
- action $"Stopping LXC containers: " "$bindir"/lxc-autostart $STOPOPTS $SHUTDOWNDELAY
+ "$bindir"/lxc-autostart $STOPOPTS $SHUTDOWNDELAY
rm -f "$lockdir"/lxc
;;
# Description: Bring up/down LXC autostart containers
### END INIT INFO
+sysconfdir="@SYSCONFDIR@"
+
+# Source function library.
+test ! -r "$sysconfdir"/rc.d/init.d/functions ||
+ . "$sysconfdir"/rc.d/init.d/functions
+
+# provide action() fallback
+if ! type action >/dev/null 2>&1; then
+ # Real basic fallback for sysvinit "action" verbage.
+ action() {
+ echo -n "$1 "
+ shift
+ "$@" && echo "OK" || echo "Failed"
+ }
+fi
+
start() {
- @LIBEXECDIR@/lxc/lxc-containers start
+ action $"Starting LXC autoboot containers: " @LIBEXECDIR@/lxc/lxc-containers start
}
stop() {
- @LIBEXECDIR@/lxc/lxc-containers stop
+ action $"Stopping LXC containers: " @LIBEXECDIR@/lxc/lxc-containers stop
}
# See how we were called.
#
# lxc-net Start/Stop LXC Networking
#
-# chkconfig: 345 99 01
+# chkconfig: 345 98 01
# description: Starts/Stops LXC Network Bridge
#
### BEGIN INIT INFO
# Description: Bring up/down LXC Network Bridge
### END INIT INFO
+sysconfdir="@SYSCONFDIR@"
+
+# Source function library.
+test ! -r "$sysconfdir"/rc.d/init.d/functions ||
+ . "$sysconfdir"/rc.d/init.d/functions
+
+# provide action() fallback
+if ! type action >/dev/null 2>&1; then
+ # Real basic fallback for sysvinit "action" verbage.
+ action() {
+ echo -n "$1 "
+ shift
+ "$@" && echo "OK" || echo "Failed"
+ }
+fi
+
start() {
- @LIBEXECDIR@/lxc/lxc-net start
+ action $"Starting LXC network bridge: " @LIBEXECDIR@/lxc/lxc-net start
}
stop() {
- @LIBEXECDIR@/lxc/lxc-net stop
+ action $"Stopping LXC network bridge: " @LIBEXECDIR@/lxc/lxc-net stop
}
# See how we were called.
%define init_script sysvinit
%endif
+# Must use /var/run for runtime_path on older releases or dnsmasq in the
+# lxc-net script will not be able to write its pid in /run (selinux denial)
+%if 0%{?fedora} < 15 || 0%{?rhel} < 7
+%define _with_runtime_path --with-runtime-path=/var/run
+%endif
+
# RPM needs alpha/beta/rc in Release: not Version: to ensure smooth
# package upgrades from alpha->beta->rc->release. For more info see:
# http://fedoraproject.org/wiki/Packaging%3aNamingGuidelines#NonNumericRelease
Group: Applications/System
License: LGPLv2+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Requires: openssl rsync dnsmasq
+Requires: openssl rsync dnsmasq bridge-utils
+Requires(pre): /usr/sbin/useradd
+Requires(postun): /usr/sbin/userdel
+%if 0%{?fedora} < 15 || 0%{?rhel} < 7
+Requires: libcgroup
+%endif
# Note for Suse. The "docbook2X" BuildRequires does properly
# match docbook2x on Suse in a case insensitive manner
BuildRequires: libcap libcap-devel docbook2X graphviz libxslt pkgconfig
%if "x%{_unitdir}" != "x"
--with-systemdsystemunitdir=%{_unitdir} \
%endif
+ %{?_with_runtime_path} \
--disable-rpath \
--with-init-script=%{init_script}
make %{?_smp_mflags}
rm -rf %{buildroot}
%pre
-# Ensure that lxcdnsmasq uid & gid gets correctly allocated
+# Ensure that lxc-dnsmasq uid & gid gets correctly allocated
if getent passwd lxc-dnsmasq >/dev/null 2>&1 ; then : ; else \
/usr/sbin/useradd -M -r -s /sbin/nologin \
-c "LXC Networking Service" -d %_localstatedir/%name lxc-dnsmasq 2> /dev/null \
EOF
fi
+%postun
+/usr/sbin/userdel lxc-dnsmasq > /dev/null 2>&1 || :
+
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
fi
done
- mkdir -p @LOCALSTATEDIR@/lock/subsys/lxc
+ mkdir -p @LOCALSTATEDIR@/lock/subsys
(
flock -x 9
if [ $? -ne 0 ]; then