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