2 # - package apparmor stuff
5 %bcond_without seccomp # SecComp syscall filter
6 %bcond_without apparmor # apparmor
7 %bcond_without lua # Lua binding
8 %bcond_without python # Python binding
9 %bcond_with selinux # SELinux
10 %bcond_with cgmanager # Enable cgmanager (BR: libcgmanager, libnih >= 1.0.2, libnih-dbus >= 1.0.0, dbus-1 >= 1.2.16)
12 Summary: Linux Containers userspace tools
13 Summary(pl.UTF-8): Narzędzia do kontenerów linuksowych (LXC)
18 Group: Applications/System
19 Source0: https://www.linuxcontainers.org/downloads/%{name}-%{version}.tar.gz
20 # Source0-md5: b48f468a9bef0e4e140dd723f0a65ad0
21 Source1: %{name}-pld.in.sh
23 Source3: %{name}_macvlan.init
24 Source4: %{name}_macvlan.sysconfig
25 Patch0: %{name}-pld.patch
27 URL: https://www.linuxcontainers.org/
28 BuildRequires: autoconf >= 2.50
29 BuildRequires: automake
30 BuildRequires: docbook-dtd30-sgml
31 BuildRequires: docbook-utils
32 BuildRequires: docbook2X
33 BuildRequires: gnutls-devel
34 %{?with_apparmor:BuildRequires: libapparmor-devel}
35 BuildRequires: libcap-devel
36 %{?with_seccomp:BuildRequires: libseccomp-devel}
37 BuildRequires: libxslt-progs
38 %{?with_lua:BuildRequires: lua51-devel >= 5.1}
39 BuildRequires: pkgconfig
40 %{?with_python:BuildRequires: python3-devel >= 3.2}
41 BuildRequires: rpm-pythonprov
42 BuildRequires: rpmbuild(macros) >= 1.612
43 BuildRequires: sed >= 4.0
44 Requires: rc-scripts >= 0.4.6
47 Requires(post,preun): /sbin/chkconfig
48 Requires(post): /sbin/ldconfig
50 Suggests: gnupg-plugin-keys_curl
51 Suggests: gnupg-plugin-keys_hkp
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define configpath /var/lib/lxc
60 Tools to create and manage containers. It contains a full featured
61 container with the isolation / virtualization of the pids, the ipc,
62 the utsname, the mount points, /proc, /sys, the network and it takes
63 into account the control groups. It is very light, flexible, and
64 provides a set of tools around the container like the monitoring with
65 asynchronous events notification, or the freeze of the container. This
66 package is useful to create Virtual Private Server, or to run isolated
67 applications like bash or sshd.
69 %description -l pl.UTF-8
70 Narzędzia do tworzenia i zarządzania kontenerami. System ten obejmuje
71 w pełni funkcjonalne kontenery z ilozacją/wirtualizacją pidów, ipc,
72 utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
73 grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
74 do czynności związanych z kontenerami, takich jak monitorowanie z
75 asynchronicznym powiadamianiem o zdarzeniach czy zamrażanie. Ten
76 pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
77 oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
80 Summary: Header files for lxc library
81 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
82 Group: Development/Libraries
83 Requires: %{name} = %{version}-%{release}
86 Header files for lxc library.
88 %description devel -l pl.UTF-8
89 Pliki nagłówkowe biblioteki lxc.
92 Summary: Lua binding for LXC
93 Summary(pl.UTF-8): Wiązanie Lua do LXC
95 Requires: %{name} = %{version}-%{release}
96 Requires: lua51-libs >= 5.1
98 %description -n lua-lxc
101 %description -n lua-lxc -l pl.UTF-8
104 %package -n python3-lxc
105 Summary: Python (3.x) binding for LXC
106 Summary(pl.UTF-8): Wiązanie Pythona (3.x) do LXC
108 Requires: %{name} = %{version}-%{release}
109 Requires: python3-libs >= 3.2
110 Requires: python3-modules
112 %description -n python3-lxc
113 Python (3.x) binding for LXC.
115 %description -n python3-lxc -l pl.UTF-8
116 Wiązanie Pythona (3.x) do LXC.
118 %package -n bash-completion-%{name}
119 Summary: bash-completion for LXC
120 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
121 Group: Applications/Shells
123 Requires: bash-completion
125 %description -n bash-completion-%{name}
126 bash-completion for LXC.
128 %description -n bash-completion-%{name} -l pl.UTF-8
129 bashowe uzupełnianie nazw dla LXC.
136 cp -p %{SOURCE1} templates/lxc-pld.in
139 %{__aclocal} -I config
144 db2xman=docbook2X2man \
149 %{__enable_disable apparmor} \
150 %{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
151 %{__enable_disable python} \
152 %{__enable_disable seccomp} \
153 %{__enable_disable selinux} \
154 --with-config-path=%{configpath} \
155 --with-init-script=sysvinit,systemd \
156 --with-runtime-path=/var/run \
163 rm -rf $RPM_BUILD_ROOT
164 install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
165 -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
168 SYSTEMD_UNIT_DIR=%{systemdunitdir} \
169 pcdatadir=%{_pkgconfigdir} \
170 DESTDIR=$RPM_BUILD_ROOT
172 %{__make} -C doc install \
173 DESTDIR=$RPM_BUILD_ROOT
175 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}
177 # apparmor profiles are not packaged, remove to avoid packagers confusion
178 %{__rm} -r $RPM_BUILD_ROOT/etc/apparmor.d
180 # yum plugin, no idea where to package this
181 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
183 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lxc
184 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/lxc_macvlan
185 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/lxc_macvlan
188 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
189 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
192 %{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua5.1,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
196 rm -rf $RPM_BUILD_ROOT
200 /sbin/chkconfig --add lxc
201 /sbin/chkconfig --add lxc_macvlan
204 if [ "$1" = "0" ]; then
206 /sbin/chkconfig --del lxc
207 %service lxc_macvlan stop
208 /sbin/chkconfig --del lxc_macvlan
211 %postun -p /sbin/ldconfig
215 %defattr(644,root,root,755)
216 %doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
217 %attr(755,root,root) %{_bindir}/lxc-attach
218 %attr(755,root,root) %{_bindir}/lxc-autostart
219 %attr(755,root,root) %{_bindir}/lxc-cgroup
220 %attr(755,root,root) %{_bindir}/lxc-checkconfig
221 %attr(755,root,root) %{_bindir}/lxc-clone
222 %attr(755,root,root) %{_bindir}/lxc-config
223 %attr(755,root,root) %{_bindir}/lxc-console
224 %attr(755,root,root) %{_bindir}/lxc-create
225 %attr(755,root,root) %{_bindir}/lxc-destroy
226 %attr(755,root,root) %{_bindir}/lxc-execute
227 %attr(755,root,root) %{_bindir}/lxc-freeze
228 %attr(755,root,root) %{_bindir}/lxc-info
229 %attr(755,root,root) %{_bindir}/lxc-monitor
230 %attr(755,root,root) %{_bindir}/lxc-snapshot
231 %attr(755,root,root) %{_bindir}/lxc-start
232 %attr(755,root,root) %{_bindir}/lxc-stop
233 %attr(755,root,root) %{_bindir}/lxc-unfreeze
234 %attr(755,root,root) %{_bindir}/lxc-unshare
235 %attr(755,root,root) %{_bindir}/lxc-usernsexec
236 %attr(755,root,root) %{_bindir}/lxc-wait
237 %attr(755,root,root) %{_sbindir}/init.lxc
238 %attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
239 %attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
240 %attr(754,root,root) /etc/rc.d/init.d/lxc
241 %attr(754,root,root) /etc/rc.d/init.d/lxc_macvlan
243 %{systemdunitdir}/lxc.service
244 %dir %{_libdir}/%{name}
245 %dir %{_libdir}/%{name}/rootfs
246 %{_libdir}/%{name}/rootfs/README
247 %attr(755,root,root) %{_libdir}/%{name}/lxc-devsetup
248 %attr(755,root,root) %{_libdir}/%{name}/lxc-monitord
249 %attr(755,root,root) %{_libdir}/%{name}/lxc-user-nic
250 %attr(755,root,root) %{_libdir}/%{name}/lxc-autostart-helper
251 %dir %{_sysconfdir}/lxc
252 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc_macvlan
253 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
254 %dir %{_datadir}/%{name}
255 %{_datadir}/%{name}/lxc.functions
256 %dir %{_datadir}/%{name}/config
257 %{_datadir}/%{name}/config/centos.*.conf
258 %{_datadir}/%{name}/config/common.seccomp
259 %{_datadir}/%{name}/config/debian.*.conf
260 %{_datadir}/%{name}/config/fedora.*.conf
261 %{_datadir}/%{name}/config/gentoo.*.conf
262 %{_datadir}/%{name}/config/oracle.*.conf
263 %{_datadir}/%{name}/config/plamo.*.conf
264 %{_datadir}/%{name}/config/ubuntu-cloud.*.conf
265 %{_datadir}/%{name}/config/ubuntu.*.conf
266 %dir %{_datadir}/%{name}/hooks
267 %dir %{_datadir}/%{name}/templates
268 %attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
269 %attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
270 %attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
271 %attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
272 %attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
273 %{_mandir}/man1/lxc-attach.1*
274 %{_mandir}/man1/lxc-autostart.1*
275 %{_mandir}/man1/lxc-cgroup.1*
276 %{_mandir}/man1/lxc-checkconfig.1*
277 %{_mandir}/man1/lxc-clone.1*
278 %{_mandir}/man1/lxc-config.1*
279 %{_mandir}/man1/lxc-console.1*
280 %{_mandir}/man1/lxc-create.1*
281 %{_mandir}/man1/lxc-destroy.1*
282 %{_mandir}/man1/lxc-execute.1*
283 %{_mandir}/man1/lxc-freeze.1*
284 %{_mandir}/man1/lxc-info.1*
285 %{_mandir}/man1/lxc-monitor.1*
286 %{_mandir}/man1/lxc-snapshot.1*
287 %{_mandir}/man1/lxc-start.1*
288 %{_mandir}/man1/lxc-stop.1*
289 %{_mandir}/man1/lxc-unfreeze.1*
290 %{_mandir}/man1/lxc-unshare.1*
291 %{_mandir}/man1/lxc-user-nic.1*
292 %{_mandir}/man1/lxc-usernsexec.1*
293 %{_mandir}/man1/lxc-wait.1*
294 %{_mandir}/man5/lxc-usernet.5*
295 %{_mandir}/man5/lxc.conf.5*
296 %{_mandir}/man5/lxc.container.conf.5*
297 %{_mandir}/man5/lxc.system.conf.5*
298 %{_mandir}/man7/lxc.7*
299 %lang(ja) %{_mandir}/ja/man1/lxc*.1*
300 %lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
301 %lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
302 %lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
303 %lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
304 %lang(ja) %{_mandir}/ja/man7/lxc.7*
305 %exclude %{_mandir}/ja/man1/lxc-device.1*
306 %exclude %{_mandir}/ja/man1/lxc-ls.1*
307 %exclude %{_mandir}/ja/man1/lxc-start-ephemeral.1*
308 %exclude %{_mandir}/ja/man1/lxc-top.1*
311 %if %{without python}
313 %attr(755,root,root) %{_bindir}/lxc-ls
314 %{_mandir}/man1/lxc-ls.1*
318 %dir %{configpath}snap
319 %dir %attr(750,root,root) /var/log/lxc
320 %dir %attr(750,root,root) /var/cache/lxc
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/liblxc.so
326 %{_pkgconfigdir}/lxc.pc
330 %defattr(644,root,root,755)
331 %attr(755,root,root) %{_bindir}/lxc-top
332 %dir %{_libdir}/lua/lxc
333 %attr(755,root,root) %{_libdir}/lua/lxc/core.so
334 %{_datadir}/lua/lxc.lua
335 %{_mandir}/man1/lxc-top.1*
336 %lang(ja) %{_mandir}/ja/man1/lxc-top.1*
340 %files -n python3-lxc
341 %defattr(644,root,root,755)
342 %attr(755,root,root) %{_bindir}/lxc-device
343 %attr(755,root,root) %{_bindir}/lxc-ls
344 %attr(755,root,root) %{_bindir}/lxc-start-ephemeral
346 %attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
347 %{py3_sitedir}/_lxc-0.1-py*.egg-info
348 %{_mandir}/man1/lxc-device.1*
349 %{_mandir}/man1/lxc-ls.1*
350 %{_mandir}/man1/lxc-start-ephemeral.1*
351 %lang(ja) %{_mandir}/ja/man1/lxc-device.1*
352 %lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
353 %lang(ja) %{_mandir}/ja/man1/lxc-start-ephemeral.1*
356 %files -n bash-completion-%{name}
357 %defattr(644,root,root,755)
358 /etc/bash_completion.d/lxc