]> git.pld-linux.org Git - packages/lxc.git/blame - lxc.spec
- up to 4.0.8
[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 6%bcond_without apparmor # apparmor support
94b9a175
JB
7%bcond_without seccomp # SecComp syscall filter
8%bcond_without static # static init.lxc variant
5dbfe331 9%bcond_with selinux # SELinux support
f2738357 10%bcond_with cgmanager # cgmanager support
94b9a175 11%bcond_without pam # cgfs PAM module
21c5c666 12
247c2ba9 13Summary: Linux Containers userspace tools
67c70229 14Summary(pl.UTF-8): Narzędzia do kontenerów linuksowych (LXC)
0886a606 15Name: lxc
b71d1ce4 16Version: 4.0.8
7af31a12 17Release: 1
c34ce688 18License: LGPL v2.1+
67c70229 19Group: Applications/System
5dbfe331 20Source0: https://linuxcontainers.org/downloads/lxc/%{name}-%{version}.tar.gz
b71d1ce4 21# Source0-md5: d70039fe415ff3f9acbb6d1a78a12c52
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
a71266b2 26Patch1: %{name}-net.patch
216742cb 27Patch2: x32.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
94b9a175
JB
36BuildRequires: gcc >= 6:4.7
37%{?with_static:BuildRequires: glibc-static}
7e4c14a6 38BuildRequires: gnutls-devel
ccd4948a 39%{?with_apparmor:BuildRequires: libapparmor-devel}
4e32c712 40BuildRequires: libcap-devel
94b9a175 41%{?with_static:BuildRequires: libcap-static}
f2738357 42%{?with_cgmanager:BuildRequires: libnih-devel >= 1.0.2}
67c70229 43%{?with_seccomp:BuildRequires: libseccomp-devel}
94b9a175 44BuildRequires: libtool >= 2:2
82a3991b 45BuildRequires: libxslt-progs
94b9a175 46%{?with_pam:BuildRequires: pam-devel}
67c70229 47BuildRequires: pkgconfig
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
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
94b9a175
JB
92%package -n pam-pam_cgfs
93Summary: PAM module to create user cgroups
94Summary(pl.UTF-8): Moduł PAM do tworzenia cgroup użytkownika
95Group: Libraries
96Requires: pam
97
98%description -n pam-pam_cgfs
99PAM module that when a user logs in, will create cgroups which the
100user may administer.
101
102%description -n pam-pam_cgfs -l pl.UTF-8
103Moduł PAM, który przy logowaniu użytkownika tworzy cgroupy, którymi
104użytkownik może administrować.
105
19fd2939
ER
106%package libs
107Summary: liblxc library
56ecc5fa 108Summary(pl.UTF-8): Biblioteka liblxc
19fd2939 109Group: Libraries
56ecc5fa 110Conflicts: lxc < 2.0.4-2
19fd2939
ER
111
112%description libs
113liblxc library.
114
56ecc5fa
JB
115%description libs -l pl.UTF-8
116Biblioteka liblxc.
117
0886a606 118%package devel
67c70229
JB
119Summary: Header files for lxc library
120Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
0886a606 121Group: Development/Libraries
19fd2939 122Requires: %{name}-libs = %{version}-%{release}
0886a606
AM
123
124%description devel
67c70229
JB
125Header files for lxc library.
126
127%description devel -l pl.UTF-8
128Pliki nagłówkowe biblioteki lxc.
129
94b9a175
JB
130%package static
131Summary: Static lxc library
132Summary(pl.UTF-8): Statyczna biblioteka lxc
133Group: Development/Libraries
134Requires: %{name}-devel = %{version}-%{release}
135
136%description static
137Static lxc library.
138
139%description static -l pl.UTF-8
140Statyczna biblioteka lxc.
141
4e82464d
ER
142%package -n bash-completion-%{name}
143Summary: bash-completion for LXC
144Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
145Group: Applications/Shells
56ecc5fa 146Requires: %{name} = %{version}-%{release}
4e82464d 147Requires: bash-completion
5fb2cd31 148BuildArch: noarch
4e82464d
ER
149
150%description -n bash-completion-%{name}
151bash-completion for LXC.
152
153%description -n bash-completion-%{name} -l pl.UTF-8
154bashowe uzupełnianie nazw dla LXC.
155
0886a606 156%prep
9db966c1 157%setup -q
67c70229 158%patch1 -p1
216742cb 159%patch2 -p1
0886a606 160
8a96554a
ER
161cp -p %{SOURCE1} templates/lxc-pld.in
162
0886a606 163%build
28bd4b4b 164%{__libtoolize}
67c70229
JB
165%{__aclocal} -I config
166%{__autoconf}
167%{__autoheader}
168%{__automake}
e5afa52e 169%configure \
28bd4b4b 170 bashcompdir=%{bash_compdir} \
67c70229
JB
171 db2xman=docbook2X2man \
172 --disable-rpath \
94b9a175 173 %{__enable_disable apparmor} \
8ba1db82 174 --enable-bash \
94b9a175 175 %{__enable_disable cgmanager} \
67c70229 176 --enable-doc \
120ac263 177 --enable-examples \
94b9a175 178 %{?with_pam:--enable-pam} \
ccd4948a 179 %{__enable_disable seccomp} \
120ac263 180 %{__enable_disable selinux} \
67c70229 181 --with-config-path=%{configpath} \
94b9a175 182 --with-distro=pld \
8ba1db82 183 --with-init-script=sysvinit,systemd \
94b9a175 184 --with-runtime-path=/var/run
0886a606
AM
185
186%{__make}
e5afa52e 187%{__make} -C doc
0886a606
AM
188
189%install
190rm -rf $RPM_BUILD_ROOT
56ecc5fa 191install -d $RPM_BUILD_ROOT{%{configpath},%{configpath}snap,/var/{cache,log}/lxc} \
46f2854c 192 -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
4d6732e1 193
0886a606 194%{__make} install \
7e4c14a6
ER
195 SYSTEMD_UNIT_DIR=%{systemdunitdir} \
196 pcdatadir=%{_pkgconfigdir} \
197 DESTDIR=$RPM_BUILD_ROOT
33aee790 198
e5afa52e 199%{__make} -C doc install \
0886a606 200 DESTDIR=$RPM_BUILD_ROOT
33aee790 201
8caba3bf
JB
202%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblxc.la
203
21c5c666 204%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
0886a606 205
6a2933ce
ER
206# apparmor profiles are not packaged, remove to avoid packagers confusion
207%{__rm} -r $RPM_BUILD_ROOT/etc/apparmor.d
208
ce58f702
ER
209# yum plugin, no idea where to package this
210%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/lxc-patch.py
211
1dd4bfdd 212install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/lxc_macvlan
d87fbc13 213install -p %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/lxc_macvlan
1dd4bfdd 214
0886a606
AM
215%clean
216rm -rf $RPM_BUILD_ROOT
217
75133c9e 218%post
46f2854c 219/sbin/chkconfig --add lxc
5e7929a2 220/sbin/chkconfig --add lxc-net
5e7929a2 221%systemd_post lxc.service lxc-net.service
46f2854c 222
46f2854c
MK
223%preun
224if [ "$1" = "0" ]; then
225 %service lxc stop
226 /sbin/chkconfig --del lxc
5e7929a2
JK
227 %service lxc-net stop
228 /sbin/chkconfig --del lxc-net
46f2854c 229fi
5e7929a2 230%systemd_preun lxc.service lxc-net.service
46f2854c 231
5e7929a2 232%postun
5e7929a2 233%systemd_reload
46f2854c 234
19fd2939
ER
235%post libs -p /sbin/ldconfig
236%postun libs -p /sbin/ldconfig
237
0886a606
AM
238%files
239%defattr(644,root,root,755)
58add690 240%doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
c34ce688 241%attr(755,root,root) %{_bindir}/lxc-attach
7e4c14a6 242%attr(755,root,root) %{_bindir}/lxc-autostart
c34ce688
JB
243%attr(755,root,root) %{_bindir}/lxc-cgroup
244%attr(755,root,root) %{_bindir}/lxc-checkconfig
72fb3a26 245%attr(755,root,root) %{_bindir}/lxc-checkpoint
a71266b2 246%attr(755,root,root) %{_bindir}/lxc-copy
247c2ba9 247%attr(755,root,root) %{_bindir}/lxc-config
c34ce688
JB
248%attr(755,root,root) %{_bindir}/lxc-console
249%attr(755,root,root) %{_bindir}/lxc-create
250%attr(755,root,root) %{_bindir}/lxc-destroy
a3d3eb65 251%attr(755,root,root) %{_bindir}/lxc-device
c34ce688
JB
252%attr(755,root,root) %{_bindir}/lxc-execute
253%attr(755,root,root) %{_bindir}/lxc-freeze
254%attr(755,root,root) %{_bindir}/lxc-info
a3d3eb65 255%attr(755,root,root) %{_bindir}/lxc-ls
c34ce688 256%attr(755,root,root) %{_bindir}/lxc-monitor
247c2ba9 257%attr(755,root,root) %{_bindir}/lxc-snapshot
c34ce688
JB
258%attr(755,root,root) %{_bindir}/lxc-start
259%attr(755,root,root) %{_bindir}/lxc-stop
a3d3eb65 260%attr(755,root,root) %{_bindir}/lxc-top
c34ce688
JB
261%attr(755,root,root) %{_bindir}/lxc-unfreeze
262%attr(755,root,root) %{_bindir}/lxc-unshare
d87fbc13 263%attr(755,root,root) %{_bindir}/lxc-update-config
120ac263 264%attr(755,root,root) %{_bindir}/lxc-usernsexec
c34ce688 265%attr(755,root,root) %{_bindir}/lxc-wait
ce58f702 266%attr(755,root,root) %{_sbindir}/init.lxc
94b9a175 267%if %{with static}
a3d3eb65 268%attr(755,root,root) %{_sbindir}/init.lxc.static
94b9a175 269%endif
7e4c14a6 270%attr(754,root,root) /etc/rc.d/init.d/lxc
72fb3a26 271%attr(754,root,root) /etc/rc.d/init.d/lxc-net
46f2854c 272
7e4c14a6 273%{systemdunitdir}/lxc.service
56ecc5fa 274%{systemdunitdir}/lxc@.service
72fb3a26 275%{systemdunitdir}/lxc-net.service
8ba1db82
ER
276%dir %{_libdir}/%{name}
277%dir %{_libdir}/%{name}/rootfs
278%{_libdir}/%{name}/rootfs/README
94b9a175 279%if "%{_libexecdir}" != "%{_libdir}"
4259c400 280%dir %{_libexecdir}/%{name}
94b9a175 281%endif
d87fbc13
GP
282%attr(755,root,root) %{_libexecdir}/%{name}/lxc-apparmor-load
283%attr(755,root,root) %{_libexecdir}/%{name}/lxc-containers
284%attr(755,root,root) %{_libexecdir}/%{name}/lxc-monitord
285%attr(755,root,root) %{_libexecdir}/%{name}/lxc-net
286%attr(755,root,root) %{_libexecdir}/%{name}/lxc-user-nic
287%attr(755,root,root) %{_libexecdir}/%{name}/lxc_macvlan
4259c400
JR
288%dir %{_libexecdir}/%{name}/hooks
289%attr(755,root,root) %{_libexecdir}/%{name}/hooks/unmount-namespace
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
JK
297%{_datadir}/%{name}/config/common.conf
298%dir %{_datadir}/%{name}/config/common.conf.d
299%{_datadir}/%{name}/config/common.conf.d/README
b93f2cb9 300%{_datadir}/%{name}/config/common.seccomp
e1610aa3 301%{_datadir}/%{name}/config/nesting.conf
a3d3eb65 302%{_datadir}/%{name}/config/oci.common.conf
72fb3a26 303%{_datadir}/%{name}/config/userns.conf
f5933d47 304%dir %{_datadir}/%{name}/hooks
72fb3a26
JK
305%dir %{_datadir}/%{name}/selinux
306%{_datadir}/%{name}/selinux/*
f5933d47 307%dir %{_datadir}/%{name}/templates
247c2ba9 308%attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
a3d3eb65
AM
309%attr(755,root,root) %{_datadir}/%{name}/hooks/dhclient
310%attr(755,root,root) %{_datadir}/%{name}/hooks/dhclient-script
7e4c14a6 311%attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
a3d3eb65 312%attr(755,root,root) %{_datadir}/%{name}/hooks/nvidia
7e4c14a6 313%attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
247c2ba9 314%attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
f5933d47 315%attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
c34ce688 316%{_mandir}/man1/lxc-attach.1*
7e4c14a6 317%{_mandir}/man1/lxc-autostart.1*
c34ce688
JB
318%{_mandir}/man1/lxc-cgroup.1*
319%{_mandir}/man1/lxc-checkconfig.1*
72fb3a26 320%{_mandir}/man1/lxc-checkpoint.1*
a71266b2 321%{_mandir}/man1/lxc-copy.1*
8ba1db82 322%{_mandir}/man1/lxc-config.1*
c34ce688
JB
323%{_mandir}/man1/lxc-console.1*
324%{_mandir}/man1/lxc-create.1*
325%{_mandir}/man1/lxc-destroy.1*
a3d3eb65 326%{_mandir}/man1/lxc-device.1*
c34ce688
JB
327%{_mandir}/man1/lxc-execute.1*
328%{_mandir}/man1/lxc-freeze.1*
329%{_mandir}/man1/lxc-info.1*
a3d3eb65 330%{_mandir}/man1/lxc-ls.1*
c34ce688 331%{_mandir}/man1/lxc-monitor.1*
247c2ba9 332%{_mandir}/man1/lxc-snapshot.1*
c34ce688
JB
333%{_mandir}/man1/lxc-start.1*
334%{_mandir}/man1/lxc-stop.1*
a3d3eb65 335%{_mandir}/man1/lxc-top.1*
c34ce688
JB
336%{_mandir}/man1/lxc-unfreeze.1*
337%{_mandir}/man1/lxc-unshare.1*
d87fbc13 338%{_mandir}/man1/lxc-update-config.1*
120ac263 339%{_mandir}/man1/lxc-user-nic.1*
8ba1db82 340%{_mandir}/man1/lxc-usernsexec.1*
c34ce688 341%{_mandir}/man1/lxc-wait.1*
120ac263 342%{_mandir}/man5/lxc-usernet.5*
67c70229 343%{_mandir}/man5/lxc.conf.5*
8ba1db82
ER
344%{_mandir}/man5/lxc.container.conf.5*
345%{_mandir}/man5/lxc.system.conf.5*
67c70229 346%{_mandir}/man7/lxc.7*
247c2ba9 347%lang(ja) %{_mandir}/ja/man1/lxc*.1*
7e4c14a6 348%lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
247c2ba9 349%lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
8ba1db82
ER
350%lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
351%lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
247c2ba9 352%lang(ja) %{_mandir}/ja/man7/lxc.7*
56ecc5fa
JB
353%lang(ko) %{_mandir}/ko/man1/lxc*.1*
354%lang(ko) %{_mandir}/ko/man5/lxc-usernet.5*
355%lang(ko) %{_mandir}/ko/man5/lxc.conf.5*
356%lang(ko) %{_mandir}/ko/man5/lxc.container.conf.5*
357%lang(ko) %{_mandir}/ko/man5/lxc.system.conf.5*
358%lang(ko) %{_mandir}/ko/man7/lxc.7*
0886a606 359
ff8ce371 360%dir %{configpath}
39773dac 361%dir %{configpath}snap
f10dfb13
ER
362%dir %attr(750,root,root) /var/log/lxc
363%dir %attr(750,root,root) /var/cache/lxc
ff8ce371 364
94b9a175
JB
365%if %{with pam}
366%files -n pam-pam_cgfs
367%defattr(644,root,root,755)
368%attr(755,root,root) /%{_lib}/security/pam_cgfs.so
7af31a12
JR
369%{_mandir}/ja/man8/pam_cgfs.8*
370%{_mandir}/man8/pam_cgfs.8*
94b9a175
JB
371%endif
372
19fd2939
ER
373%files libs
374%defattr(644,root,root,755)
375%attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
376%attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
377
0886a606
AM
378%files devel
379%defattr(644,root,root,755)
0886a606 380%attr(755,root,root) %{_libdir}/liblxc.so
67c70229 381%{_includedir}/lxc
e5afa52e 382%{_pkgconfigdir}/lxc.pc
67c70229 383
94b9a175
JB
384%files static
385%defattr(644,root,root,755)
386%{_libdir}/liblxc.a
387
4e82464d
ER
388%files -n bash-completion-%{name}
389%defattr(644,root,root,755)
09d764a3 390%{bash_compdir}/lxc
This page took 0.122321 seconds and 4 git commands to generate.