+# - update (cut down, include /usr/share/lxc/config/common.conf) default pld container config
+# NOTE:
+# - does not work properly (dead symlink /proc/self) with PLD kernel 4.1.13
+# but seems to work on 4.3.3, vserver issue ?
+#
-%bcond_without seccomp # SecComp syscall filter
-%bcond_without apparmor # apparmor
-%bcond_without lua # Lua binding
-%bcond_without python # Python binding
-%bcond_with selinux # SELinux
-%bcond_with cgmanager # Enable cgmanager (BR: libcgmanager, libnih >= 1.0.2, libnih-dbus >= 1.0.0, dbus-1 >= 1.2.16)
+%bcond_without seccomp # SecComp syscall filter
+%bcond_without apparmor # apparmor support
+%bcond_without lua # Lua binding
+%bcond_without python # Python binding
+%bcond_with selinux # SELinux support
+%bcond_with cgmanager # cgmanager support
Summary: Linux Containers userspace tools
Summary(pl.UTF-8): Narzędzia do kontenerów linuksowych (LXC)
Name: lxc
Summary: Linux Containers userspace tools
Summary(pl.UTF-8): Narzędzia do kontenerów linuksowych (LXC)
Name: lxc
-Source0: https://www.linuxcontainers.org/downloads/%{name}-%{version}.tar.gz
-# Source0-md5: 9d9af9e9e69a831cd50b58d91c786013
+Source0: https://linuxcontainers.org/downloads/lxc/%{name}-%{version}.tar.gz
+# Source0-md5: 5fd4b7af8026e8ae20b3065ee18fe974
-Source2: %{name}.init
-Patch1: %{name}-pld.patch
+# lxc-net based on bridge, macvlan is an alternative/supported lxc network
+Source2: %{name}_macvlan.sysconfig
+Source3: %{name}_macvlan
+Patch0: %{name}-pld.patch
+Patch1: %{name}-net.patch
-BuildRequires: docbook-dtd30-sgml
-BuildRequires: docbook-utils
-BuildRequires: docbook2X
+%{?with_cgmanager:BuildRequires: cgmanager-devel}
+%{?with_cgmanager:BuildRequires: dbus-devel >= 1.2.16}
+BuildRequires: docbook-dtd45-xml
+BuildRequires: docbook2X >= 0.8
+BuildRequires: doxygen
BuildRequires: gnutls-devel
%{?with_apparmor:BuildRequires: libapparmor-devel}
BuildRequires: libcap-devel
BuildRequires: gnutls-devel
%{?with_apparmor:BuildRequires: libapparmor-devel}
BuildRequires: libcap-devel
-%{?with_python:BuildRequires: python3-devel >= 3.2}
-BuildRequires: rpmbuild(macros) >= 1.612
+%{?with_python:BuildRequires: python3-devel >= 1:3.2}
+%{?with_python:BuildRequires: python3-modules >= 1:3.2}
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.671
+Requires(post): /sbin/ldconfig
+Requires(post,preun): /sbin/chkconfig
+Requires: %{name}-libs = %{version}-%{release}
+# lxc_macvlan script
+Requires: gawk
+# used in lxc-net script to set bridge nat
+Requires: iproute2
+Requires: iptables
utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
do czynności związanych z kontenerami, takich jak monitorowanie z
utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
do czynności związanych z kontenerami, takich jak monitorowanie z
pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
%package devel
Summary: Header files for lxc library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
Group: Development/Libraries
%package devel
Summary: Header files for lxc library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
Group: Development/Libraries
Summary: bash-completion for LXC
Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
Group: Applications/Shells
Summary: bash-completion for LXC
Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
Group: Applications/Shells
%{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
%{__enable_disable python} \
%{__enable_disable seccomp} \
%{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
%{__enable_disable python} \
%{__enable_disable seccomp} \
-install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
- -d $RPM_BUILD_ROOT/etc/rc.d/init.d
-
+install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
+ -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
# yum plugin, no idea where to package this
%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
# yum plugin, no idea where to package this
%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
-%{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua51,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
+%{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua5.1,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post
+/sbin/chkconfig --add lxc
+/sbin/chkconfig --add lxc-net
+%systemd_post lxc.service lxc-net.service
+
+%preun
+if [ "$1" = "0" ]; then
+ %service lxc stop
+ /sbin/chkconfig --del lxc
+ %service lxc-net stop
+ /sbin/chkconfig --del lxc-net
+fi
+%systemd_preun lxc.service lxc-net.service
+
+%postun
+%systemd_reload
+
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%files
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/lxc-autostart
%attr(755,root,root) %{_bindir}/lxc-cgroup
%attr(755,root,root) %{_bindir}/lxc-checkconfig
%attr(755,root,root) %{_bindir}/lxc-autostart
%attr(755,root,root) %{_bindir}/lxc-cgroup
%attr(755,root,root) %{_bindir}/lxc-checkconfig
-%attr(755,root,root) %{_bindir}/lxc-clone
+%attr(755,root,root) %{_bindir}/lxc-checkpoint
+%attr(755,root,root) %{_bindir}/lxc-copy
%attr(755,root,root) %{_bindir}/lxc-config
%attr(755,root,root) %{_bindir}/lxc-console
%attr(755,root,root) %{_bindir}/lxc-create
%attr(755,root,root) %{_bindir}/lxc-config
%attr(755,root,root) %{_bindir}/lxc-console
%attr(755,root,root) %{_bindir}/lxc-create
%attr(755,root,root) %{_bindir}/lxc-usernsexec
%attr(755,root,root) %{_bindir}/lxc-wait
%attr(755,root,root) %{_sbindir}/init.lxc
%attr(755,root,root) %{_bindir}/lxc-usernsexec
%attr(755,root,root) %{_bindir}/lxc-wait
%attr(755,root,root) %{_sbindir}/init.lxc
-%attr(755,root,root) %{_libdir}/%{name}/lxc-devsetup
+%attr(755,root,root) %{_libdir}/%{name}/lxc-apparmor-load
+%attr(755,root,root) %{_libdir}/%{name}/lxc-containers
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/lxc.functions
%dir %{_datadir}/%{name}/config
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/lxc.functions
%dir %{_datadir}/%{name}/config
%{_datadir}/%{name}/config/debian.*.conf
%{_datadir}/%{name}/config/fedora.*.conf
%{_datadir}/%{name}/config/gentoo.*.conf
%{_datadir}/%{name}/config/debian.*.conf
%{_datadir}/%{name}/config/fedora.*.conf
%{_datadir}/%{name}/config/gentoo.*.conf
%dir %{_datadir}/%{name}/templates
%attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
%attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
%attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
%attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
%attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
%dir %{_datadir}/%{name}/templates
%attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
%attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
%attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
%attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
%attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
%{_mandir}/man1/lxc-attach.1*
%{_mandir}/man1/lxc-autostart.1*
%{_mandir}/man1/lxc-cgroup.1*
%{_mandir}/man1/lxc-checkconfig.1*
%{_mandir}/man1/lxc-attach.1*
%{_mandir}/man1/lxc-autostart.1*
%{_mandir}/man1/lxc-cgroup.1*
%{_mandir}/man1/lxc-checkconfig.1*
%{_mandir}/man1/lxc-config.1*
%{_mandir}/man1/lxc-console.1*
%{_mandir}/man1/lxc-create.1*
%{_mandir}/man1/lxc-config.1*
%{_mandir}/man1/lxc-console.1*
%{_mandir}/man1/lxc-create.1*
%lang(ja) %{_mandir}/ja/man7/lxc.7*
%exclude %{_mandir}/ja/man1/lxc-device.1*
%exclude %{_mandir}/ja/man1/lxc-ls.1*
%lang(ja) %{_mandir}/ja/man7/lxc.7*
%exclude %{_mandir}/ja/man1/lxc-device.1*
%exclude %{_mandir}/ja/man1/lxc-ls.1*
+%lang(ko) %{_mandir}/ko/man1/lxc*.1*
+%lang(ko) %{_mandir}/ko/man5/lxc-usernet.5*
+%lang(ko) %{_mandir}/ko/man5/lxc.conf.5*
+%lang(ko) %{_mandir}/ko/man5/lxc.container.conf.5*
+%lang(ko) %{_mandir}/ko/man5/lxc.system.conf.5*
+%lang(ko) %{_mandir}/ko/man7/lxc.7*
+%exclude %{_mandir}/ko/man1/lxc-device.1*
+%exclude %{_mandir}/ko/man1/lxc-ls.1*
+%exclude %{_mandir}/ko/man1/lxc-top.1*
%if %{without python}
# legacy version
%attr(755,root,root) %{_bindir}/lxc-ls
%{_mandir}/man1/lxc-ls.1*
%if %{without python}
# legacy version
%attr(755,root,root) %{_bindir}/lxc-ls
%{_mandir}/man1/lxc-ls.1*
%dir %attr(750,root,root) /var/log/lxc
%dir %attr(750,root,root) /var/cache/lxc
%dir %attr(750,root,root) /var/log/lxc
%dir %attr(750,root,root) /var/cache/lxc
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
+
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/liblxc.so
%{_includedir}/lxc
%{_pkgconfigdir}/lxc.pc
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/liblxc.so
%{_includedir}/lxc
%{_pkgconfigdir}/lxc.pc
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/lxc-device
%attr(755,root,root) %{_bindir}/lxc-ls
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/lxc-device
%attr(755,root,root) %{_bindir}/lxc-ls
%{py3_sitedir}/lxc
%attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
%{py3_sitedir}/_lxc-0.1-py*.egg-info
%{_mandir}/man1/lxc-device.1*
%{_mandir}/man1/lxc-ls.1*
%{py3_sitedir}/lxc
%attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
%{py3_sitedir}/_lxc-0.1-py*.egg-info
%{_mandir}/man1/lxc-device.1*
%{_mandir}/man1/lxc-ls.1*
%endif
%files -n bash-completion-%{name}
%defattr(644,root,root,755)
%endif
%files -n bash-completion-%{name}
%defattr(644,root,root,755)