]> git.pld-linux.org Git - packages/lxc.git/blame - lxc.spec
- python3 rebuild
[packages/lxc.git] / lxc.spec
CommitLineData
8ba1db82 1# TODO
72fb3a26 2# - what to do lxc_macvlan.init, when upstream provided lxc-net.init?
8ba1db82
ER
3# - package apparmor stuff
4
67c70229 5# Conditional build:
5dbfe331
JB
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
f2738357 11%bcond_with cgmanager # cgmanager support
21c5c666 12
247c2ba9 13Summary: Linux Containers userspace tools
67c70229 14Summary(pl.UTF-8): Narzędzia do kontenerów linuksowych (LXC)
0886a606 15Name: lxc
5dbfe331 16Version: 1.1.2
332538f9 17Release: 2
c34ce688 18License: LGPL v2.1+
67c70229 19Group: Applications/System
5dbfe331
JB
20Source0: https://linuxcontainers.org/downloads/lxc/%{name}-%{version}.tar.gz
21# Source0-md5: 3ebadacf5fe8bfe689fd7a09812b682c
adc39309 22Source1: %{name}-pld.in.sh
72fb3a26
JK
23Source2: %{name}_macvlan.init
24Source3: %{name}_macvlan.sysconfig
de64e6ac
JR
25Patch0: %{name}-pld.patch
26Patch1: x32.patch
6a2933ce 27URL: https://www.linuxcontainers.org/
67c70229
JB
28BuildRequires: autoconf >= 2.50
29BuildRequires: automake
f2738357
JB
30%{?with_cgmanager:BuildRequires: cgmanager-devel}
31%{?with_cgmanager:BuildRequires: dbus-devel >= 1.2.16}
e5afa52e 32BuildRequires: docbook-dtd30-sgml
33BuildRequires: docbook-utils
21c5c666 34BuildRequires: docbook2X
7e4c14a6 35BuildRequires: gnutls-devel
ccd4948a 36%{?with_apparmor:BuildRequires: libapparmor-devel}
4e32c712 37BuildRequires: libcap-devel
f2738357 38%{?with_cgmanager:BuildRequires: libnih-devel >= 1.0.2}
67c70229 39%{?with_seccomp:BuildRequires: libseccomp-devel}
82a3991b 40BuildRequires: libxslt-progs
67c70229
JB
41%{?with_lua:BuildRequires: lua51-devel >= 5.1}
42BuildRequires: pkgconfig
5dbfe331 43%{?with_python:BuildRequires: python3-devel >= 1:3.2}
82a3991b 44BuildRequires: rpm-pythonprov
5e7929a2 45BuildRequires: rpmbuild(macros) >= 1.671
c34ce688 46BuildRequires: sed >= 4.0
7e514b06 47Requires: rc-scripts >= 0.4.6
adc39309 48Requires: which
72d9317d 49Requires: iproute2
5e7929a2 50Requires: systemd-units >= 38
72d9317d
MK
51Requires(post,preun): /sbin/chkconfig
52Requires(post): /sbin/ldconfig
7f0b7e89 53Suggests: gnupg
16cf226e
ER
54Suggests: gnupg-plugin-keys_curl
55Suggests: gnupg-plugin-keys_hkp
21c5c666 56Suggests: net-tools
b93f2cb9 57Suggests: python3-lxc
b335abc0 58Suggests: rsync
0886a606
AM
59BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
e5afa52e 61%define configpath /var/lib/lxc
62
0886a606
AM
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
67c70229
JB
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
0886a606 83%package devel
67c70229
JB
84Summary: Header files for lxc library
85Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
0886a606 86Group: Development/Libraries
67c70229 87Requires: %{name} = %{version}-%{release}
0886a606
AM
88
89%description devel
67c70229
JB
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
91c8fae7 114Requires: python3-modules
67c70229
JB
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.
0886a606 121
4e82464d
ER
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
0886a606 135%prep
9db966c1 136%setup -q
de64e6ac 137%patch0 -p1
67c70229 138%patch1 -p1
0886a606 139
8a96554a
ER
140cp -p %{SOURCE1} templates/lxc-pld.in
141
0886a606 142%build
67c70229
JB
143%{__aclocal} -I config
144%{__autoconf}
145%{__autoheader}
146%{__automake}
e5afa52e 147%configure \
67c70229
JB
148 db2xman=docbook2X2man \
149 --disable-rpath \
8ba1db82 150 --enable-bash \
67c70229 151 --enable-doc \
120ac263 152 --enable-examples \
ccd4948a 153 %{__enable_disable apparmor} \
f2738357 154 %{__enable_disable cgmanager} \
247c2ba9 155 %{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
ccd4948a
ER
156 %{__enable_disable python} \
157 %{__enable_disable seccomp} \
120ac263 158 %{__enable_disable selinux} \
67c70229 159 --with-config-path=%{configpath} \
8ba1db82 160 --with-init-script=sysvinit,systemd \
9db966c1 161 --with-runtime-path=/var/run \
67c70229 162 --with-distro=pld
0886a606
AM
163
164%{__make}
e5afa52e 165%{__make} -C doc
0886a606
AM
166
167%install
168rm -rf $RPM_BUILD_ROOT
4d6732e1 169install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
46f2854c 170 -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
4d6732e1 171
0886a606 172%{__make} install \
7e4c14a6
ER
173 SYSTEMD_UNIT_DIR=%{systemdunitdir} \
174 pcdatadir=%{_pkgconfigdir} \
175 DESTDIR=$RPM_BUILD_ROOT
33aee790 176
e5afa52e 177%{__make} -C doc install \
0886a606 178 DESTDIR=$RPM_BUILD_ROOT
33aee790 179
21c5c666 180%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
0886a606 181
6a2933ce
ER
182# apparmor profiles are not packaged, remove to avoid packagers confusion
183%{__rm} -r $RPM_BUILD_ROOT/etc/apparmor.d
184
ce58f702
ER
185# yum plugin, no idea where to package this
186%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
187
72fb3a26
JK
188install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/lxc_macvlan
189install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/lxc_macvlan
4d6732e1 190
67c70229
JB
191%if %{with python}
192%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
193%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
194%endif
c34ce688 195%if %{with lua}
ef5bd4a4 196%{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua5.1,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
c34ce688 197%endif
67c70229 198
0886a606
AM
199%clean
200rm -rf $RPM_BUILD_ROOT
201
72d9317d
MK
202%post
203/sbin/ldconfig
46f2854c 204/sbin/chkconfig --add lxc
5e7929a2 205/sbin/chkconfig --add lxc-net
46f2854c 206/sbin/chkconfig --add lxc_macvlan
5e7929a2 207%systemd_post lxc.service lxc-net.service
46f2854c 208
46f2854c
MK
209%preun
210if [ "$1" = "0" ]; then
211 %service lxc stop
212 /sbin/chkconfig --del lxc
5e7929a2
JK
213 %service lxc-net stop
214 /sbin/chkconfig --del lxc-net
46f2854c
MK
215 %service lxc_macvlan stop
216 /sbin/chkconfig --del lxc_macvlan
217fi
5e7929a2 218%systemd_preun lxc.service lxc-net.service
46f2854c 219
5e7929a2
JK
220%postun
221/sbin/ldconfig
222%systemd_reload
46f2854c 223
0886a606
AM
224%files
225%defattr(644,root,root,755)
58add690 226%doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
c34ce688 227%attr(755,root,root) %{_bindir}/lxc-attach
7e4c14a6 228%attr(755,root,root) %{_bindir}/lxc-autostart
c34ce688
JB
229%attr(755,root,root) %{_bindir}/lxc-cgroup
230%attr(755,root,root) %{_bindir}/lxc-checkconfig
72fb3a26 231%attr(755,root,root) %{_bindir}/lxc-checkpoint
c34ce688 232%attr(755,root,root) %{_bindir}/lxc-clone
247c2ba9 233%attr(755,root,root) %{_bindir}/lxc-config
c34ce688
JB
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
c34ce688 240%attr(755,root,root) %{_bindir}/lxc-monitor
247c2ba9 241%attr(755,root,root) %{_bindir}/lxc-snapshot
c34ce688
JB
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
120ac263 246%attr(755,root,root) %{_bindir}/lxc-usernsexec
c34ce688 247%attr(755,root,root) %{_bindir}/lxc-wait
ce58f702 248%attr(755,root,root) %{_sbindir}/init.lxc
e5afa52e 249%attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
247c2ba9 250%attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
7e4c14a6 251%attr(754,root,root) /etc/rc.d/init.d/lxc
72fb3a26 252%attr(754,root,root) /etc/rc.d/init.d/lxc-net
46f2854c
MK
253%attr(754,root,root) /etc/rc.d/init.d/lxc_macvlan
254
7e4c14a6 255%{systemdunitdir}/lxc.service
72fb3a26 256%{systemdunitdir}/lxc-net.service
8ba1db82
ER
257%dir %{_libdir}/%{name}
258%dir %{_libdir}/%{name}/rootfs
259%{_libdir}/%{name}/rootfs/README
72fb3a26
JK
260%attr(755,root,root) %{_libdir}/%{name}/lxc-apparmor-load
261%attr(755,root,root) %{_libdir}/%{name}/lxc-containers
8ba1db82 262%attr(755,root,root) %{_libdir}/%{name}/lxc-devsetup
8ba1db82 263%attr(755,root,root) %{_libdir}/%{name}/lxc-monitord
72fb3a26 264%attr(755,root,root) %{_libdir}/%{name}/lxc-net
8ba1db82 265%attr(755,root,root) %{_libdir}/%{name}/lxc-user-nic
dc9a5b3b 266%dir %{_sysconfdir}/lxc
46f2854c 267%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc_macvlan
72fb3a26 268%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc
67c70229 269%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
120ac263 270%dir %{_datadir}/%{name}
f5933d47 271%{_datadir}/%{name}/lxc.functions
72fb3a26 272%attr(755,root,root) %{_datadir}/%{name}/lxc-restore-net
120ac263 273%dir %{_datadir}/%{name}/config
72fb3a26 274%{_datadir}/%{name}/config/archlinux.*.conf
8ba1db82 275%{_datadir}/%{name}/config/centos.*.conf
72fb3a26
JK
276%{_datadir}/%{name}/config/common.conf
277%dir %{_datadir}/%{name}/config/common.conf.d
278%{_datadir}/%{name}/config/common.conf.d/README
b93f2cb9 279%{_datadir}/%{name}/config/common.seccomp
8ba1db82
ER
280%{_datadir}/%{name}/config/debian.*.conf
281%{_datadir}/%{name}/config/fedora.*.conf
3f7b319e 282%{_datadir}/%{name}/config/gentoo.*.conf
72fb3a26
JK
283%{_datadir}/%{name}/config/opensuse.*.conf
284%{_datadir}/%{name}/config/openwrt.*.conf
8ba1db82
ER
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
72fb3a26 289%{_datadir}/%{name}/config/userns.conf
f5933d47 290%dir %{_datadir}/%{name}/hooks
72fb3a26
JK
291%dir %{_datadir}/%{name}/selinux
292%{_datadir}/%{name}/selinux/*
f5933d47 293%dir %{_datadir}/%{name}/templates
247c2ba9 294%attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
7e4c14a6
ER
295%attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
296%attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
247c2ba9 297%attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
f5933d47 298%attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
c34ce688 299%{_mandir}/man1/lxc-attach.1*
7e4c14a6 300%{_mandir}/man1/lxc-autostart.1*
c34ce688
JB
301%{_mandir}/man1/lxc-cgroup.1*
302%{_mandir}/man1/lxc-checkconfig.1*
72fb3a26 303%{_mandir}/man1/lxc-checkpoint.1*
c34ce688 304%{_mandir}/man1/lxc-clone.1*
8ba1db82 305%{_mandir}/man1/lxc-config.1*
c34ce688
JB
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*
c34ce688 312%{_mandir}/man1/lxc-monitor.1*
247c2ba9 313%{_mandir}/man1/lxc-snapshot.1*
c34ce688
JB
314%{_mandir}/man1/lxc-start.1*
315%{_mandir}/man1/lxc-stop.1*
316%{_mandir}/man1/lxc-unfreeze.1*
317%{_mandir}/man1/lxc-unshare.1*
120ac263 318%{_mandir}/man1/lxc-user-nic.1*
8ba1db82 319%{_mandir}/man1/lxc-usernsexec.1*
c34ce688 320%{_mandir}/man1/lxc-wait.1*
120ac263 321%{_mandir}/man5/lxc-usernet.5*
67c70229 322%{_mandir}/man5/lxc.conf.5*
8ba1db82
ER
323%{_mandir}/man5/lxc.container.conf.5*
324%{_mandir}/man5/lxc.system.conf.5*
67c70229 325%{_mandir}/man7/lxc.7*
247c2ba9 326%lang(ja) %{_mandir}/ja/man1/lxc*.1*
7e4c14a6 327%lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
247c2ba9 328%lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
8ba1db82
ER
329%lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
330%lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
247c2ba9
ER
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
b93f2cb9 337
c34ce688
JB
338%if %{without python}
339# legacy version
340%attr(755,root,root) %{_bindir}/lxc-ls
341%{_mandir}/man1/lxc-ls.1*
342%endif
0886a606 343
ff8ce371 344%dir %{configpath}
39773dac 345%dir %{configpath}snap
f10dfb13
ER
346%dir %attr(750,root,root) /var/log/lxc
347%dir %attr(750,root,root) /var/cache/lxc
ff8ce371 348
0886a606
AM
349%files devel
350%defattr(644,root,root,755)
0886a606 351%attr(755,root,root) %{_libdir}/liblxc.so
67c70229 352%{_includedir}/lxc
e5afa52e 353%{_pkgconfigdir}/lxc.pc
67c70229
JB
354
355%if %{with lua}
356%files -n lua-lxc
357%defattr(644,root,root,755)
c34ce688 358%attr(755,root,root) %{_bindir}/lxc-top
247c2ba9
ER
359%dir %{_libdir}/lua/lxc
360%attr(755,root,root) %{_libdir}/lua/lxc/core.so
361%{_datadir}/lua/lxc.lua
c34ce688 362%{_mandir}/man1/lxc-top.1*
247c2ba9 363%lang(ja) %{_mandir}/ja/man1/lxc-top.1*
67c70229
JB
364%endif
365
366%if %{with python}
367%files -n python3-lxc
368%defattr(644,root,root,755)
c34ce688
JB
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
67c70229
JB
372%{py3_sitedir}/lxc
373%attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
374%{py3_sitedir}/_lxc-0.1-py*.egg-info
c34ce688
JB
375%{_mandir}/man1/lxc-device.1*
376%{_mandir}/man1/lxc-ls.1*
377%{_mandir}/man1/lxc-start-ephemeral.1*
247c2ba9
ER
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*
67c70229 381%endif
4e82464d
ER
382
383%files -n bash-completion-%{name}
384%defattr(644,root,root,755)
385/etc/bash_completion.d/lxc
This page took 0.103548 seconds and 4 git commands to generate.