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
8 %bcond_without lua # Lua binding
9 %bcond_without python # Python binding
10 %bcond_with selinux # SELinux
11 %bcond_with cgmanager # Enable cgmanager (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://www.linuxcontainers.org/downloads/%{name}-%{version}.tar.gz
21 # Source0-md5: d80cb08f0edf36f0887e32c96aec8c13
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 >= 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_macvlan
184 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/lxc_macvlan
187 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
188 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
191 %{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua5.1,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
195 rm -rf $RPM_BUILD_ROOT
199 /sbin/chkconfig --add lxc
200 /sbin/chkconfig --add lxc_macvlan
203 if [ "$1" = "0" ]; then
205 /sbin/chkconfig --del lxc
206 %service lxc_macvlan stop
207 /sbin/chkconfig --del lxc_macvlan
210 %postun -p /sbin/ldconfig
214 %defattr(644,root,root,755)
215 %doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
216 %attr(755,root,root) %{_bindir}/lxc-attach
217 %attr(755,root,root) %{_bindir}/lxc-autostart
218 %attr(755,root,root) %{_bindir}/lxc-cgroup
219 %attr(755,root,root) %{_bindir}/lxc-checkconfig
220 %attr(755,root,root) %{_bindir}/lxc-checkpoint
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-net
242 %attr(754,root,root) /etc/rc.d/init.d/lxc_macvlan
244 %{systemdunitdir}/lxc.service
245 %{systemdunitdir}/lxc-net.service
246 %dir %{_libdir}/%{name}
247 %dir %{_libdir}/%{name}/rootfs
248 %{_libdir}/%{name}/rootfs/README
249 %attr(755,root,root) %{_libdir}/%{name}/lxc-apparmor-load
250 %attr(755,root,root) %{_libdir}/%{name}/lxc-containers
251 %attr(755,root,root) %{_libdir}/%{name}/lxc-devsetup
252 %attr(755,root,root) %{_libdir}/%{name}/lxc-monitord
253 %attr(755,root,root) %{_libdir}/%{name}/lxc-net
254 %attr(755,root,root) %{_libdir}/%{name}/lxc-user-nic
255 %dir %{_sysconfdir}/lxc
256 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc_macvlan
257 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc
258 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
259 %dir %{_datadir}/%{name}
260 %{_datadir}/%{name}/lxc.functions
261 %attr(755,root,root) %{_datadir}/%{name}/lxc-restore-net
262 %dir %{_datadir}/%{name}/config
263 %{_datadir}/%{name}/config/archlinux.*.conf
264 %{_datadir}/%{name}/config/centos.*.conf
265 %{_datadir}/%{name}/config/common.conf
266 %dir %{_datadir}/%{name}/config/common.conf.d
267 %{_datadir}/%{name}/config/common.conf.d/README
268 %{_datadir}/%{name}/config/common.seccomp
269 %{_datadir}/%{name}/config/debian.*.conf
270 %{_datadir}/%{name}/config/fedora.*.conf
271 %{_datadir}/%{name}/config/gentoo.*.conf
272 %{_datadir}/%{name}/config/opensuse.*.conf
273 %{_datadir}/%{name}/config/openwrt.*.conf
274 %{_datadir}/%{name}/config/oracle.*.conf
275 %{_datadir}/%{name}/config/plamo.*.conf
276 %{_datadir}/%{name}/config/ubuntu-cloud.*.conf
277 %{_datadir}/%{name}/config/ubuntu.*.conf
278 %{_datadir}/%{name}/config/userns.conf
279 %dir %{_datadir}/%{name}/hooks
280 %dir %{_datadir}/%{name}/selinux
281 %{_datadir}/%{name}/selinux/*
282 %dir %{_datadir}/%{name}/templates
283 %attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
284 %attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
285 %attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
286 %attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
287 %attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
288 %{_mandir}/man1/lxc-attach.1*
289 %{_mandir}/man1/lxc-autostart.1*
290 %{_mandir}/man1/lxc-cgroup.1*
291 %{_mandir}/man1/lxc-checkconfig.1*
292 %{_mandir}/man1/lxc-checkpoint.1*
293 %{_mandir}/man1/lxc-clone.1*
294 %{_mandir}/man1/lxc-config.1*
295 %{_mandir}/man1/lxc-console.1*
296 %{_mandir}/man1/lxc-create.1*
297 %{_mandir}/man1/lxc-destroy.1*
298 %{_mandir}/man1/lxc-execute.1*
299 %{_mandir}/man1/lxc-freeze.1*
300 %{_mandir}/man1/lxc-info.1*
301 %{_mandir}/man1/lxc-monitor.1*
302 %{_mandir}/man1/lxc-snapshot.1*
303 %{_mandir}/man1/lxc-start.1*
304 %{_mandir}/man1/lxc-stop.1*
305 %{_mandir}/man1/lxc-unfreeze.1*
306 %{_mandir}/man1/lxc-unshare.1*
307 %{_mandir}/man1/lxc-user-nic.1*
308 %{_mandir}/man1/lxc-usernsexec.1*
309 %{_mandir}/man1/lxc-wait.1*
310 %{_mandir}/man5/lxc-usernet.5*
311 %{_mandir}/man5/lxc.conf.5*
312 %{_mandir}/man5/lxc.container.conf.5*
313 %{_mandir}/man5/lxc.system.conf.5*
314 %{_mandir}/man7/lxc.7*
315 %lang(ja) %{_mandir}/ja/man1/lxc*.1*
316 %lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
317 %lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
318 %lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
319 %lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
320 %lang(ja) %{_mandir}/ja/man7/lxc.7*
321 %exclude %{_mandir}/ja/man1/lxc-device.1*
322 %exclude %{_mandir}/ja/man1/lxc-ls.1*
323 %exclude %{_mandir}/ja/man1/lxc-start-ephemeral.1*
324 %exclude %{_mandir}/ja/man1/lxc-top.1*
327 %if %{without python}
329 %attr(755,root,root) %{_bindir}/lxc-ls
330 %{_mandir}/man1/lxc-ls.1*
334 %dir %{configpath}snap
335 %dir %attr(750,root,root) /var/log/lxc
336 %dir %attr(750,root,root) /var/cache/lxc
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_libdir}/liblxc.so
342 %{_pkgconfigdir}/lxc.pc
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_bindir}/lxc-top
348 %dir %{_libdir}/lua/lxc
349 %attr(755,root,root) %{_libdir}/lua/lxc/core.so
350 %{_datadir}/lua/lxc.lua
351 %{_mandir}/man1/lxc-top.1*
352 %lang(ja) %{_mandir}/ja/man1/lxc-top.1*
356 %files -n python3-lxc
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_bindir}/lxc-device
359 %attr(755,root,root) %{_bindir}/lxc-ls
360 %attr(755,root,root) %{_bindir}/lxc-start-ephemeral
362 %attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
363 %{py3_sitedir}/_lxc-0.1-py*.egg-info
364 %{_mandir}/man1/lxc-device.1*
365 %{_mandir}/man1/lxc-ls.1*
366 %{_mandir}/man1/lxc-start-ephemeral.1*
367 %lang(ja) %{_mandir}/ja/man1/lxc-device.1*
368 %lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
369 %lang(ja) %{_mandir}/ja/man1/lxc-start-ephemeral.1*
372 %files -n bash-completion-%{name}
373 %defattr(644,root,root,755)
374 /etc/bash_completion.d/lxc