]> git.pld-linux.org Git - packages/lxc.git/blame - lxc.spec
- up to 4.0.12
[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
a82ba04e 16Version: 4.0.12
17Release: 1
c34ce688 18License: LGPL v2.1+
67c70229 19Group: Applications/System
5dbfe331 20Source0: https://linuxcontainers.org/downloads/lxc/%{name}-%{version}.tar.gz
a82ba04e 21# Source0-md5: 4818cb60b1418ca97a8d7c159f9f872b
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
54d714f3 28Patch3: no-Werror.patch
a82ba04e 29Patch4: glibc2_36.patch
6a2933ce 30URL: https://www.linuxcontainers.org/
67c70229
JB
31BuildRequires: autoconf >= 2.50
32BuildRequires: automake
f2738357
JB
33%{?with_cgmanager:BuildRequires: cgmanager-devel}
34%{?with_cgmanager:BuildRequires: dbus-devel >= 1.2.16}
990c3135 35BuildRequires: docbook-dtd45-xml
e1610aa3 36BuildRequires: docbook2X >= 0.8
56ecc5fa 37BuildRequires: doxygen
94b9a175
JB
38BuildRequires: gcc >= 6:4.7
39%{?with_static:BuildRequires: glibc-static}
7e4c14a6 40BuildRequires: gnutls-devel
ccd4948a 41%{?with_apparmor:BuildRequires: libapparmor-devel}
4e32c712 42BuildRequires: libcap-devel
94b9a175 43%{?with_static:BuildRequires: libcap-static}
f2738357 44%{?with_cgmanager:BuildRequires: libnih-devel >= 1.0.2}
67c70229 45%{?with_seccomp:BuildRequires: libseccomp-devel}
94b9a175 46BuildRequires: libtool >= 2:2
82a3991b 47BuildRequires: libxslt-progs
94b9a175 48%{?with_pam:BuildRequires: pam-devel}
67c70229 49BuildRequires: pkgconfig
5e7929a2 50BuildRequires: rpmbuild(macros) >= 1.671
c34ce688 51BuildRequires: sed >= 4.0
557d1e73
ER
52Requires(post): /sbin/ldconfig
53Requires(post,preun): /sbin/chkconfig
19fd2939 54Requires: %{name}-libs = %{version}-%{release}
75133c9e
ER
55# lxc_macvlan script
56Requires: gawk
57# used in lxc-net script to set bridge nat
72d9317d 58Requires: iproute2
75133c9e 59Requires: iptables
557d1e73 60Requires: rc-scripts >= 0.4.6
5e7929a2 61Requires: systemd-units >= 38
75133c9e 62Requires: which
19fd2939 63# used in lxc-net script, but not all cases, may break working setups
e1610aa3 64Suggests: dnsmasq
7f0b7e89 65Suggests: gnupg
16cf226e
ER
66Suggests: gnupg-plugin-keys_curl
67Suggests: gnupg-plugin-keys_hkp
21c5c666 68Suggests: net-tools
b335abc0 69Suggests: rsync
0886a606
AM
70BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71
e5afa52e 72%define configpath /var/lib/lxc
73
0886a606
AM
74%description
75Tools to create and manage containers. It contains a full featured
76container with the isolation / virtualization of the pids, the ipc,
77the utsname, the mount points, /proc, /sys, the network and it takes
78into account the control groups. It is very light, flexible, and
79provides a set of tools around the container like the monitoring with
80asynchronous events notification, or the freeze of the container. This
81package is useful to create Virtual Private Server, or to run isolated
82applications like bash or sshd.
83
67c70229
JB
84%description -l pl.UTF-8
85Narzędzia do tworzenia i zarządzania kontenerami. System ten obejmuje
1dd4bfdd 86w pełni funkcjonalne kontenery z izolacją/wirtualizacją pidów, ipc,
67c70229
JB
87utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
88grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
89do czynności związanych z kontenerami, takich jak monitorowanie z
90asynchronicznym powiadamianiem o zdarzeniach czy zamrażanie. Ten
91pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
92oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
93
94b9a175
JB
94%package -n pam-pam_cgfs
95Summary: PAM module to create user cgroups
96Summary(pl.UTF-8): Moduł PAM do tworzenia cgroup użytkownika
97Group: Libraries
98Requires: pam
99
100%description -n pam-pam_cgfs
101PAM module that when a user logs in, will create cgroups which the
102user may administer.
103
104%description -n pam-pam_cgfs -l pl.UTF-8
105Moduł PAM, który przy logowaniu użytkownika tworzy cgroupy, którymi
106użytkownik może administrować.
107
19fd2939
ER
108%package libs
109Summary: liblxc library
56ecc5fa 110Summary(pl.UTF-8): Biblioteka liblxc
19fd2939 111Group: Libraries
56ecc5fa 112Conflicts: lxc < 2.0.4-2
19fd2939
ER
113
114%description libs
115liblxc library.
116
56ecc5fa
JB
117%description libs -l pl.UTF-8
118Biblioteka liblxc.
119
0886a606 120%package devel
67c70229
JB
121Summary: Header files for lxc library
122Summary(pl.UTF-8): Pliki nagłówkowe biblioteki lxc
0886a606 123Group: Development/Libraries
19fd2939 124Requires: %{name}-libs = %{version}-%{release}
0886a606
AM
125
126%description devel
67c70229
JB
127Header files for lxc library.
128
129%description devel -l pl.UTF-8
130Pliki nagłówkowe biblioteki lxc.
131
94b9a175
JB
132%package static
133Summary: Static lxc library
134Summary(pl.UTF-8): Statyczna biblioteka lxc
135Group: Development/Libraries
136Requires: %{name}-devel = %{version}-%{release}
137
138%description static
139Static lxc library.
140
141%description static -l pl.UTF-8
142Statyczna biblioteka lxc.
143
4e82464d
ER
144%package -n bash-completion-%{name}
145Summary: bash-completion for LXC
146Summary(pl.UTF-8): bashowe uzupełnianie nazw dla LXC
147Group: Applications/Shells
56ecc5fa 148Requires: %{name} = %{version}-%{release}
4e82464d 149Requires: bash-completion
5fb2cd31 150BuildArch: noarch
4e82464d
ER
151
152%description -n bash-completion-%{name}
153bash-completion for LXC.
154
155%description -n bash-completion-%{name} -l pl.UTF-8
156bashowe uzupełnianie nazw dla LXC.
157
0886a606 158%prep
9db966c1 159%setup -q
67c70229 160%patch1 -p1
216742cb 161%patch2 -p1
54d714f3 162%patch3 -p1
a82ba04e 163%patch4 -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 \
94b9a175 177 %{__enable_disable apparmor} \
8ba1db82 178 --enable-bash \
94b9a175 179 %{__enable_disable cgmanager} \
67c70229 180 --enable-doc \
120ac263 181 --enable-examples \
94b9a175 182 %{?with_pam:--enable-pam} \
ccd4948a 183 %{__enable_disable seccomp} \
120ac263 184 %{__enable_disable selinux} \
67c70229 185 --with-config-path=%{configpath} \
94b9a175 186 --with-distro=pld \
8ba1db82 187 --with-init-script=sysvinit,systemd \
94b9a175 188 --with-runtime-path=/var/run
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 216install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/lxc_macvlan
d87fbc13 217install -p %{SOURCE3} $RPM_BUILD_ROOT%{_libexecdir}/%{name}/lxc_macvlan
1dd4bfdd 218
0886a606
AM
219%clean
220rm -rf $RPM_BUILD_ROOT
221
75133c9e 222%post
46f2854c 223/sbin/chkconfig --add lxc
5e7929a2 224/sbin/chkconfig --add lxc-net
5e7929a2 225%systemd_post lxc.service lxc-net.service
46f2854c 226
46f2854c
MK
227%preun
228if [ "$1" = "0" ]; then
229 %service lxc stop
230 /sbin/chkconfig --del lxc
5e7929a2
JK
231 %service lxc-net stop
232 /sbin/chkconfig --del lxc-net
46f2854c 233fi
5e7929a2 234%systemd_preun lxc.service lxc-net.service
46f2854c 235
5e7929a2 236%postun
5e7929a2 237%systemd_reload
46f2854c 238
19fd2939
ER
239%post libs -p /sbin/ldconfig
240%postun libs -p /sbin/ldconfig
241
0886a606
AM
242%files
243%defattr(644,root,root,755)
58add690 244%doc AUTHORS CONTRIBUTING MAINTAINERS README doc/FAQ.txt doc/examples/*.conf
c34ce688 245%attr(755,root,root) %{_bindir}/lxc-attach
7e4c14a6 246%attr(755,root,root) %{_bindir}/lxc-autostart
c34ce688
JB
247%attr(755,root,root) %{_bindir}/lxc-cgroup
248%attr(755,root,root) %{_bindir}/lxc-checkconfig
72fb3a26 249%attr(755,root,root) %{_bindir}/lxc-checkpoint
a71266b2 250%attr(755,root,root) %{_bindir}/lxc-copy
247c2ba9 251%attr(755,root,root) %{_bindir}/lxc-config
c34ce688
JB
252%attr(755,root,root) %{_bindir}/lxc-console
253%attr(755,root,root) %{_bindir}/lxc-create
254%attr(755,root,root) %{_bindir}/lxc-destroy
a3d3eb65 255%attr(755,root,root) %{_bindir}/lxc-device
c34ce688
JB
256%attr(755,root,root) %{_bindir}/lxc-execute
257%attr(755,root,root) %{_bindir}/lxc-freeze
258%attr(755,root,root) %{_bindir}/lxc-info
a3d3eb65 259%attr(755,root,root) %{_bindir}/lxc-ls
c34ce688 260%attr(755,root,root) %{_bindir}/lxc-monitor
247c2ba9 261%attr(755,root,root) %{_bindir}/lxc-snapshot
c34ce688
JB
262%attr(755,root,root) %{_bindir}/lxc-start
263%attr(755,root,root) %{_bindir}/lxc-stop
a3d3eb65 264%attr(755,root,root) %{_bindir}/lxc-top
c34ce688
JB
265%attr(755,root,root) %{_bindir}/lxc-unfreeze
266%attr(755,root,root) %{_bindir}/lxc-unshare
d87fbc13 267%attr(755,root,root) %{_bindir}/lxc-update-config
120ac263 268%attr(755,root,root) %{_bindir}/lxc-usernsexec
c34ce688 269%attr(755,root,root) %{_bindir}/lxc-wait
ce58f702 270%attr(755,root,root) %{_sbindir}/init.lxc
94b9a175 271%if %{with static}
a3d3eb65 272%attr(755,root,root) %{_sbindir}/init.lxc.static
94b9a175 273%endif
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
94b9a175 283%if "%{_libexecdir}" != "%{_libdir}"
4259c400 284%dir %{_libexecdir}/%{name}
94b9a175 285%endif
d87fbc13
GP
286%attr(755,root,root) %{_libexecdir}/%{name}/lxc-apparmor-load
287%attr(755,root,root) %{_libexecdir}/%{name}/lxc-containers
288%attr(755,root,root) %{_libexecdir}/%{name}/lxc-monitord
289%attr(755,root,root) %{_libexecdir}/%{name}/lxc-net
290%attr(755,root,root) %{_libexecdir}/%{name}/lxc-user-nic
291%attr(755,root,root) %{_libexecdir}/%{name}/lxc_macvlan
4259c400
JR
292%dir %{_libexecdir}/%{name}/hooks
293%attr(755,root,root) %{_libexecdir}/%{name}/hooks/unmount-namespace
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
JK
301%{_datadir}/%{name}/config/common.conf
302%dir %{_datadir}/%{name}/config/common.conf.d
303%{_datadir}/%{name}/config/common.conf.d/README
b93f2cb9 304%{_datadir}/%{name}/config/common.seccomp
e1610aa3 305%{_datadir}/%{name}/config/nesting.conf
a3d3eb65 306%{_datadir}/%{name}/config/oci.common.conf
72fb3a26 307%{_datadir}/%{name}/config/userns.conf
f5933d47 308%dir %{_datadir}/%{name}/hooks
72fb3a26
JK
309%dir %{_datadir}/%{name}/selinux
310%{_datadir}/%{name}/selinux/*
f5933d47 311%dir %{_datadir}/%{name}/templates
247c2ba9 312%attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
a3d3eb65
AM
313%attr(755,root,root) %{_datadir}/%{name}/hooks/dhclient
314%attr(755,root,root) %{_datadir}/%{name}/hooks/dhclient-script
7e4c14a6 315%attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
a3d3eb65 316%attr(755,root,root) %{_datadir}/%{name}/hooks/nvidia
7e4c14a6 317%attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
247c2ba9 318%attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
f5933d47 319%attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
c34ce688 320%{_mandir}/man1/lxc-attach.1*
7e4c14a6 321%{_mandir}/man1/lxc-autostart.1*
c34ce688
JB
322%{_mandir}/man1/lxc-cgroup.1*
323%{_mandir}/man1/lxc-checkconfig.1*
72fb3a26 324%{_mandir}/man1/lxc-checkpoint.1*
a71266b2 325%{_mandir}/man1/lxc-copy.1*
8ba1db82 326%{_mandir}/man1/lxc-config.1*
c34ce688
JB
327%{_mandir}/man1/lxc-console.1*
328%{_mandir}/man1/lxc-create.1*
329%{_mandir}/man1/lxc-destroy.1*
a3d3eb65 330%{_mandir}/man1/lxc-device.1*
c34ce688
JB
331%{_mandir}/man1/lxc-execute.1*
332%{_mandir}/man1/lxc-freeze.1*
333%{_mandir}/man1/lxc-info.1*
a3d3eb65 334%{_mandir}/man1/lxc-ls.1*
c34ce688 335%{_mandir}/man1/lxc-monitor.1*
247c2ba9 336%{_mandir}/man1/lxc-snapshot.1*
c34ce688
JB
337%{_mandir}/man1/lxc-start.1*
338%{_mandir}/man1/lxc-stop.1*
a3d3eb65 339%{_mandir}/man1/lxc-top.1*
c34ce688
JB
340%{_mandir}/man1/lxc-unfreeze.1*
341%{_mandir}/man1/lxc-unshare.1*
d87fbc13 342%{_mandir}/man1/lxc-update-config.1*
120ac263 343%{_mandir}/man1/lxc-user-nic.1*
8ba1db82 344%{_mandir}/man1/lxc-usernsexec.1*
c34ce688 345%{_mandir}/man1/lxc-wait.1*
120ac263 346%{_mandir}/man5/lxc-usernet.5*
67c70229 347%{_mandir}/man5/lxc.conf.5*
8ba1db82
ER
348%{_mandir}/man5/lxc.container.conf.5*
349%{_mandir}/man5/lxc.system.conf.5*
67c70229 350%{_mandir}/man7/lxc.7*
247c2ba9 351%lang(ja) %{_mandir}/ja/man1/lxc*.1*
7e4c14a6 352%lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
247c2ba9 353%lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
8ba1db82
ER
354%lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
355%lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
247c2ba9 356%lang(ja) %{_mandir}/ja/man7/lxc.7*
56ecc5fa
JB
357%lang(ko) %{_mandir}/ko/man1/lxc*.1*
358%lang(ko) %{_mandir}/ko/man5/lxc-usernet.5*
359%lang(ko) %{_mandir}/ko/man5/lxc.conf.5*
360%lang(ko) %{_mandir}/ko/man5/lxc.container.conf.5*
361%lang(ko) %{_mandir}/ko/man5/lxc.system.conf.5*
362%lang(ko) %{_mandir}/ko/man7/lxc.7*
0886a606 363
ff8ce371 364%dir %{configpath}
39773dac 365%dir %{configpath}snap
f10dfb13
ER
366%dir %attr(750,root,root) /var/log/lxc
367%dir %attr(750,root,root) /var/cache/lxc
ff8ce371 368
94b9a175
JB
369%if %{with pam}
370%files -n pam-pam_cgfs
371%defattr(644,root,root,755)
372%attr(755,root,root) /%{_lib}/security/pam_cgfs.so
7af31a12
JR
373%{_mandir}/ja/man8/pam_cgfs.8*
374%{_mandir}/man8/pam_cgfs.8*
94b9a175
JB
375%endif
376
19fd2939
ER
377%files libs
378%defattr(644,root,root,755)
379%attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
380%attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
381
0886a606
AM
382%files devel
383%defattr(644,root,root,755)
0886a606 384%attr(755,root,root) %{_libdir}/liblxc.so
67c70229 385%{_includedir}/lxc
e5afa52e 386%{_pkgconfigdir}/lxc.pc
67c70229 387
94b9a175
JB
388%files static
389%defattr(644,root,root,755)
390%{_libdir}/liblxc.a
391
4e82464d
ER
392%files -n bash-completion-%{name}
393%defattr(644,root,root,755)
09d764a3 394%{bash_compdir}/lxc
a82ba04e 395%{bash_compdir}/lxc-*
This page took 0.78393 seconds and 4 git commands to generate.