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