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: 89cddb431672db355483a96046f7fd95
21 Source1: %{name}-pld.in.sh
22 Patch1: %{name}-pld.patch
23 URL: https://www.linuxcontainers.org/
24 BuildRequires: autoconf >= 2.50
25 BuildRequires: automake
26 BuildRequires: docbook-dtd30-sgml
27 BuildRequires: docbook-utils
28 BuildRequires: docbook2X
29 BuildRequires: gnutls-devel
30 %{?with_apparmor:BuildRequires: libapparmor-devel}
31 BuildRequires: libcap-devel
32 %{?with_seccomp:BuildRequires: libseccomp-devel}
33 %{?with_lua:BuildRequires: lua51-devel >= 5.1}
34 BuildRequires: pkgconfig
35 %{?with_python:BuildRequires: python3-devel >= 3.2}
36 BuildRequires: rpmbuild(macros) >= 1.612
37 BuildRequires: sed >= 4.0
38 Requires: rc-scripts >= 0.4.6
41 Suggests: gnupg-plugin-keys_curl
42 Suggests: gnupg-plugin-keys_hkp
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 %define configpath /var/lib/lxc
50 Tools to create and manage containers. It contains a full featured
51 container with the isolation / virtualization of the pids, the ipc,
52 the utsname, the mount points, /proc, /sys, the network and it takes
53 into account the control groups. It is very light, flexible, and
54 provides a set of tools around the container like the monitoring with
55 asynchronous events notification, or the freeze of the container. This
56 package is useful to create Virtual Private Server, or to run isolated
57 applications like bash or sshd.
59 %description -l pl.UTF-8
60 Narzędzia do tworzenia i zarządzania kontenerami. System ten obejmuje
61 w pełni funkcjonalne kontenery z ilozacją/wirtualizacją pidów, ipc,
62 utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
63 grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
64 do czynności związanych z kontenerami, takich jak monitorowanie z
65 asynchronicznym powiadamianiem o zdarzeniach czy zamrażanie. Ten
66 pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
67 oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
70 Summary: Header files for lxc library
71 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
72 Group: Development/Libraries
73 Requires: %{name} = %{version}-%{release}
76 Header files for lxc library.
78 %description devel -l pl.UTF-8
79 Pliki nagłówkowe biblioteki lxc.
82 Summary: Lua binding for LXC
83 Summary(pl.UTF-8): Wiązanie Lua do LXC
85 Requires: %{name} = %{version}-%{release}
86 Requires: lua51-libs >= 5.1
88 %description -n lua-lxc
91 %description -n lua-lxc -l pl.UTF-8
94 %package -n python3-lxc
95 Summary: Python (3.x) binding for LXC
96 Summary(pl.UTF-8): Wiązanie Pythona (3.x) do LXC
98 Requires: %{name} = %{version}-%{release}
99 Requires: python3-libs >= 3.2
100 Requires: python3-modules
102 %description -n python3-lxc
103 Python (3.x) binding for LXC.
105 %description -n python3-lxc -l pl.UTF-8
106 Wiązanie Pythona (3.x) do LXC.
108 %package -n bash-completion-%{name}
109 Summary: bash-completion for LXC
110 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
111 Group: Applications/Shells
113 Requires: bash-completion
115 %description -n bash-completion-%{name}
116 bash-completion for LXC.
118 %description -n bash-completion-%{name} -l pl.UTF-8
119 bashowe uzupełnianie nazw dla LXC.
125 cp -p %{SOURCE1} templates/lxc-pld.in
128 %{__aclocal} -I config
133 db2xman=docbook2X2man \
138 %{__enable_disable apparmor} \
139 %{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
140 %{__enable_disable python} \
141 %{__enable_disable seccomp} \
142 %{__enable_disable selinux} \
143 --with-config-path=%{configpath} \
144 --with-init-script=sysvinit,systemd \
145 --with-runtime-path=/var/run \
152 rm -rf $RPM_BUILD_ROOT
153 install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc}
155 SYSTEMD_UNIT_DIR=%{systemdunitdir} \
156 pcdatadir=%{_pkgconfigdir} \
157 DESTDIR=$RPM_BUILD_ROOT
159 %{__make} -C doc install \
160 DESTDIR=$RPM_BUILD_ROOT
162 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}
164 # apparmor profiles are not packaged, remove to avoid packagers confusion
165 %{__rm} -r $RPM_BUILD_ROOT/etc/apparmor.d
168 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
169 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
172 %{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua51,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
176 rm -rf $RPM_BUILD_ROOT
178 %post -p /sbin/ldconfig
179 %postun -p /sbin/ldconfig
182 %defattr(644,root,root,755)
183 %doc AUTHORS CONTRIBUTING MAINTAINERS README TODO doc/FAQ.txt doc/examples/*.conf
184 %attr(755,root,root) %{_bindir}/lxc-attach
185 %attr(755,root,root) %{_bindir}/lxc-autostart
186 %attr(755,root,root) %{_bindir}/lxc-cgroup
187 %attr(755,root,root) %{_bindir}/lxc-checkconfig
188 %attr(755,root,root) %{_bindir}/lxc-clone
189 %attr(755,root,root) %{_bindir}/lxc-config
190 %attr(755,root,root) %{_bindir}/lxc-console
191 %attr(755,root,root) %{_bindir}/lxc-create
192 %attr(755,root,root) %{_bindir}/lxc-destroy
193 %attr(755,root,root) %{_bindir}/lxc-execute
194 %attr(755,root,root) %{_bindir}/lxc-freeze
195 %attr(755,root,root) %{_bindir}/lxc-info
196 %attr(755,root,root) %{_bindir}/lxc-monitor
197 %attr(755,root,root) %{_bindir}/lxc-snapshot
198 %attr(755,root,root) %{_bindir}/lxc-start
199 %attr(755,root,root) %{_bindir}/lxc-stop
200 %attr(755,root,root) %{_bindir}/lxc-unfreeze
201 %attr(755,root,root) %{_bindir}/lxc-unshare
202 %attr(755,root,root) %{_bindir}/lxc-usernsexec
203 %attr(755,root,root) %{_bindir}/lxc-wait
204 %attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
205 %attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
206 %attr(754,root,root) /etc/rc.d/init.d/lxc
207 %{systemdunitdir}/lxc.service
208 %dir %{_libdir}/%{name}
209 %dir %{_libdir}/%{name}/rootfs
210 %{_libdir}/%{name}/rootfs/README
211 %attr(755,root,root) %{_libdir}/%{name}/lxc-devsetup
212 %attr(755,root,root) %{_libdir}/%{name}/lxc-init
213 %attr(755,root,root) %{_libdir}/%{name}/lxc-monitord
214 %attr(755,root,root) %{_libdir}/%{name}/lxc-user-nic
215 %dir %{_sysconfdir}/lxc
216 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
217 %dir %{_datadir}/%{name}
218 %{_datadir}/%{name}/lxc.functions
219 %dir %{_datadir}/%{name}/config
220 %{_datadir}/%{name}/config/centos.*.conf
221 %{_datadir}/%{name}/config/debian.*.conf
222 %{_datadir}/%{name}/config/fedora.*.conf
223 %{_datadir}/%{name}/config/gentoo.*.conf
224 %{_datadir}/%{name}/config/oracle.*.conf
225 %{_datadir}/%{name}/config/plamo.*.conf
226 %{_datadir}/%{name}/config/ubuntu-cloud.*.conf
227 %{_datadir}/%{name}/config/ubuntu.*.conf
228 %dir %{_datadir}/%{name}/hooks
229 %dir %{_datadir}/%{name}/templates
230 %attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
231 %attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
232 %attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
233 %attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
234 %attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
235 %{_mandir}/man1/lxc-attach.1*
236 %{_mandir}/man1/lxc-autostart.1*
237 %{_mandir}/man1/lxc-cgroup.1*
238 %{_mandir}/man1/lxc-checkconfig.1*
239 %{_mandir}/man1/lxc-clone.1*
240 %{_mandir}/man1/lxc-config.1*
241 %{_mandir}/man1/lxc-console.1*
242 %{_mandir}/man1/lxc-create.1*
243 %{_mandir}/man1/lxc-destroy.1*
244 %{_mandir}/man1/lxc-execute.1*
245 %{_mandir}/man1/lxc-freeze.1*
246 %{_mandir}/man1/lxc-info.1*
247 %{_mandir}/man1/lxc-monitor.1*
248 %{_mandir}/man1/lxc-snapshot.1*
249 %{_mandir}/man1/lxc-start.1*
250 %{_mandir}/man1/lxc-stop.1*
251 %{_mandir}/man1/lxc-unfreeze.1*
252 %{_mandir}/man1/lxc-unshare.1*
253 %{_mandir}/man1/lxc-user-nic.1*
254 %{_mandir}/man1/lxc-usernsexec.1*
255 %{_mandir}/man1/lxc-wait.1*
256 %{_mandir}/man5/lxc-usernet.5*
257 %{_mandir}/man5/lxc.conf.5*
258 %{_mandir}/man5/lxc.container.conf.5*
259 %{_mandir}/man5/lxc.system.conf.5*
260 %{_mandir}/man7/lxc.7*
261 %lang(ja) %{_mandir}/ja/man1/lxc*.1*
262 %lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
263 %lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
264 %lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
265 %lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
266 %lang(ja) %{_mandir}/ja/man7/lxc.7*
267 %exclude %{_mandir}/ja/man1/lxc-device.1*
268 %exclude %{_mandir}/ja/man1/lxc-ls.1*
269 %exclude %{_mandir}/ja/man1/lxc-start-ephemeral.1*
270 %exclude %{_mandir}/ja/man1/lxc-top.1*
272 %if %{without python}
274 %attr(755,root,root) %{_bindir}/lxc-ls
275 %{_mandir}/man1/lxc-ls.1*
279 %dir %{configpath}snap
280 %dir %attr(750,root,root) /var/log/lxc
281 %dir %attr(750,root,root) /var/cache/lxc
284 %defattr(644,root,root,755)
285 %attr(755,root,root) %{_libdir}/liblxc.so
287 %{_pkgconfigdir}/lxc.pc
291 %defattr(644,root,root,755)
292 %attr(755,root,root) %{_bindir}/lxc-top
293 %dir %{_libdir}/lua/lxc
294 %attr(755,root,root) %{_libdir}/lua/lxc/core.so
295 %{_datadir}/lua/lxc.lua
296 %{_mandir}/man1/lxc-top.1*
297 %lang(ja) %{_mandir}/ja/man1/lxc-top.1*
301 %files -n python3-lxc
302 %defattr(644,root,root,755)
303 %attr(755,root,root) %{_bindir}/lxc-device
304 %attr(755,root,root) %{_bindir}/lxc-ls
305 %attr(755,root,root) %{_bindir}/lxc-start-ephemeral
307 %attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
308 %{py3_sitedir}/_lxc-0.1-py*.egg-info
309 %{_mandir}/man1/lxc-device.1*
310 %{_mandir}/man1/lxc-ls.1*
311 %{_mandir}/man1/lxc-start-ephemeral.1*
312 %lang(ja) %{_mandir}/ja/man1/lxc-device.1*
313 %lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
314 %lang(ja) %{_mandir}/ja/man1/lxc-start-ephemeral.1*
317 %files -n bash-completion-%{name}
318 %defattr(644,root,root,755)
319 /etc/bash_completion.d/lxc