2 # - package apparmor stuff
3 # - update (cut down, include /usr/share/lxc/config/common.conf) default pld container config
6 %bcond_without apparmor # apparmor support
7 %bcond_without seccomp # SecComp syscall filter
8 %bcond_without static # static init.lxc variant
9 %bcond_with selinux # SELinux support
10 %bcond_with cgmanager # cgmanager support
11 %bcond_without pam # cgfs PAM module
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: 9db85d0a12b24f674df3e84df12afed9
22 Source1: %{name}-pld.in.sh
23 # lxc-net based on bridge, macvlan is an alternative/supported lxc network
24 Source2: %{name}_macvlan.sysconfig
25 Source3: %{name}_macvlan
26 Patch1: %{name}-net.patch
28 URL: https://www.linuxcontainers.org/
29 BuildRequires: autoconf >= 2.50
30 BuildRequires: automake
31 %{?with_cgmanager:BuildRequires: cgmanager-devel}
32 %{?with_cgmanager:BuildRequires: dbus-devel >= 1.2.16}
33 BuildRequires: docbook-dtd45-xml
34 BuildRequires: docbook2X >= 0.8
35 BuildRequires: doxygen
36 BuildRequires: gcc >= 6:4.7
37 %{?with_static:BuildRequires: glibc-static}
38 BuildRequires: gnutls-devel
39 %{?with_apparmor:BuildRequires: libapparmor-devel}
40 BuildRequires: libcap-devel
41 %{?with_static:BuildRequires: libcap-static}
42 %{?with_cgmanager:BuildRequires: libnih-devel >= 1.0.2}
43 %{?with_seccomp:BuildRequires: libseccomp-devel}
44 BuildRequires: libtool >= 2:2
45 BuildRequires: libxslt-progs
46 %{?with_pam:BuildRequires: pam-devel}
47 BuildRequires: pkgconfig
48 BuildRequires: rpmbuild(macros) >= 1.671
49 BuildRequires: sed >= 4.0
50 Requires(post): /sbin/ldconfig
51 Requires(post,preun): /sbin/chkconfig
52 Requires: %{name}-libs = %{version}-%{release}
55 # used in lxc-net script to set bridge nat
58 Requires: rc-scripts >= 0.4.6
59 Requires: systemd-units >= 38
61 # used in lxc-net script, but not all cases, may break working setups
64 Suggests: gnupg-plugin-keys_curl
65 Suggests: gnupg-plugin-keys_hkp
68 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70 %define configpath /var/lib/lxc
73 Tools to create and manage containers. It contains a full featured
74 container with the isolation / virtualization of the pids, the ipc,
75 the utsname, the mount points, /proc, /sys, the network and it takes
76 into account the control groups. It is very light, flexible, and
77 provides a set of tools around the container like the monitoring with
78 asynchronous events notification, or the freeze of the container. This
79 package is useful to create Virtual Private Server, or to run isolated
80 applications like bash or sshd.
82 %description -l pl.UTF-8
83 Narzędzia do tworzenia i zarządzania kontenerami. System ten obejmuje
84 w pełni funkcjonalne kontenery z izolacją/wirtualizacją pidów, ipc,
85 utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
86 grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
87 do czynności związanych z kontenerami, takich jak monitorowanie z
88 asynchronicznym powiadamianiem o zdarzeniach czy zamrażanie. Ten
89 pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
90 oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
92 %package -n pam-pam_cgfs
93 Summary: PAM module to create user cgroups
94 Summary(pl.UTF-8): Moduł PAM do tworzenia cgroup użytkownika
98 %description -n pam-pam_cgfs
99 PAM module that when a user logs in, will create cgroups which the
102 %description -n pam-pam_cgfs -l pl.UTF-8
103 Moduł PAM, który przy logowaniu użytkownika tworzy cgroupy, którymi
104 użytkownik może administrować.
107 Summary: liblxc library
108 Summary(pl.UTF-8): Biblioteka liblxc
110 Conflicts: lxc < 2.0.4-2
115 %description libs -l pl.UTF-8
119 Summary: Header files for lxc library
120 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
121 Group: Development/Libraries
122 Requires: %{name}-libs = %{version}-%{release}
125 Header files for lxc library.
127 %description devel -l pl.UTF-8
128 Pliki nagłówkowe biblioteki lxc.
131 Summary: Static lxc library
132 Summary(pl.UTF-8): Statyczna biblioteka lxc
133 Group: Development/Libraries
134 Requires: %{name}-devel = %{version}-%{release}
139 %description static -l pl.UTF-8
140 Statyczna biblioteka lxc.
142 %package -n bash-completion-%{name}
143 Summary: bash-completion for LXC
144 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
145 Group: Applications/Shells
146 Requires: %{name} = %{version}-%{release}
147 Requires: bash-completion
150 %description -n bash-completion-%{name}
151 bash-completion for LXC.
153 %description -n bash-completion-%{name} -l pl.UTF-8
154 bashowe uzupełnianie nazw dla LXC.
161 cp -p %{SOURCE1} templates/lxc-pld.in
165 %{__aclocal} -I config
170 bashcompdir=%{bash_compdir} \
171 db2xman=docbook2X2man \
173 %{__enable_disable apparmor} \
175 %{__enable_disable cgmanager} \
178 %{?with_pam:--enable-pam} \
179 %{__enable_disable seccomp} \
180 %{__enable_disable selinux} \
181 --with-config-path=%{configpath} \
183 --with-init-script=sysvinit,systemd \
184 --with-runtime-path=/var/run
190 rm -rf $RPM_BUILD_ROOT
191 install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
192 -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
195 SYSTEMD_UNIT_DIR=%{systemdunitdir} \
196 pcdatadir=%{_pkgconfigdir} \
197 DESTDIR=$RPM_BUILD_ROOT
199 %{__make} -C doc install \
200 DESTDIR=$RPM_BUILD_ROOT
202 %{__rm} $RPM_BUILD_ROOT%{_libdir}/liblxc.la
204 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}
206 # apparmor profiles are not packaged, remove to avoid packagers confusion
207 %{__rm} -r $RPM_BUILD_ROOT/etc/apparmor.d
209 # yum plugin, no idea where to package this
210 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
212 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/lxc_macvlan
213 install -p %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/lxc_macvlan
216 rm -rf $RPM_BUILD_ROOT
219 /sbin/chkconfig --add lxc
220 /sbin/chkconfig --add lxc-net
221 %systemd_post lxc.service lxc-net.service
224 if [ "$1" = "0" ]; then
226 /sbin/chkconfig --del lxc
227 %service lxc-net stop
228 /sbin/chkconfig --del lxc-net
230 %systemd_preun lxc.service lxc-net.service
235 %post libs -p /sbin/ldconfig
236 %postun libs -p /sbin/ldconfig
239 %defattr(644,root,root,755)
240 %doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
241 %attr(755,root,root) %{_bindir}/lxc-attach
242 %attr(755,root,root) %{_bindir}/lxc-autostart
243 %attr(755,root,root) %{_bindir}/lxc-cgroup
244 %attr(755,root,root) %{_bindir}/lxc-checkconfig
245 %attr(755,root,root) %{_bindir}/lxc-checkpoint
246 %attr(755,root,root) %{_bindir}/lxc-copy
247 %attr(755,root,root) %{_bindir}/lxc-config
248 %attr(755,root,root) %{_bindir}/lxc-console
249 %attr(755,root,root) %{_bindir}/lxc-create
250 %attr(755,root,root) %{_bindir}/lxc-destroy
251 %attr(755,root,root) %{_bindir}/lxc-device
252 %attr(755,root,root) %{_bindir}/lxc-execute
253 %attr(755,root,root) %{_bindir}/lxc-freeze
254 %attr(755,root,root) %{_bindir}/lxc-info
255 %attr(755,root,root) %{_bindir}/lxc-ls
256 %attr(755,root,root) %{_bindir}/lxc-monitor
257 %attr(755,root,root) %{_bindir}/lxc-snapshot
258 %attr(755,root,root) %{_bindir}/lxc-start
259 %attr(755,root,root) %{_bindir}/lxc-stop
260 %attr(755,root,root) %{_bindir}/lxc-top
261 %attr(755,root,root) %{_bindir}/lxc-unfreeze
262 %attr(755,root,root) %{_bindir}/lxc-unshare
263 %attr(755,root,root) %{_bindir}/lxc-update-config
264 %attr(755,root,root) %{_bindir}/lxc-usernsexec
265 %attr(755,root,root) %{_bindir}/lxc-wait
266 %attr(755,root,root) %{_sbindir}/init.lxc
268 %attr(755,root,root) %{_sbindir}/init.lxc.static
270 %attr(754,root,root) /etc/rc.d/init.d/lxc
271 %attr(754,root,root) /etc/rc.d/init.d/lxc-net
273 %{systemdunitdir}/lxc.service
274 %{systemdunitdir}/lxc@.service
275 %{systemdunitdir}/lxc-net.service
276 %dir %{_libdir}/%{name}
277 %dir %{_libdir}/%{name}/rootfs
278 %{_libdir}/%{name}/rootfs/README
279 %if "%{_libexecdir}" != "%{_libdir}"
280 %dir %{_libexecdir}/%{name}
282 %attr(755,root,root) %{_libexecdir}/%{name}/lxc-apparmor-load
283 %attr(755,root,root) %{_libexecdir}/%{name}/lxc-containers
284 %attr(755,root,root) %{_libexecdir}/%{name}/lxc-monitord
285 %attr(755,root,root) %{_libexecdir}/%{name}/lxc-net
286 %attr(755,root,root) %{_libexecdir}/%{name}/lxc-user-nic
287 %attr(755,root,root) %{_libexecdir}/%{name}/lxc_macvlan
288 %dir %{_libexecdir}/%{name}/hooks
289 %attr(755,root,root) %{_libexecdir}/%{name}/hooks/unmount-namespace
290 %dir %{_sysconfdir}/lxc
291 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc_macvlan
292 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc
293 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
294 %dir %{_datadir}/%{name}
295 %{_datadir}/%{name}/lxc.functions
296 %dir %{_datadir}/%{name}/config
297 %{_datadir}/%{name}/config/common.conf
298 %dir %{_datadir}/%{name}/config/common.conf.d
299 %{_datadir}/%{name}/config/common.conf.d/README
300 %{_datadir}/%{name}/config/common.seccomp
301 %{_datadir}/%{name}/config/nesting.conf
302 %{_datadir}/%{name}/config/oci.common.conf
303 %{_datadir}/%{name}/config/userns.conf
304 %dir %{_datadir}/%{name}/hooks
305 %dir %{_datadir}/%{name}/selinux
306 %{_datadir}/%{name}/selinux/*
307 %dir %{_datadir}/%{name}/templates
308 %attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
309 %attr(755,root,root) %{_datadir}/%{name}/hooks/dhclient
310 %attr(755,root,root) %{_datadir}/%{name}/hooks/dhclient-script
311 %attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
312 %attr(755,root,root) %{_datadir}/%{name}/hooks/nvidia
313 %attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
314 %attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
315 %attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
316 %{_mandir}/man1/lxc-attach.1*
317 %{_mandir}/man1/lxc-autostart.1*
318 %{_mandir}/man1/lxc-cgroup.1*
319 %{_mandir}/man1/lxc-checkconfig.1*
320 %{_mandir}/man1/lxc-checkpoint.1*
321 %{_mandir}/man1/lxc-copy.1*
322 %{_mandir}/man1/lxc-config.1*
323 %{_mandir}/man1/lxc-console.1*
324 %{_mandir}/man1/lxc-create.1*
325 %{_mandir}/man1/lxc-destroy.1*
326 %{_mandir}/man1/lxc-device.1*
327 %{_mandir}/man1/lxc-execute.1*
328 %{_mandir}/man1/lxc-freeze.1*
329 %{_mandir}/man1/lxc-info.1*
330 %{_mandir}/man1/lxc-ls.1*
331 %{_mandir}/man1/lxc-monitor.1*
332 %{_mandir}/man1/lxc-snapshot.1*
333 %{_mandir}/man1/lxc-start.1*
334 %{_mandir}/man1/lxc-stop.1*
335 %{_mandir}/man1/lxc-top.1*
336 %{_mandir}/man1/lxc-unfreeze.1*
337 %{_mandir}/man1/lxc-unshare.1*
338 %{_mandir}/man1/lxc-update-config.1*
339 %{_mandir}/man1/lxc-user-nic.1*
340 %{_mandir}/man1/lxc-usernsexec.1*
341 %{_mandir}/man1/lxc-wait.1*
342 %{_mandir}/man5/lxc-usernet.5*
343 %{_mandir}/man5/lxc.conf.5*
344 %{_mandir}/man5/lxc.container.conf.5*
345 %{_mandir}/man5/lxc.system.conf.5*
346 %{_mandir}/man7/lxc.7*
347 %lang(ja) %{_mandir}/ja/man1/lxc*.1*
348 %lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
349 %lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
350 %lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
351 %lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
352 %lang(ja) %{_mandir}/ja/man7/lxc.7*
353 %lang(ko) %{_mandir}/ko/man1/lxc*.1*
354 %lang(ko) %{_mandir}/ko/man5/lxc-usernet.5*
355 %lang(ko) %{_mandir}/ko/man5/lxc.conf.5*
356 %lang(ko) %{_mandir}/ko/man5/lxc.container.conf.5*
357 %lang(ko) %{_mandir}/ko/man5/lxc.system.conf.5*
358 %lang(ko) %{_mandir}/ko/man7/lxc.7*
361 %dir %{configpath}snap
362 %dir %attr(750,root,root) /var/log/lxc
363 %dir %attr(750,root,root) /var/cache/lxc
366 %files -n pam-pam_cgfs
367 %defattr(644,root,root,755)
368 %attr(755,root,root) /%{_lib}/security/pam_cgfs.so
369 %{_mandir}/ja/man8/pam_cgfs.8*
370 %{_mandir}/man8/pam_cgfs.8*
374 %defattr(644,root,root,755)
375 %attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
376 %attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
379 %defattr(644,root,root,755)
380 %attr(755,root,root) %{_libdir}/liblxc.so
382 %{_pkgconfigdir}/lxc.pc
385 %defattr(644,root,root,755)
388 %files -n bash-completion-%{name}
389 %defattr(644,root,root,755)