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