]> git.pld-linux.org Git - packages/lxc.git/blame_incremental - lxc.spec
- release 3 (by relup.sh)
[packages/lxc.git] / lxc.spec
... / ...
CommitLineData
1# TODO
2# - package apparmor stuff
3# - update (cut down, include /usr/share/lxc/config/common.conf) default pld container config
4
5# Conditional build:
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
12
13Summary: Linux Containers userspace tools
14Summary(pl.UTF-8): Narzędzia do kontenerów linuksowych (LXC)
15Name: lxc
16Version: 2.1.1
17Release: 3
18License: LGPL v2.1+
19Group: Applications/System
20Source0: https://linuxcontainers.org/downloads/lxc/%{name}-%{version}.tar.gz
21# Source0-md5: 596f7c96ec78e361b057499dbe994703
22Source1: %{name}-pld.in.sh
23# lxc-net based on bridge, macvlan is an alternative/supported lxc network
24Source2: %{name}_macvlan.sysconfig
25Source3: %{name}_macvlan
26Patch1: %{name}-net.patch
27Patch2: x32.patch
28URL: https://www.linuxcontainers.org/
29BuildRequires: autoconf >= 2.50
30BuildRequires: automake
31%{?with_cgmanager:BuildRequires: cgmanager-devel}
32%{?with_cgmanager:BuildRequires: dbus-devel >= 1.2.16}
33BuildRequires: docbook-dtd45-xml
34BuildRequires: docbook2X >= 0.8
35BuildRequires: doxygen
36BuildRequires: gnutls-devel
37%{?with_apparmor:BuildRequires: libapparmor-devel}
38BuildRequires: libcap-devel
39%{?with_cgmanager:BuildRequires: libnih-devel >= 1.0.2}
40%{?with_seccomp:BuildRequires: libseccomp-devel}
41BuildRequires: libxslt-progs
42%{?with_lua:BuildRequires: lua51-devel >= 5.1}
43BuildRequires: pkgconfig
44%{?with_python:BuildRequires: python3-devel >= 1:3.2}
45%{?with_python:BuildRequires: python3-modules >= 1:3.2}
46BuildRequires: rpm-pythonprov
47BuildRequires: rpmbuild(macros) >= 1.671
48BuildRequires: sed >= 4.0
49Requires(post): /sbin/ldconfig
50Requires(post,preun): /sbin/chkconfig
51Requires: %{name}-libs = %{version}-%{release}
52# lxc_macvlan script
53Requires: gawk
54# used in lxc-net script to set bridge nat
55Requires: iproute2
56Requires: iptables
57Requires: rc-scripts >= 0.4.6
58Requires: systemd-units >= 38
59Requires: which
60# used in lxc-net script, but not all cases, may break working setups
61Suggests: dnsmasq
62Suggests: gnupg
63Suggests: gnupg-plugin-keys_curl
64Suggests: gnupg-plugin-keys_hkp
65Suggests: net-tools
66Suggests: python3-lxc
67Suggests: rsync
68BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69
70%define configpath /var/lib/lxc
71
72%description
73Tools to create and manage containers. It contains a full featured
74container with the isolation / virtualization of the pids, the ipc,
75the utsname, the mount points, /proc, /sys, the network and it takes
76into account the control groups. It is very light, flexible, and
77provides a set of tools around the container like the monitoring with
78asynchronous events notification, or the freeze of the container. This
79package is useful to create Virtual Private Server, or to run isolated
80applications like bash or sshd.
81
82%description -l pl.UTF-8
83Narzędzia do tworzenia i zarządzania kontenerami. System ten obejmuje
84w pełni funkcjonalne kontenery z izolacją/wirtualizacją pidów, ipc,
85utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
86grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
87do czynności związanych z kontenerami, takich jak monitorowanie z
88asynchronicznym powiadamianiem o zdarzeniach czy zamrażanie. Ten
89pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
90oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
91
92%package libs
93Summary: liblxc library
94Summary(pl.UTF-8): Biblioteka liblxc
95Group: Libraries
96Conflicts: lxc < 2.0.4-2
97
98%description libs
99liblxc library.
100
101%description libs -l pl.UTF-8
102Biblioteka liblxc.
103
104%package devel
105Summary: Header files for lxc library
106Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
107Group: Development/Libraries
108Requires: %{name}-libs = %{version}-%{release}
109
110%description devel
111Header files for lxc library.
112
113%description devel -l pl.UTF-8
114Pliki nagłówkowe biblioteki lxc.
115
116%package -n lua-lxc
117Summary: Lua binding for LXC
118Summary(pl.UTF-8): Wiązanie Lua do LXC
119Group: Libraries
120Requires: %{name} = %{version}-%{release}
121Requires: lua51-libs >= 5.1
122
123%description -n lua-lxc
124Lua binding for LXC.
125
126%description -n lua-lxc -l pl.UTF-8
127Wiązanie Lua do LXC.
128
129%package -n python3-lxc
130Summary: Python (3.x) binding for LXC
131Summary(pl.UTF-8): Wiązanie Pythona (3.x) do LXC
132Group: Libraries
133Requires: %{name} = %{version}-%{release}
134Requires: python3-libs >= 1:3.2
135Requires: python3-modules >= 1:3.2
136
137%description -n python3-lxc
138Python (3.x) binding for LXC.
139
140%description -n python3-lxc -l pl.UTF-8
141Wiązanie Pythona (3.x) do LXC.
142
143%package -n bash-completion-%{name}
144Summary: bash-completion for LXC
145Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
146Group: Applications/Shells
147Requires: %{name} = %{version}-%{release}
148Requires: bash-completion
149%if "%{_rpmversion}" >= "5"
150BuildArch: noarch
151%endif
152
153%description -n bash-completion-%{name}
154bash-completion for LXC.
155
156%description -n bash-completion-%{name} -l pl.UTF-8
157bashowe uzupełnianie nazw dla LXC.
158
159%prep
160%setup -q
161%patch1 -p1
162%patch2 -p1
163
164cp -p %{SOURCE1} templates/lxc-pld.in
165
166%build
167%{__libtoolize}
168%{__aclocal} -I config
169%{__autoconf}
170%{__autoheader}
171%{__automake}
172%configure \
173 bashcompdir=%{bash_compdir} \
174 db2xman=docbook2X2man \
175 --disable-rpath \
176 --enable-bash \
177 --enable-doc \
178 --enable-examples \
179 %{__enable_disable apparmor} \
180 %{__enable_disable cgmanager} \
181 %{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
182 %{__enable_disable python} \
183 %{__enable_disable seccomp} \
184 %{__enable_disable selinux} \
185 --with-config-path=%{configpath} \
186 --with-init-script=sysvinit,systemd \
187 --with-runtime-path=/var/run \
188 --with-distro=pld
189
190%{__make}
191%{__make} -C doc
192
193%install
194rm -rf $RPM_BUILD_ROOT
195install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
196 -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
197
198%{__make} install \
199 SYSTEMD_UNIT_DIR=%{systemdunitdir} \
200 pcdatadir=%{_pkgconfigdir} \
201 DESTDIR=$RPM_BUILD_ROOT
202
203%{__make} -C doc install \
204 DESTDIR=$RPM_BUILD_ROOT
205
206%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblxc.la
207
208%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
209
210# apparmor profiles are not packaged, remove to avoid packagers confusion
211%{__rm} -r $RPM_BUILD_ROOT/etc/apparmor.d
212
213# yum plugin, no idea where to package this
214%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
215
216install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/lxc_macvlan
217install -p %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/lxc_macvlan
218
219%if %{with python}
220%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
221%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
222%endif
223%if %{with lua}
224%{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua5.1,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
225%endif
226
227%clean
228rm -rf $RPM_BUILD_ROOT
229
230%post
231/sbin/chkconfig --add lxc
232/sbin/chkconfig --add lxc-net
233%systemd_post lxc.service lxc-net.service
234
235%preun
236if [ "$1" = "0" ]; then
237 %service lxc stop
238 /sbin/chkconfig --del lxc
239 %service lxc-net stop
240 /sbin/chkconfig --del lxc-net
241fi
242%systemd_preun lxc.service lxc-net.service
243
244%postun
245%systemd_reload
246
247%post libs -p /sbin/ldconfig
248%postun libs -p /sbin/ldconfig
249
250%files
251%defattr(644,root,root,755)
252%doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
253%attr(755,root,root) %{_bindir}/lxc-attach
254%attr(755,root,root) %{_bindir}/lxc-autostart
255%attr(755,root,root) %{_bindir}/lxc-cgroup
256%attr(755,root,root) %{_bindir}/lxc-checkconfig
257%attr(755,root,root) %{_bindir}/lxc-checkpoint
258%attr(755,root,root) %{_bindir}/lxc-copy
259%attr(755,root,root) %{_bindir}/lxc-config
260%attr(755,root,root) %{_bindir}/lxc-console
261%attr(755,root,root) %{_bindir}/lxc-create
262%attr(755,root,root) %{_bindir}/lxc-destroy
263%attr(755,root,root) %{_bindir}/lxc-execute
264%attr(755,root,root) %{_bindir}/lxc-freeze
265%attr(755,root,root) %{_bindir}/lxc-info
266%attr(755,root,root) %{_bindir}/lxc-monitor
267%attr(755,root,root) %{_bindir}/lxc-snapshot
268%attr(755,root,root) %{_bindir}/lxc-start
269%attr(755,root,root) %{_bindir}/lxc-stop
270%attr(755,root,root) %{_bindir}/lxc-unfreeze
271%attr(755,root,root) %{_bindir}/lxc-unshare
272%attr(755,root,root) %{_bindir}/lxc-update-config
273%attr(755,root,root) %{_bindir}/lxc-usernsexec
274%attr(755,root,root) %{_bindir}/lxc-wait
275%attr(755,root,root) %{_sbindir}/init.lxc
276%attr(754,root,root) /etc/rc.d/init.d/lxc
277%attr(754,root,root) /etc/rc.d/init.d/lxc-net
278
279%{systemdunitdir}/lxc.service
280%{systemdunitdir}/lxc@.service
281%{systemdunitdir}/lxc-net.service
282%dir %{_libdir}/%{name}
283%dir %{_libdir}/%{name}/rootfs
284%{_libdir}/%{name}/rootfs/README
285%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/archlinux.*.conf
302%{_datadir}/%{name}/config/centos.*.conf
303%{_datadir}/%{name}/config/common.conf
304%dir %{_datadir}/%{name}/config/common.conf.d
305%{_datadir}/%{name}/config/common.conf.d/README
306%{_datadir}/%{name}/config/common.seccomp
307%{_datadir}/%{name}/config/alpine.*.conf
308%{_datadir}/%{name}/config/debian.*.conf
309%{_datadir}/%{name}/config/fedora.*.conf
310%{_datadir}/%{name}/config/gentoo.*.conf
311%{_datadir}/%{name}/config/nesting.conf
312%{_datadir}/%{name}/config/opensuse.*.conf
313%{_datadir}/%{name}/config/openwrt.*.conf
314%{_datadir}/%{name}/config/oracle.*.conf
315%{_datadir}/%{name}/config/plamo.*.conf
316%{_datadir}/%{name}/config/sabayon.common.conf
317%{_datadir}/%{name}/config/sabayon.userns.conf
318%{_datadir}/%{name}/config/slackware.*.conf
319%{_datadir}/%{name}/config/sparclinux.*.conf
320%{_datadir}/%{name}/config/ubuntu-cloud.*.conf
321%{_datadir}/%{name}/config/ubuntu.*.conf
322%{_datadir}/%{name}/config/userns.conf
323%{_datadir}/%{name}/config/voidlinux.common.conf
324%{_datadir}/%{name}/config/voidlinux.userns.conf
325%dir %{_datadir}/%{name}/hooks
326%dir %{_datadir}/%{name}/selinux
327%{_datadir}/%{name}/selinux/*
328%dir %{_datadir}/%{name}/templates
329%attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
330%attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
331%attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
332%attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
333%attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
334%{_mandir}/man1/lxc-attach.1*
335%{_mandir}/man1/lxc-autostart.1*
336%{_mandir}/man1/lxc-cgroup.1*
337%{_mandir}/man1/lxc-checkconfig.1*
338%{_mandir}/man1/lxc-checkpoint.1*
339%{_mandir}/man1/lxc-copy.1*
340%{_mandir}/man1/lxc-config.1*
341%{_mandir}/man1/lxc-console.1*
342%{_mandir}/man1/lxc-create.1*
343%{_mandir}/man1/lxc-destroy.1*
344%{_mandir}/man1/lxc-execute.1*
345%{_mandir}/man1/lxc-freeze.1*
346%{_mandir}/man1/lxc-info.1*
347%{_mandir}/man1/lxc-monitor.1*
348%{_mandir}/man1/lxc-snapshot.1*
349%{_mandir}/man1/lxc-start.1*
350%{_mandir}/man1/lxc-stop.1*
351%{_mandir}/man1/lxc-unfreeze.1*
352%{_mandir}/man1/lxc-unshare.1*
353%{_mandir}/man1/lxc-update-config.1*
354%{_mandir}/man1/lxc-user-nic.1*
355%{_mandir}/man1/lxc-usernsexec.1*
356%{_mandir}/man1/lxc-wait.1*
357%{_mandir}/man5/lxc-usernet.5*
358%{_mandir}/man5/lxc.conf.5*
359%{_mandir}/man5/lxc.container.conf.5*
360%{_mandir}/man5/lxc.system.conf.5*
361%{_mandir}/man7/lxc.7*
362%lang(ja) %{_mandir}/ja/man1/lxc*.1*
363%lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
364%lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
365%lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
366%lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
367%lang(ja) %{_mandir}/ja/man7/lxc.7*
368%exclude %{_mandir}/ja/man1/lxc-device.1*
369%exclude %{_mandir}/ja/man1/lxc-ls.1*
370%exclude %{_mandir}/ja/man1/lxc-top.1*
371%lang(ko) %{_mandir}/ko/man1/lxc*.1*
372%lang(ko) %{_mandir}/ko/man5/lxc-usernet.5*
373%lang(ko) %{_mandir}/ko/man5/lxc.conf.5*
374%lang(ko) %{_mandir}/ko/man5/lxc.container.conf.5*
375%lang(ko) %{_mandir}/ko/man5/lxc.system.conf.5*
376%lang(ko) %{_mandir}/ko/man7/lxc.7*
377%exclude %{_mandir}/ko/man1/lxc-device.1*
378%exclude %{_mandir}/ko/man1/lxc-ls.1*
379%exclude %{_mandir}/ko/man1/lxc-top.1*
380
381%if %{without python}
382# legacy version
383%attr(755,root,root) %{_bindir}/lxc-ls
384%{_mandir}/man1/lxc-ls.1*
385%lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
386%lang(ko) %{_mandir}/ko/man1/lxc-ls.1*
387%endif
388
389%dir %{configpath}
390%dir %{configpath}snap
391%dir %attr(750,root,root) /var/log/lxc
392%dir %attr(750,root,root) /var/cache/lxc
393
394%files libs
395%defattr(644,root,root,755)
396%attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
397%attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
398
399%files devel
400%defattr(644,root,root,755)
401%attr(755,root,root) %{_libdir}/liblxc.so
402%{_includedir}/lxc
403%{_pkgconfigdir}/lxc.pc
404
405%if %{with lua}
406%files -n lua-lxc
407%defattr(644,root,root,755)
408%attr(755,root,root) %{_bindir}/lxc-top
409%dir %{_libdir}/lua/lxc
410%attr(755,root,root) %{_libdir}/lua/lxc/core.so
411%{_datadir}/lua/lxc.lua
412%{_mandir}/man1/lxc-top.1*
413%lang(ja) %{_mandir}/ja/man1/lxc-top.1*
414%lang(ko) %{_mandir}/ko/man1/lxc-top.1*
415%endif
416
417%if %{with python}
418%files -n python3-lxc
419%defattr(644,root,root,755)
420%attr(755,root,root) %{_bindir}/lxc-device
421%attr(755,root,root) %{_bindir}/lxc-ls
422%{py3_sitedir}/lxc
423%attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
424%{py3_sitedir}/lxc-0.1-py*.egg-info
425%{_mandir}/man1/lxc-device.1*
426%{_mandir}/man1/lxc-ls.1*
427%lang(ja) %{_mandir}/ja/man1/lxc-device.1*
428%lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
429%lang(ko) %{_mandir}/ko/man1/lxc-device.1*
430%lang(ko) %{_mandir}/ko/man1/lxc-ls.1*
431%endif
432
433%files -n bash-completion-%{name}
434%defattr(644,root,root,755)
435%{bash_compdir}/lxc
This page took 0.394925 seconds and 4 git commands to generate.