]> git.pld-linux.org Git - packages/lxc.git/blob - lxc.spec
up to 1.0.0-beta4
[packages/lxc.git] / lxc.spec
1 # TODO
2 # - bash-completion: /etc/bash_completion.d/lxc
3 # - package apparmor stuff
4
5 # Conditional build:
6 %bcond_without  seccomp # SecComp syscall filter
7 %bcond_without  apparmor        # apparmor
8 %bcond_without  lua     # Lua binding
9 %bcond_without  python  # Python binding
10 %bcond_with     selinux # SELinux
11 %bcond_with     cgmanager       # Enable cgmanager (BR: libcgmanager, libnih >= 1.0.2, libnih-dbus >= 1.0.0, dbus-1 >= 1.2.16)
12
13 %define         subver  beta4
14 %define         rel             0.1
15 Summary:        Linux Containers userspace tools
16 Summary(pl.UTF-8):      Narzędzia do kontenerów linuksowych (LXC)
17 Name:           lxc
18 Version:        1.0.0
19 Release:        0.%{subver}.%{rel}
20 License:        LGPL v2.1+
21 Group:          Applications/System
22 Source0:        https://github.com/lxc/lxc/archive/%{name}-%{version}.%{subver}.tar.gz
23 # Source0-md5:  0758a140d451e41801588320b2192fcd
24 Source1:        %{name}-pld.in.sh
25 Patch1:         %{name}-pld.patch
26 Patch4:         checkconfig-vserver-config.patch
27 URL:            http://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 %{?with_lua:BuildRequires:      lua51-devel >= 5.1}
38 BuildRequires:  pkgconfig
39 %{?with_python:BuildRequires:   python3-devel >= 3.2}
40 BuildRequires:  rpmbuild(macros) >= 1.612
41 BuildRequires:  sed >= 4.0
42 Requires:       rc-scripts >= 0.4.6
43 Requires:       which
44 Suggests:       net-tools
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 %prep
110 %setup -q -n %{name}-%{name}-%{version}%{?subver:.%{subver}}
111 %patch1 -p1
112 %patch4 -p1
113
114 cp -p %{SOURCE1} templates/lxc-pld.in
115
116 %build
117 %{__aclocal} -I config
118 %{__autoconf}
119 %{__autoheader}
120 %{__automake}
121 %configure \
122         db2xman=docbook2X2man \
123         --disable-rpath \
124         --enable-bash \
125         --enable-doc \
126         --enable-examples \
127         %{__enable_disable apparmor} \
128         %{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
129         %{__enable_disable python} \
130         %{__enable_disable seccomp} \
131         %{__enable_disable selinux} \
132         --with-config-path=%{configpath} \
133         --with-init-script=sysvinit,systemd \
134         --with-distro=pld
135
136 %{__make}
137 %{__make} -C doc
138
139 %install
140 rm -rf $RPM_BUILD_ROOT
141 install -d $RPM_BUILD_ROOT{%{configpath},/var/{cache,log}/lxc}
142 %{__make} install \
143         SYSTEMD_UNIT_DIR=%{systemdunitdir} \
144         pcdatadir=%{_pkgconfigdir} \
145         DESTDIR=$RPM_BUILD_ROOT
146
147 %{__make} -C doc install \
148         DESTDIR=$RPM_BUILD_ROOT
149
150 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}
151
152 %if %{with python}
153 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
154 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
155 %endif
156 %if %{with lua}
157 %{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua51,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
158 %endif
159
160 %clean
161 rm -rf $RPM_BUILD_ROOT
162
163 %post   -p /sbin/ldconfig
164 %postun -p /sbin/ldconfig
165
166 %files
167 %defattr(644,root,root,755)
168 %doc AUTHORS CONTRIBUTING MAINTAINERS README TODO doc/FAQ.txt doc/examples/*.conf
169 %attr(755,root,root) %{_bindir}/lxc-attach
170 %attr(755,root,root) %{_bindir}/lxc-autostart
171 %attr(755,root,root) %{_bindir}/lxc-cgroup
172 %attr(755,root,root) %{_bindir}/lxc-checkconfig
173 %attr(755,root,root) %{_bindir}/lxc-clone
174 %attr(755,root,root) %{_bindir}/lxc-config
175 %attr(755,root,root) %{_bindir}/lxc-console
176 %attr(755,root,root) %{_bindir}/lxc-create
177 %attr(755,root,root) %{_bindir}/lxc-destroy
178 %attr(755,root,root) %{_bindir}/lxc-execute
179 %attr(755,root,root) %{_bindir}/lxc-freeze
180 %attr(755,root,root) %{_bindir}/lxc-info
181 %attr(755,root,root) %{_bindir}/lxc-monitor
182 %attr(755,root,root) %{_bindir}/lxc-snapshot
183 %attr(755,root,root) %{_bindir}/lxc-start
184 %attr(755,root,root) %{_bindir}/lxc-stop
185 %attr(755,root,root) %{_bindir}/lxc-unfreeze
186 %attr(755,root,root) %{_bindir}/lxc-unshare
187 %attr(755,root,root) %{_bindir}/lxc-usernsexec
188 %attr(755,root,root) %{_bindir}/lxc-wait
189 %attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
190 %attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
191 %attr(754,root,root) /etc/rc.d/init.d/lxc
192 %{systemdunitdir}/lxc.service
193 %dir %{_libdir}/%{name}
194 %dir %{_libdir}/%{name}/rootfs
195 %{_libdir}/%{name}/rootfs/README
196 %attr(755,root,root) %{_libdir}/%{name}/lxc-devsetup
197 %attr(755,root,root) %{_libdir}/%{name}/lxc-init
198 %attr(755,root,root) %{_libdir}/%{name}/lxc-monitord
199 %attr(755,root,root) %{_libdir}/%{name}/lxc-user-nic
200 %dir %{_sysconfdir}/lxc
201 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
202 %dir %{_datadir}/%{name}
203 %{_datadir}/%{name}/lxc.functions
204 %dir %{_datadir}/%{name}/config
205 %{_datadir}/%{name}/config/centos.*.conf
206 %{_datadir}/%{name}/config/debian.*.conf
207 %{_datadir}/%{name}/config/fedora.*.conf
208 %{_datadir}/%{name}/config/gentoo.*.conf
209 %{_datadir}/%{name}/config/oracle.*.conf
210 %{_datadir}/%{name}/config/plamo.*.conf
211 %{_datadir}/%{name}/config/ubuntu-cloud.*.conf
212 %{_datadir}/%{name}/config/ubuntu.*.conf
213 %dir %{_datadir}/%{name}/hooks
214 %dir %{_datadir}/%{name}/templates
215 %attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
216 %attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
217 %attr(755,root,root) %{_datadir}/%{name}/hooks/squid-deb-proxy-client
218 %attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
219 %attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
220 %{_mandir}/man1/lxc-attach.1*
221 %{_mandir}/man1/lxc-autostart.1*
222 %{_mandir}/man1/lxc-cgroup.1*
223 %{_mandir}/man1/lxc-checkconfig.1*
224 %{_mandir}/man1/lxc-clone.1*
225 %{_mandir}/man1/lxc-config.1*
226 %{_mandir}/man1/lxc-console.1*
227 %{_mandir}/man1/lxc-create.1*
228 %{_mandir}/man1/lxc-destroy.1*
229 %{_mandir}/man1/lxc-execute.1*
230 %{_mandir}/man1/lxc-freeze.1*
231 %{_mandir}/man1/lxc-info.1*
232 %{_mandir}/man1/lxc-monitor.1*
233 %{_mandir}/man1/lxc-snapshot.1*
234 %{_mandir}/man1/lxc-start.1*
235 %{_mandir}/man1/lxc-stop.1*
236 %{_mandir}/man1/lxc-unfreeze.1*
237 %{_mandir}/man1/lxc-unshare.1*
238 %{_mandir}/man1/lxc-user-nic.1*
239 %{_mandir}/man1/lxc-usernsexec.1*
240 %{_mandir}/man1/lxc-wait.1*
241 %{_mandir}/man5/lxc-usernet.5*
242 %{_mandir}/man5/lxc.conf.5*
243 %{_mandir}/man5/lxc.container.conf.5*
244 %{_mandir}/man5/lxc.system.conf.5*
245 %{_mandir}/man7/lxc.7*
246 %lang(ja) %{_mandir}/ja/man1/lxc*.1*
247 %lang(ja) %{_mandir}/ja/man5/lxc-usernet.5*
248 %lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
249 %lang(ja) %{_mandir}/ja/man5/lxc.container.conf.5*
250 %lang(ja) %{_mandir}/ja/man5/lxc.system.conf.5*
251 %lang(ja) %{_mandir}/ja/man7/lxc.7*
252 %exclude %{_mandir}/ja/man1/lxc-device.1*
253 %exclude %{_mandir}/ja/man1/lxc-ls.1*
254 %exclude %{_mandir}/ja/man1/lxc-start-ephemeral.1*
255 %exclude %{_mandir}/ja/man1/lxc-top.1*
256
257 %if %{without python}
258 # legacy version
259 %attr(755,root,root) %{_bindir}/lxc-ls
260 %{_mandir}/man1/lxc-ls.1*
261 %endif
262
263 %dir %{configpath}
264 %dir %attr(750,root,root) /var/log/lxc
265 %dir %attr(750,root,root) /var/cache/lxc
266
267 %files devel
268 %defattr(644,root,root,755)
269 %attr(755,root,root) %{_libdir}/liblxc.so
270 %{_includedir}/lxc
271 %{_pkgconfigdir}/lxc.pc
272
273 %if %{with lua}
274 %files -n lua-lxc
275 %defattr(644,root,root,755)
276 %attr(755,root,root) %{_bindir}/lxc-top
277 %dir %{_libdir}/lua/lxc
278 %attr(755,root,root) %{_libdir}/lua/lxc/core.so
279 %{_datadir}/lua/lxc.lua
280 %{_mandir}/man1/lxc-top.1*
281 %lang(ja) %{_mandir}/ja/man1/lxc-top.1*
282 %endif
283
284 %if %{with python}
285 %files -n python3-lxc
286 %defattr(644,root,root,755)
287 %attr(755,root,root) %{_bindir}/lxc-device
288 %attr(755,root,root) %{_bindir}/lxc-ls
289 %attr(755,root,root) %{_bindir}/lxc-start-ephemeral
290 %{py3_sitedir}/lxc
291 %attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
292 %{py3_sitedir}/_lxc-0.1-py*.egg-info
293 %{_mandir}/man1/lxc-device.1*
294 %{_mandir}/man1/lxc-ls.1*
295 %{_mandir}/man1/lxc-start-ephemeral.1*
296 %lang(ja) %{_mandir}/ja/man1/lxc-device.1*
297 %lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
298 %lang(ja) %{_mandir}/ja/man1/lxc-start-ephemeral.1*
299 %endif
This page took 0.077929 seconds and 4 git commands to generate.