]> git.pld-linux.org Git - packages/lxc.git/blame - lxc.spec
noarch bash-completions package
[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
5fb2cd31 21Release: 3
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 152Requires: bash-completion
5fb2cd31
ER
153%if "%{_rpmversion}" >= "5"
154BuildArch: noarch
155%endif
4e82464d
ER
156
157%description -n bash-completion-%{name}
158bash-completion for LXC.
159
160%description -n bash-completion-%{name} -l pl.UTF-8
161bashowe uzupełnianie nazw dla LXC.
162
0886a606 163%prep
9db966c1 164%setup -q
a71266b2 165%patch0 -p0
67c70229 166%patch1 -p1
0886a606 167
8a96554a
ER
168cp -p %{SOURCE1} templates/lxc-pld.in
169
0886a606 170%build
28bd4b4b 171%{__libtoolize}
67c70229
JB
172%{__aclocal} -I config
173%{__autoconf}
174%{__autoheader}
175%{__automake}
e5afa52e 176%configure \
28bd4b4b 177 bashcompdir=%{bash_compdir} \
67c70229
JB
178 db2xman=docbook2X2man \
179 --disable-rpath \
8ba1db82 180 --enable-bash \
67c70229 181 --enable-doc \
120ac263 182 --enable-examples \
ccd4948a 183 %{__enable_disable apparmor} \
f2738357 184 %{__enable_disable cgmanager} \
247c2ba9 185 %{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
ccd4948a
ER
186 %{__enable_disable python} \
187 %{__enable_disable seccomp} \
120ac263 188 %{__enable_disable selinux} \
67c70229 189 --with-config-path=%{configpath} \
8ba1db82 190 --with-init-script=sysvinit,systemd \
9db966c1 191 --with-runtime-path=/var/run \
67c70229 192 --with-distro=pld
0886a606
AM
193
194%{__make}
e5afa52e 195%{__make} -C doc
0886a606
AM
196
197%install
198rm -rf $RPM_BUILD_ROOT
56ecc5fa 199install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
46f2854c 200 -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
4d6732e1 201
0886a606 202%{__make} install \
7e4c14a6
ER
203 SYSTEMD_UNIT_DIR=%{systemdunitdir} \
204 pcdatadir=%{_pkgconfigdir} \
205 DESTDIR=$RPM_BUILD_ROOT
33aee790 206
e5afa52e 207%{__make} -C doc install \
0886a606 208 DESTDIR=$RPM_BUILD_ROOT
33aee790 209
8caba3bf
JB
210%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblxc.la
211
21c5c666 212%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
0886a606 213
6a2933ce
ER
214# apparmor profiles are not packaged, remove to avoid packagers confusion
215%{__rm} -r $RPM_BUILD_ROOT/etc/apparmor.d
216
ce58f702
ER
217# yum plugin, no idea where to package this
218%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
219
1dd4bfdd
LG
220install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/lxc_macvlan
221install -p %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/%{name}/lxc_macvlan
222
67c70229
JB
223%if %{with python}
224%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
225%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
226%endif
c34ce688 227%if %{with lua}
ef5bd4a4 228%{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua5.1,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
c34ce688 229%endif
67c70229 230
0886a606
AM
231%clean
232rm -rf $RPM_BUILD_ROOT
233
75133c9e 234%post
46f2854c 235/sbin/chkconfig --add lxc
5e7929a2 236/sbin/chkconfig --add lxc-net
5e7929a2 237%systemd_post lxc.service lxc-net.service
46f2854c 238
46f2854c
MK
239%preun
240if [ "$1" = "0" ]; then
241 %service lxc stop
242 /sbin/chkconfig --del lxc
5e7929a2
JK
243 %service lxc-net stop
244 /sbin/chkconfig --del lxc-net
46f2854c 245fi
5e7929a2 246%systemd_preun lxc.service lxc-net.service
46f2854c 247
5e7929a2 248%postun
5e7929a2 249%systemd_reload
46f2854c 250
19fd2939
ER
251%post libs -p /sbin/ldconfig
252%postun libs -p /sbin/ldconfig
253
0886a606
AM
254%files
255%defattr(644,root,root,755)
58add690 256%doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
c34ce688 257%attr(755,root,root) %{_bindir}/lxc-attach
7e4c14a6 258%attr(755,root,root) %{_bindir}/lxc-autostart
c34ce688
JB
259%attr(755,root,root) %{_bindir}/lxc-cgroup
260%attr(755,root,root) %{_bindir}/lxc-checkconfig
72fb3a26 261%attr(755,root,root) %{_bindir}/lxc-checkpoint
a71266b2 262%attr(755,root,root) %{_bindir}/lxc-copy
247c2ba9 263%attr(755,root,root) %{_bindir}/lxc-config
c34ce688
JB
264%attr(755,root,root) %{_bindir}/lxc-console
265%attr(755,root,root) %{_bindir}/lxc-create
266%attr(755,root,root) %{_bindir}/lxc-destroy
267%attr(755,root,root) %{_bindir}/lxc-execute
268%attr(755,root,root) %{_bindir}/lxc-freeze
269%attr(755,root,root) %{_bindir}/lxc-info
c34ce688 270%attr(755,root,root) %{_bindir}/lxc-monitor
247c2ba9 271%attr(755,root,root) %{_bindir}/lxc-snapshot
c34ce688
JB
272%attr(755,root,root) %{_bindir}/lxc-start
273%attr(755,root,root) %{_bindir}/lxc-stop
274%attr(755,root,root) %{_bindir}/lxc-unfreeze
275%attr(755,root,root) %{_bindir}/lxc-unshare
120ac263 276%attr(755,root,root) %{_bindir}/lxc-usernsexec
c34ce688 277%attr(755,root,root) %{_bindir}/lxc-wait
ce58f702 278%attr(755,root,root) %{_sbindir}/init.lxc
7e4c14a6 279%attr(754,root,root) /etc/rc.d/init.d/lxc
72fb3a26 280%attr(754,root,root) /etc/rc.d/init.d/lxc-net
46f2854c 281
7e4c14a6 282%{systemdunitdir}/lxc.service
56ecc5fa 283%{systemdunitdir}/lxc@.service
72fb3a26 284%{systemdunitdir}/lxc-net.service
8ba1db82
ER
285%dir %{_libdir}/%{name}
286%dir %{_libdir}/%{name}/rootfs
287%{_libdir}/%{name}/rootfs/README
72fb3a26
JK
288%attr(755,root,root) %{_libdir}/%{name}/lxc-apparmor-load
289%attr(755,root,root) %{_libdir}/%{name}/lxc-containers
8ba1db82 290%attr(755,root,root) %{_libdir}/%{name}/lxc-monitord
72fb3a26 291%attr(755,root,root) %{_libdir}/%{name}/lxc-net
8ba1db82 292%attr(755,root,root) %{_libdir}/%{name}/lxc-user-nic
1dd4bfdd 293%attr(755,root,root) %{_libdir}/%{name}/lxc_macvlan
dc9a5b3b 294%dir %{_sysconfdir}/lxc
46f2854c 295%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc_macvlan
72fb3a26 296%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/lxc
67c70229 297%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
120ac263 298%dir %{_datadir}/%{name}
f5933d47 299%{_datadir}/%{name}/lxc.functions
120ac263 300%dir %{_datadir}/%{name}/config
72fb3a26 301%{_datadir}/%{name}/config/archlinux.*.conf
8ba1db82 302%{_datadir}/%{name}/config/centos.*.conf
72fb3a26
JK
303%{_datadir}/%{name}/config/common.conf
304%dir %{_datadir}/%{name}/config/common.conf.d
305%{_datadir}/%{name}/config/common.conf.d/README
b93f2cb9 306%{_datadir}/%{name}/config/common.seccomp
56ecc5fa 307%{_datadir}/%{name}/config/alpine.*.conf
8ba1db82
ER
308%{_datadir}/%{name}/config/debian.*.conf
309%{_datadir}/%{name}/config/fedora.*.conf
3f7b319e 310%{_datadir}/%{name}/config/gentoo.*.conf
e1610aa3 311%{_datadir}/%{name}/config/nesting.conf
72fb3a26
JK
312%{_datadir}/%{name}/config/opensuse.*.conf
313%{_datadir}/%{name}/config/openwrt.*.conf
8ba1db82
ER
314%{_datadir}/%{name}/config/oracle.*.conf
315%{_datadir}/%{name}/config/plamo.*.conf
56ecc5fa
JB
316%{_datadir}/%{name}/config/slackware.*.conf
317%{_datadir}/%{name}/config/sparclinux.*.conf
8ba1db82
ER
318%{_datadir}/%{name}/config/ubuntu-cloud.*.conf
319%{_datadir}/%{name}/config/ubuntu.*.conf
72fb3a26 320%{_datadir}/%{name}/config/userns.conf
a71266b2 321%dir %{_libdir}/%{name}/hooks
f5933d47 322%dir %{_datadir}/%{name}/hooks
72fb3a26
JK
323%dir %{_datadir}/%{name}/selinux
324%{_datadir}/%{name}/selinux/*
f5933d47 325%dir %{_datadir}/%{name}/templates
247c2ba9 326%attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
7e4c14a6
ER
327%attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
328%attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
247c2ba9 329%attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
f5933d47 330%attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
a71266b2 331%attr(755,root,root) %{_libdir}/%{name}/hooks/unmount-namespace
c34ce688 332%{_mandir}/man1/lxc-attach.1*
7e4c14a6 333%{_mandir}/man1/lxc-autostart.1*
c34ce688
JB
334%{_mandir}/man1/lxc-cgroup.1*
335%{_mandir}/man1/lxc-checkconfig.1*
72fb3a26 336%{_mandir}/man1/lxc-checkpoint.1*
a71266b2 337%{_mandir}/man1/lxc-copy.1*
8ba1db82 338%{_mandir}/man1/lxc-config.1*
c34ce688
JB
339%{_mandir}/man1/lxc-console.1*
340%{_mandir}/man1/lxc-create.1*
341%{_mandir}/man1/lxc-destroy.1*
342%{_mandir}/man1/lxc-execute.1*
343%{_mandir}/man1/lxc-freeze.1*
344%{_mandir}/man1/lxc-info.1*
c34ce688 345%{_mandir}/man1/lxc-monitor.1*
247c2ba9 346%{_mandir}/man1/lxc-snapshot.1*
c34ce688
JB
347%{_mandir}/man1/lxc-start.1*
348%{_mandir}/man1/lxc-stop.1*
349%{_mandir}/man1/lxc-unfreeze.1*
350%{_mandir}/man1/lxc-unshare.1*
120ac263 351%{_mandir}/man1/lxc-user-nic.1*
8ba1db82 352%{_mandir}/man1/lxc-usernsexec.1*
c34ce688 353%{_mandir}/man1/lxc-wait.1*
120ac263 354%{_mandir}/man5/lxc-usernet.5*
67c70229 355%{_mandir}/man5/lxc.conf.5*
8ba1db82
ER
356%{_mandir}/man5/lxc.container.conf.5*
357%{_mandir}/man5/lxc.system.conf.5*
67c70229 358%{_mandir}/man7/lxc.7*
247c2ba9 359%lang(ja) %{_mandir}/ja/man1/lxc*.1*
7e4c14a6 360%lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
247c2ba9 361%lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
8ba1db82
ER
362%lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
363%lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
247c2ba9
ER
364%lang(ja) %{_mandir}/ja/man7/lxc.7*
365%exclude %{_mandir}/ja/man1/lxc-device.1*
366%exclude %{_mandir}/ja/man1/lxc-ls.1*
247c2ba9 367%exclude %{_mandir}/ja/man1/lxc-top.1*
56ecc5fa
JB
368%lang(ko) %{_mandir}/ko/man1/lxc*.1*
369%lang(ko) %{_mandir}/ko/man5/lxc-usernet.5*
370%lang(ko) %{_mandir}/ko/man5/lxc.conf.5*
371%lang(ko) %{_mandir}/ko/man5/lxc.container.conf.5*
372%lang(ko) %{_mandir}/ko/man5/lxc.system.conf.5*
373%lang(ko) %{_mandir}/ko/man7/lxc.7*
374%exclude %{_mandir}/ko/man1/lxc-device.1*
375%exclude %{_mandir}/ko/man1/lxc-ls.1*
376%exclude %{_mandir}/ko/man1/lxc-top.1*
247c2ba9 377
c34ce688
JB
378%if %{without python}
379# legacy version
380%attr(755,root,root) %{_bindir}/lxc-ls
381%{_mandir}/man1/lxc-ls.1*
56ecc5fa
JB
382%lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
383%lang(ko) %{_mandir}/ko/man1/lxc-ls.1*
c34ce688 384%endif
0886a606 385
ff8ce371 386%dir %{configpath}
39773dac 387%dir %{configpath}snap
f10dfb13
ER
388%dir %attr(750,root,root) /var/log/lxc
389%dir %attr(750,root,root) /var/cache/lxc
ff8ce371 390
19fd2939
ER
391%files libs
392%defattr(644,root,root,755)
393%attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
394%attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
395
0886a606
AM
396%files devel
397%defattr(644,root,root,755)
0886a606 398%attr(755,root,root) %{_libdir}/liblxc.so
67c70229 399%{_includedir}/lxc
e5afa52e 400%{_pkgconfigdir}/lxc.pc
67c70229
JB
401
402%if %{with lua}
403%files -n lua-lxc
404%defattr(644,root,root,755)
c34ce688 405%attr(755,root,root) %{_bindir}/lxc-top
247c2ba9
ER
406%dir %{_libdir}/lua/lxc
407%attr(755,root,root) %{_libdir}/lua/lxc/core.so
408%{_datadir}/lua/lxc.lua
c34ce688 409%{_mandir}/man1/lxc-top.1*
247c2ba9 410%lang(ja) %{_mandir}/ja/man1/lxc-top.1*
56ecc5fa 411%lang(ko) %{_mandir}/ko/man1/lxc-top.1*
67c70229
JB
412%endif
413
414%if %{with python}
415%files -n python3-lxc
416%defattr(644,root,root,755)
c34ce688
JB
417%attr(755,root,root) %{_bindir}/lxc-device
418%attr(755,root,root) %{_bindir}/lxc-ls
67c70229
JB
419%{py3_sitedir}/lxc
420%attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
421%{py3_sitedir}/_lxc-0.1-py*.egg-info
c34ce688
JB
422%{_mandir}/man1/lxc-device.1*
423%{_mandir}/man1/lxc-ls.1*
247c2ba9
ER
424%lang(ja) %{_mandir}/ja/man1/lxc-device.1*
425%lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
56ecc5fa
JB
426%lang(ko) %{_mandir}/ko/man1/lxc-device.1*
427%lang(ko) %{_mandir}/ko/man1/lxc-ls.1*
67c70229 428%endif
4e82464d
ER
429
430%files -n bash-completion-%{name}
431%defattr(644,root,root,755)
09d764a3 432%{bash_compdir}/lxc
This page took 0.098281 seconds and 4 git commands to generate.