]> git.pld-linux.org Git - packages/lxc.git/blobdiff - lxc.spec
up to 1.0.0.beta1
[packages/lxc.git] / lxc.spec
index da421fe8d466d1bdb227df6db616f88ad8b93a08..424505ac370d8010f7de3ae52134de91296b12db 100644 (file)
--- a/lxc.spec
+++ b/lxc.spec
@@ -1,19 +1,47 @@
-# TODO: FHS (/var/lxc -> /var/lib/lxc)
-Summary:       Linux Container Tools
+#
+# Conditional build:
+%bcond_without seccomp # SecComp syscall filter
+%bcond_without apparmor        # apparmor
+%bcond_without lua     # Lua binding
+%bcond_without python  # Python binding
+%bcond_with    selinux # SELinux
+
+%define                subver  beta1
+%define                rel             0.1
+Summary:       Linux Containers userspace tools
+Summary(pl.UTF-8):     Narzędzia do kontenerów linuksowych (LXC)
 Name:          lxc
 Name:          lxc
-Version:       0.6.2
-Release:       1
-License:       GPL
-Group:         Base
-Source0:       http://dl.sourceforge.net/lxc/%{name}-%{version}.tar.gz
-# Source0-md5: eb4e14c2d58663f5ebcd6cd3d6a61fe6
-Patch0:                %{name}-ldflags.patch
-URL:           http://sourceforge.net/projects/lxc
-BuildRequires: autoconf
+Version:       1.0.0
+Release:       0.%{subver}.%{rel}
+License:       LGPL v2.1+
+Group:         Applications/System
+Source0:       https://github.com/lxc/lxc/archive/%{name}-%{version}.%{subver}.tar.gz
+# Source0-md5: 82ddad563fe31b80595543d838788551
+Source1:       %{name}-pld.in.sh
+Patch1:                %{name}-pld.patch
+Patch4:                checkconfig-vserver-config.patch
+URL:           http://linuxcontainers.org/
+BuildRequires: autoconf >= 2.50
 BuildRequires: automake
 BuildRequires: automake
-BuildRequires: libtool
+BuildRequires: docbook-dtd30-sgml
+BuildRequires: docbook-utils
+BuildRequires: docbook2X
+%{?with_apparmor:BuildRequires:        libapparmor-devel}
+BuildRequires: libcap-devel
+%{?with_seccomp:BuildRequires: libseccomp-devel}
+%{?with_lua:BuildRequires:     lua51-devel >= 5.1}
+BuildRequires: pkgconfig
+%{?with_python:BuildRequires:  python3-devel >= 3.2}
+BuildRequires: rpmbuild(macros) >= 1.612
+BuildRequires: sed >= 4.0
+Requires:      rc-scripts >= 0.4.6
+Requires:      which
+Suggests:      net-tools
+Suggests:      rsync
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                configpath      /var/lib/lxc
+
 %description
 Tools to create and manage containers. It contains a full featured
 container with the isolation / virtualization of the pids, the ipc,
 %description
 Tools to create and manage containers. It contains a full featured
 container with the isolation / virtualization of the pids, the ipc,
@@ -24,68 +52,232 @@ asynchronous events notification, or the freeze of the container. This
 package is useful to create Virtual Private Server, or to run isolated
 applications like bash or sshd.
 
 package is useful to create Virtual Private Server, or to run isolated
 applications like bash or sshd.
 
+%description -l pl.UTF-8
+Narzędzia do tworzenia i zarządzania kontenerami. System ten obejmuje
+w pełni funkcjonalne kontenery z ilozacją/wirtualizacją pidów, ipc,
+utsname, punktów montowania, /proc, /sys, sieci oraz uwzględniające
+grupy kontrolne. Jest bardzo lekki, elastyczny i udostępnia narzędzia
+do czynności związanych z kontenerami, takich jak monitorowanie z
+asynchronicznym powiadamianiem o zdarzeniach czy zamrażanie. Ten
+pakiet jest przydatny do tworzenia wirtualnych serwerów prywatnych
+oraz uruchamiania izolowanych aplikacji, takich jak bash czy sshd.
+
 %package devel
 %package devel
-Summary:       Header files and develpment documentation for lxc
+Summary:       Header files for lxc library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki lxc
 Group:         Development/Libraries
 Group:         Development/Libraries
-Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      %{name} = %{version}-%{release}
 
 %description devel
 
 %description devel
-lxc development files.
+Header files for lxc library.
 
 
-%package static
-Summary:       Static lxc library
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki lxc.
+
+%package -n lua-lxc
+Summary:       Lua binding for LXC
+Summary(pl.UTF-8):     Wiązanie Lua do LXC
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      lua51-libs >= 5.1
 
 
-%description static
-Static lxc library.
+%description -n lua-lxc
+Lua binding for LXC.
+
+%description -n lua-lxc -l pl.UTF-8
+Wiązanie Lua do LXC.
+
+%package -n python3-lxc
+Summary:       Python (3.x) binding for LXC
+Summary(pl.UTF-8):     Wiązanie Pythona (3.x) do LXC
+Group:         Libraries
+Requires:      %{name} = %{version}-%{release}
+Requires:      python3-libs >= 3.2
+
+%description -n python3-lxc
+Python (3.x) binding for LXC.
+
+%description -n python3-lxc -l pl.UTF-8
+Wiązanie Pythona (3.x) do LXC.
 
 %prep
 
 %prep
