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