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