-%setup -q
-%patch0 -p1
-sed -i -e 's#^lxcpath=.*#lxcpath=/var/lxc#g' src/lxc/Makefile.am
+%setup -q -n %{name}-%{name}-%{version}%{?subver:.%{subver}}
+%patch1 -p1
+%patch4 -p1
+
+cp -p %{SOURCE1} templates/lxc-pld.in
 
 %build
 
 %build
-%{__libtoolize}
 %{__aclocal} -I config
 %{__autoconf}
 %{__aclocal} -I config
 %{__autoconf}
+%{__autoheader}
 %{__automake}
 %{__automake}
-%configure
+%configure \
+       db2xman=docbook2X2man \
+       --disable-rpath \
+       --enable-doc \
+       --enable-examples \
+       %{__enable_disable apparmor} \
+       %{__enable_disable lua} %{?with_lua:--with-lua-pc=lua51} \
+       %{__enable_disable python} \
+       %{__enable_disable seccomp} \
+       %{__enable_disable selinux} \
+       --with-config-path=%{configpath} \
+       --with-init-script=sysv,systemd \
+       --with-distro=pld
 
 %{__make}
 
 %{__make}
+%{__make} -C doc
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %install
 rm -rf $RPM_BUILD_ROOT
-
+install -d $RPM_BUILD_ROOT{%{configpath},/var/{cache,log}/lxc}
 %{__make} install \
 %{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT \
+       pcdatadir=%{_pkgconfigdir}
+
+%{__make} -C doc install \
        DESTDIR=$RPM_BUILD_ROOT
 
        DESTDIR=$RPM_BUILD_ROOT
 
-install -d $RPM_BUILD_ROOT/var/lxc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
+
+%if %{with python}
+%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}/lxc
+%endif
+%if %{with lua}
+%{__sed} -i -e '1s,#!/usr/bin/env lua,#!/usr/bin/lua51,' $RPM_BUILD_ROOT%{_bindir}/lxc-top
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post  -p /sbin/ldconfig
+%postun        -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog README etc/*.conf etc/*-config
+%doc AUTHORS CONTRIBUTING MAINTAINERS README TODO doc/FAQ.txt doc/examples/*.conf
+%attr(755,root,root) %{_bindir}/lxc-attach
+%attr(755,root,root) %{_bindir}/lxc-cgroup
+%attr(755,root,root) %{_bindir}/lxc-checkconfig
+%attr(755,root,root) %{_bindir}/lxc-checkpoint
+%attr(755,root,root) %{_bindir}/lxc-clone
+%attr(755,root,root) %{_bindir}/lxc-config
+%attr(755,root,root) %{_bindir}/lxc-console
+%attr(755,root,root) %{_bindir}/lxc-create
+%attr(755,root,root) %{_bindir}/lxc-destroy
+%attr(755,root,root) %{_bindir}/lxc-execute
+%attr(755,root,root) %{_bindir}/lxc-freeze
+%attr(755,root,root) %{_bindir}/lxc-info
+%attr(755,root,root) %{_bindir}/lxc-kill
+%attr(755,root,root) %{_bindir}/lxc-monitor
+%attr(755,root,root) %{_bindir}/lxc-monitord
+%attr(755,root,root) %{_bindir}/lxc-netstat
+%attr(755,root,root) %{_bindir}/lxc-ps
+%attr(755,root,root) %{_bindir}/lxc-restart
+%attr(755,root,root) %{_bindir}/lxc-snapshot
+%attr(755,root,root) %{_bindir}/lxc-start
+%attr(755,root,root) %{_bindir}/lxc-stop
+%attr(755,root,root) %{_bindir}/lxc-unfreeze
+%attr(755,root,root) %{_bindir}/lxc-unshare
+%attr(755,root,root) %{_bindir}/lxc-user-nic
+%attr(755,root,root) %{_bindir}/lxc-usernsexec
+%attr(755,root,root) %{_bindir}/lxc-version
+%attr(755,root,root) %{_bindir}/lxc-wait
+%attr(755,root,root) %{_libdir}/liblxc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liblxc.so.1
+%dir %{_libdir}/lxc
+%dir %{_libdir}/lxc/rootfs
+%{_libdir}/lxc/rootfs/README
+%attr(755,root,root) %{_libdir}/lxc/lxc-init
 %dir %{_sysconfdir}/lxc
 %dir %{_sysconfdir}/lxc
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/*
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/liblxc-*.so
-%{_mandir}/*/**
-%dir %{_sysconfdir}/lxc
-%dir /var/lxc
-%attr(755,root,root) %{_libdir}/lxc-init
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lxc/default.conf
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/lxc.functions
+%dir %{_datadir}/%{name}/config
+%{_datadir}/%{name}/config/ubuntu*.conf
+%dir %{_datadir}/%{name}/hooks
+%dir %{_datadir}/%{name}/templates
+%attr(755,root,root) %{_datadir}/%{name}/hooks/mount*
+%attr(755,root,root) %{_datadir}/%{name}/hooks/clonehostname
+%attr(755,root,root) %{_datadir}/%{name}/hooks/ubuntu-cloud-prep
+%attr(755,root,root) %{_datadir}/%{name}/templates/lxc-*
+%{_mandir}/man1/lxc-attach.1*
+%{_mandir}/man1/lxc-cgroup.1*
+%{_mandir}/man1/lxc-checkconfig.1*
+%{_mandir}/man1/lxc-checkpoint.1*
+%{_mandir}/man1/lxc-clone.1*
+%{_mandir}/man1/lxc-console.1*
+%{_mandir}/man1/lxc-create.1*
+%{_mandir}/man1/lxc-destroy.1*
+%{_mandir}/man1/lxc-execute.1*
+%{_mandir}/man1/lxc-freeze.1*
+%{_mandir}/man1/lxc-info.1*
+%{_mandir}/man1/lxc-kill.1*
+%{_mandir}/man1/lxc-monitor.1*
+%{_mandir}/man1/lxc-netstat.1*
+%{_mandir}/man1/lxc-ps.1*
+%{_mandir}/man1/lxc-restart.1*
+%{_mandir}/man1/lxc-snapshot.1*
+%{_mandir}/man1/lxc-start.1*
+%{_mandir}/man1/lxc-stop.1*
+%{_mandir}/man1/lxc-unfreeze.1*
+%{_mandir}/man1/lxc-unshare.1*
+%{_mandir}/man1/lxc-user-nic.1*
+%{_mandir}/man1/lxc-version.1*
+%{_mandir}/man1/lxc-wait.1*
+%{_mandir}/man5/lxc-usernet.5*
+%{_mandir}/man5/lxc.conf.5*
+%{_mandir}/man7/lxc.7*
+%lang(ja) %{_mandir}/ja/man1/lxc*.1*
+%lang(ja) %{_mandir}/ja/man5/lxc.conf.5*
+%lang(ja) %{_mandir}/ja/man7/lxc.7*
+%exclude %{_mandir}/ja/man1/lxc-device.1*
+%exclude %{_mandir}/ja/man1/lxc-ls.1*
+%exclude %{_mandir}/ja/man1/lxc-start-ephemeral.1*
+%exclude %{_mandir}/ja/man1/lxc-top.1*
+
+%if %{without python}
+# legacy version
+%attr(755,root,root) %{_bindir}/lxc-ls
+%{_mandir}/man1/lxc-ls.1*
+%endif
+
+%dir %{configpath}
+%dir %attr(750,root,root) /var/log/lxc
+%dir %attr(750,root,root) /var/cache/lxc
 
 %files devel
 %defattr(644,root,root,755)
 
 %files devel
 %defattr(644,root,root,755)
