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