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