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