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