-%{_includedir}/lxc
 %attr(755,root,root) %{_libdir}/liblxc.so
 %attr(755,root,root) %{_libdir}/liblxc.so
-%{_libdir}/lib*.la
+%{_includedir}/lxc
+%{_pkgconfigdir}/lxc.pc
+
+%if %{with lua}
+%files -n lua-lxc
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/lxc-top
+%dir %{_libdir}/lua/lxc
+%attr(755,root,root) %{_libdir}/lua/lxc/core.so
+%{_datadir}/lua/lxc.lua
+%{_mandir}/man1/lxc-top.1*
+%lang(ja) %{_mandir}/ja/man1/lxc-top.1*
+%endif
 
 
-%files static
+%if %{with python}
+%files -n python3-lxc
 %defattr(644,root,root,755)
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%attr(755,root,root) %{_bindir}/lxc-device
+%attr(755,root,root) %{_bindir}/lxc-ls
+%attr(755,root,root) %{_bindir}/lxc-start-ephemeral
+%{py3_sitedir}/lxc
+%attr(755,root,root) %{py3_sitedir}/_lxc.cpython-*.so
+%{py3_sitedir}/_lxc-0.1-py*.egg-info
+%{_mandir}/man1/lxc-device.1*
+%{_mandir}/man1/lxc-ls.1*
+%{_mandir}/man1/lxc-start-ephemeral.1*
+%lang(ja) %{_mandir}/ja/man1/lxc-device.1*
+%lang(ja) %{_mandir}/ja/man1/lxc-ls.1*
+%lang(ja) %{_mandir}/ja/man1/lxc-start-ephemeral.1*
+%endif
This page took 0.086332 seconds and 4 git commands to generate.