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