2 # - what to do lxc_macvlan.init, when upstream provided lxc-net.init?
3 # - package apparmor stuff
6 %bcond_without seccomp # SecComp syscall filter
7 %bcond_without apparmor # apparmor support
8 %bcond_without lua # Lua binding
9 %bcond_without python # Python binding
10 %bcond_with selinux # SELinux support
11 %bcond_with cgmanager # cgmanager support (BR: libcgmanager, libnih >= 1.0.2, libnih-dbus >= 1.0.0, dbus-1 >= 1.2.16)
13 Summary: Linux Containers userspace tools
14 Summary(pl.UTF-8): Narzędzia do kontenerów linuksowych (LXC)
19 Group: Applications/System
20 Source0: https://linuxcontainers.org/downloads/lxc/%{name}-%{version}.tar.gz
21 # Source0-md5: 3ebadacf5fe8bfe689fd7a09812b682c
22 Source1: %{name}-pld.in.sh
23 Source2: %{name}_macvlan.init
24 Source3: %{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 >= 1:3.2}
41 BuildRequires: rpm-pythonprov
42 BuildRequires: rpmbuild(macros) >= 1.671
43 BuildRequires: sed >= 4.0
44 Requires: rc-scripts >= 0.4.6
47 Requires: systemd-units >= 38
48 Requires(post,preun): /sbin/chkconfig
49 Requires(post): /sbin/ldconfig
51 Suggests: gnupg-plugin-keys_curl
52 Suggests: gnupg-plugin-keys_hkp
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 %define configpath /var/lib/lxc
61 Tools to create and manage containers. It contains a full featured
62 container with the isolation / virtualization of the pids, the ipc,
63 the utsname, the mount points, /proc, /sys, the network and it takes
64 into account the control groups. It is very light, flexible, and
65 provides a set of tools around the container like the monitoring with
66 asynchronous events notification, or the freeze of the container. This
67 package is useful to create Virtual Private Server, or to run isolated
68 applications like bash or sshd.
70 %description -l pl.UTF-8
71 Narzędzia do tworzenia i zarządzania kontenerami. System ten obejmuje
72 w pełni funkcjonalne kontenery z ilozacją/wirtualizacją pidów, ipc,
73 utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
74 grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
75 do czynności związanych z kontenerami, takich jak monitorowanie z
76 asynchronicznym powiadamianiem o zdarzeniach czy zamrażanie. Ten
77 pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
78 oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
81 Summary: Header files for lxc library
82 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
83 Group: Development/Libraries
84 Requires: %{name} = %{version}-%{release}
87 Header files for lxc library.
89 %description devel -l pl.UTF-8
90 Pliki nagłówkowe biblioteki lxc.
93 Summary: Lua binding for LXC
94 Summary(pl.UTF-8): Wiązanie Lua do LXC
96 Requires: %{name} = %{version}-%{release}
97 Requires: lua51-libs >= 5.1
99 %description -n lua-lxc
102 %description -n lua-lxc -l pl.UTF-8
105 %package -n python3-lxc
106 Summary: Python (3.x) binding for LXC
107 Summary(pl.UTF-8): Wiązanie Pythona (3.x) do LXC
109 Requires: %{name} = %{version}-%{release}
110 Requires: python3-libs >= 3.2
111 Requires: python3-modules
113 %description -n python3-lxc
114 Python (3.x) binding for LXC.
116 %description -n python3-lxc -l pl.UTF-8
117 Wiązanie Pythona (3.x) do LXC.
119 %package -n bash-completion-%{name}
120 Summary: bash-completion for LXC
121 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
122 Group: Applications/Shells
124 Requires: bash-completion
126 %description -n bash-completion-%{name}
127 bash-completion for LXC.
129 %description -n bash-completion-%{name} -l pl.UTF-8
130 bashowe uzupełnianie nazw dla LXC.
137 cp -p %{SOURCE1} templates/lxc-pld.in
140 %{__aclocal} -I config
145 db2xman=docbook2X2man \
150 %{__enable_disable apparmor} \
151 %{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
152 %{__enable_disable python} \
153 %{__enable_disable seccomp} \
154 %{__enable_disable selinux} \
155 --with-config-path=%{configpath} \
156 --with-init-script=sysvinit,systemd \
157 --with-runtime-path=/var/run \
164 rm -rf $RPM_BUILD_ROOT
165 install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
166 -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
169 SYSTEMD_UNIT_DIR=%{systemdunitdir} \
170 pcdatadir=%{_pkgconfigdir} \
171 DESTDIR=$RPM_BUILD_ROOT
173 %{__make} -C doc install \
174 DESTDIR=$RPM_BUILD_ROOT
176 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}
178 # apparmor profiles are not packaged, remove to avoid packagers confusion
179 %{__rm} -r $RPM_BUILD_ROOT/etc/apparmor.d
181 # yum plugin, no idea where to package this
182 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
184 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lxc_macvlan
185 install -p %{SOURCE3} $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-net
202 /sbin/chkconfig --add lxc_macvlan
203 %systemd_post lxc.service lxc-net.service
206 if [ "$1" = "0" ]; then
208 /sbin/chkconfig --del lxc
209 %service lxc-net stop
210 /sbin/chkconfig --del lxc-net
211 %service lxc_macvlan stop
212 /sbin/chkconfig --del lxc_macvlan
214 %systemd_preun lxc.service lxc-net.service
221 %defattr(644,root,root,755)
222 %doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
223 %attr(755,root,root) %{_bindir}/lxc-attach
224 %attr(755,root,root) %{_bindir}/lxc-autostart
225 %attr(755,root,root) %{_bindir}/lxc-cgroup
226 %attr(755,root,root) %{_bindir}/lxc-checkconfig
227 %attr(755,root,root) %{_bindir}/lxc-checkpoint
228 %attr(755,root,root) %{_bindir}/lxc-clone
229 %attr(755,root,root) %{_bindir}/lxc-config
230 %attr(755,root,root) %{_bindir}/lxc-console
231 %attr(755,root,root) %{_bindir}/lxc-create
232 %attr(755,root,root) %{_bindir}/lxc-destroy
233 %attr(755,root,root) %{_bindir}/lxc-execute
234 %attr(755,root,root) %{_bindir}/lxc-freeze
235 %attr(755,root,root) %{_bindir}/lxc-info
236 %attr(755,root,root) %{_bindir}/lxc-monitor
237 %attr(755,root,root) %{_bindir}/lxc-snapshot
238 %attr(755,root,root) %{_bindir}/lxc-start
239 %attr(755,root,root) %{_bindir}/lxc-stop
240 %attr(755,root,root) %{_bindir}/lxc-unfreeze
241 %attr(755,root,root) %{_bindir}/lxc-unshare
242 %attr(755,root,root) %{_bindir}/lxc-usernsexec
243 %attr(755,root,root) %{_bindir}/lxc-wait
244 %attr(755,root,root) %{_sbindir}/init.lxc
245 %attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
246 %attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
247 %attr(754,root,root) /etc/rc.d/init.d/lxc
248 %attr(754,root,root) /etc/rc.d/init.d/lxc-net
249 %attr(754,root,root) /etc/rc.d/init.d/lxc_macvlan
251 %{systemdunitdir}/lxc.service
252 %{systemdunitdir}/lxc-net.service
253 %dir %{_libdir}/%{name}
254 %dir %{_libdir}/%{name}/rootfs
255 %{_libdir}/%{name}/rootfs/README
256 %attr(755,root,root) %{_libdir}/%{name}/lxc-apparmor-load
257 %attr(755,root,root) %{_libdir}/%{name}/lxc-containers
258 %attr(755,root,root) %{_libdir}/%{name}/lxc-devsetup
259 %attr(755,root,root) %{_libdir}/%{name}/lxc-monitord
260 %attr(755,root,root) %{_libdir}/%{name}/lxc-net
261 %attr(755,root,root) %{_libdir}/%{name}/lxc-user-nic
262 %dir %{_sysconfdir}/lxc
263 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc_macvlan
264 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc
265 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
266 %dir %{_datadir}/%{name}
267 %{_datadir}/%{name}/lxc.functions
268 %attr(755,root,root) %{_datadir}/%{name}/lxc-restore-net
269 %dir %{_datadir}/%{name}/config
270 %{_datadir}/%{name}/config/archlinux.*.conf
271 %{_datadir}/%{name}/config/centos.*.conf
272 %{_datadir}/%{name}/config/common.conf
273 %dir %{_datadir}/%{name}/config/common.conf.d
274 %{_datadir}/%{name}/config/common.conf.d/README
275 %{_datadir}/%{name}/config/common.seccomp
276 %{_datadir}/%{name}/config/debian.*.conf
277 %{_datadir}/%{name}/config/fedora.*.conf
278 %{_datadir}/%{name}/config/gentoo.*.conf
279 %{_datadir}/%{name}/config/opensuse.*.conf
280 %{_datadir}/%{name}/config/openwrt.*.conf
281 %{_datadir}/%{name}/config/oracle.*.conf
282 %{_datadir}/%{name}/config/plamo.*.conf
283 %{_datadir}/%{name}/config/ubuntu-cloud.*.conf
284 %{_datadir}/%{name}/config/ubuntu.*.conf
285 %{_datadir}/%{name}/config/userns.conf
286 %dir %{_datadir}/%{name}/hooks
287 %dir %{_datadir}/%{name}/selinux
288 %{_datadir}/%{name}/selinux/*
289 %dir %{_datadir}/%{name}/templates
290 %attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
291 %attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
292 %attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
293 %attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
294 %attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
295 %{_mandir}/man1/lxc-attach.1*
296 %{_mandir}/man1/lxc-autostart.1*
297 %{_mandir}/man1/lxc-cgroup.1*
298 %{_mandir}/man1/lxc-checkconfig.1*
299 %{_mandir}/man1/lxc-checkpoint.1*
300 %{_mandir}/man1/lxc-clone.1*
301 %{_mandir}/man1/lxc-config.1*
302 %{_mandir}/man1/lxc-console.1*
303 %{_mandir}/man1/lxc-create.1*
304 %{_mandir}/man1/lxc-destroy.1*
305 %{_mandir}/man1/lxc-execute.1*
306 %{_mandir}/man1/lxc-freeze.1*
307 %{_mandir}/man1/lxc-info.1*
308 %{_mandir}/man1/lxc-monitor.1*
309 %{_mandir}/man1/lxc-snapshot.1*
310 %{_mandir}/man1/lxc-start.1*
311 %{_mandir}/man1/lxc-stop.1*
312 %{_mandir}/man1/lxc-unfreeze.1*
313 %{_mandir}/man1/lxc-unshare.1*
314 %{_mandir}/man1/lxc-user-nic.1*
315 %{_mandir}/man1/lxc-usernsexec.1*
316 %{_mandir}/man1/lxc-wait.1*
317 %{_mandir}/man5/lxc-usernet.5*
318 %{_mandir}/man5/lxc.conf.5*
319 %{_mandir}/man5/lxc.container.conf.5*
320 %{_mandir}/man5/lxc.system.conf.5*
321 %{_mandir}/man7/lxc.7*
322 %lang(ja) %{_mandir}/ja/man1/lxc*.1*
323 %lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
324 %lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
325 %lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
326 %lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
327 %lang(ja) %{_mandir}/ja/man7/lxc.7*
328 %exclude %{_mandir}/ja/man1/lxc-device.1*
329 %exclude %{_mandir}/ja/man1/lxc-ls.1*
330 %exclude %{_mandir}/ja/man1/lxc-start-ephemeral.1*
331 %exclude %{_mandir}/ja/man1/lxc-top.1*
334 %if %{without python}
336 %attr(755,root,root) %{_bindir}/lxc-ls
337 %{_mandir}/man1/lxc-ls.1*
341 %dir %{configpath}snap
342 %dir %attr(750,root,root) /var/log/lxc
343 %dir %attr(750,root,root) /var/cache/lxc
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_libdir}/liblxc.so
349 %{_pkgconfigdir}/lxc.pc
353 %defattr(644,root,root,755)
354 %attr(755,root,root) %{_bindir}/lxc-top
355 %dir %{_libdir}/lua/lxc
356 %attr(755,root,root) %{_libdir}/lua/lxc/core.so
357 %{_datadir}/lua/lxc.lua
358 %{_mandir}/man1/lxc-top.1*
359 %lang(ja) %{_mandir}/ja/man1/lxc-top.1*
363 %files -n python3-lxc
364 %defattr(644,root,root,755)
365 %attr(755,root,root) %{_bindir}/lxc-device
366 %attr(755,root,root) %{_bindir}/lxc-ls
367 %attr(755,root,root) %{_bindir}/lxc-start-ephemeral
369 %attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
370 %{py3_sitedir}/_lxc-0.1-py*.egg-info
371 %{_mandir}/man1/lxc-device.1*
372 %{_mandir}/man1/lxc-ls.1*
373 %{_mandir}/man1/lxc-start-ephemeral.1*
374 %lang(ja) %{_mandir}/ja/man1/lxc-device.1*
375 %lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
376 %lang(ja) %{_mandir}/ja/man1/lxc-start-ephemeral.1*
379 %files -n bash-completion-%{name}
380 %defattr(644,root,root,755)
381 /etc/bash_completion.d/lxc