lxc/lxc.spec

551 lines
16 KiB
RPMSpec
Raw Normal View History

%if 0%{?fedora}
%global with_python3 1
%endif
%if 0%{?fedora} || 0%{?rhel} >= 7
%global with_systemd 1
%endif
%if 0%{?fedora}
%global with_seccomp 1
%endif
%if 0%{?rhel} >= 7
2015-02-16 15:24:08 +00:00
%ifarch %{ix86} x86_64 %{arm} aarch64
%global with_seccomp 1
%endif
%endif
2015-02-08 11:22:19 +00:00
%if 0%{?fedora} >= 22
%global luaver 5.3
%else
%if 0%{?fedora} >= 20
%global luaver 5.2
%else
%global luaver 5.1
%endif
2015-02-08 11:22:19 +00:00
%endif
%global lualibdir %{_libdir}/lua/%{luaver}
%global luapkgdir %{_datadir}/lua/%{luaver}
2014-08-10 11:00:47 +00:00
# for pre-releases
2015-02-08 11:22:19 +00:00
#global prerel
%global commit 62ed104940747d135ffd71f513e51bf3d912d1d9
2014-08-10 11:00:47 +00:00
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: lxc
Version: 2.0.0
Release: %{?prerel:0.}1%{?prerel:.%{prerel}}%{?dist}
Summary: Linux Resource Containers
Group: Applications/System
License: LGPLv2+ and GPLv2
URL: http://linuxcontainers.org
2014-08-10 11:00:47 +00:00
%if 0%{?prerel:1}
Source0: https://github.com/lxc/lxc/archive/%{commit}/%{name}-%{commit}.tar.gz
%else
Source0: http://linuxcontainers.org/downloads/%{name}-%{version}.tar.gz
2014-08-10 11:00:47 +00:00
%endif
2015-02-08 11:22:19 +00:00
Patch0: lxc-1.1.0-fix-init.patch
Patch1: lxc-1.1.4-fix-bootorder.patch
Patch2: lxc-2.0.0-remove-werror.patch
BuildRequires: docbook-utils
2015-02-10 18:17:05 +00:00
BuildRequires: docbook2X
BuildRequires: doxygen
BuildRequires: kernel-headers
BuildRequires: libselinux-devel
%if 0%{?with_seccomp}
BuildRequires: libseccomp-devel
%endif # with_seccomp
BuildRequires: libcap-devel
BuildRequires: libtool
BuildRequires: lua-devel
%if 0%{?with_python3}
BuildRequires: python3-devel >= 3.2
%endif # with_python3
%if 0%{?with_systemd}
BuildRequires: systemd
%endif # with_systemd
# lxc-extra subpackage not needed anymore, lxc-ls has been rewriten in
# C and does not depend on the Python3 binding anymore
Provides: lxc-extra = %{version}-%{release}
Obsoletes: lxc-extra < 1.1.5-3
2015-10-01 14:03:05 +00:00
#if 0%{?prerel:1}
# we patch configure.ac
BuildRequires: autoconf automake
2015-10-01 14:03:05 +00:00
#endif
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
%description
Linux Resource Containers provide process and resource isolation without the
overhead of full virtualization.
%package libs
Summary: Runtime library files for %{name}
Group: System Environment/Libraries
# rsync is called in bdev.c, e.g. by lxc-clone
Requires: rsync
%if 0%{?with_systemd}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%else
Requires(post): chkconfig
Requires(preun): initscripts, chkconfig
Requires(postun): initscripts
%endif # with_systemd
%description libs
Linux Resource Containers provide process and resource isolation without the
overhead of full virtualization.
The %{name}-libs package contains libraries for running %{name} applications.
%if 0%{?with_python3}
%package -n python3-%{name}
Summary: Python binding for %{name}
Group: System Environment/Libraries
%description -n python3-%{name}
Linux Resource Containers provide process and resource isolation without the
overhead of full virtualization.
The python3-%{name} package contains the Python3 binding for %{name}.
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}_lxc\\..*\\.so
%endif # with_python3
%package -n lua-%{name}
Summary: Lua binding for %{name}
Group: System Environment/Libraries
Requires: lua-filesystem
%description -n lua-%{name}
Linux Resource Containers provide process and resource isolation without the
overhead of full virtualization.
The lua-%{name} package contains the Lua binding for %{name}.
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}core\\.so\\.0
2011-03-28 03:00:01 +00:00
%package templates
Summary: Templates for %{name}
Group: System Environment/Libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# Note: Requirements for the template scripts (busybox, dpkg,
# debootstrap, rsync, openssh-server, dhclient, apt, pacman, zypper,
# ubuntu-cloudimg-query etc...) are not explicitly mentioned here:
# their presence varies wildly on supported Fedora/EPEL releases and
# archs, and they are in most cases needed for a single template
# only. Also, the templates normally fail graciously when such a tool
# is missing. Moving each template to its own subpackage on the other
# hand would be overkill.
2011-03-28 03:00:01 +00:00
%description templates
Linux Resource Containers provide process and resource isolation without the
overhead of full virtualization.
The %{name}-templates package contains templates for creating containers.
2011-03-28 03:00:01 +00:00
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: pkgconfig
%description devel
Linux Resource Containers provide process and resource isolation without the
overhead of full virtualization.
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package doc
Summary: Documentation for %{name}
Group: Documentation
BuildArch: noarch
%description doc
This package contains documentation for %{name}.
%prep
2014-08-10 11:00:47 +00:00
%setup -q -n %{name}-%{?!prerel:%{version}}%{?prerel:%{commit}}
%patch0 -p1
# see rhbz#1263612
%patch1 -p1
# -Wall with -Werror doesn't work well
%patch2 -p1
%build
#if 0%{?prerel:1}
2014-08-10 11:00:47 +00:00
./autogen.sh
#endif
%configure --with-distro=fedora \
--enable-doc \
--enable-api-docs \
--disable-silent-rules \
--docdir=%{_pkgdocdir} \
--disable-rpath \
--disable-apparmor \
--disable-cgmanager \
--enable-selinux \
%if 0%{?with_seccomp}
--enable-seccomp \
%endif # with_seccomp
--enable-lua \
%if 0%{?with_python3}
--enable-python \
2015-02-10 18:17:05 +00:00
%else
--disable-python \
%endif # with_python3
%if 0%{?with_systemd}
--with-init-script=systemd \
%else
--with-init-script=sysvinit \
%endif # with_systemd
# intentionally blank line
make %{?_smp_mflags}
2010-07-26 17:05:45 +00:00
%install
%{make_install}
make DESTDIR=%{buildroot} install
mkdir -p %{buildroot}%{_sharedstatedir}/%{name}
chmod -x %{buildroot}%{luapkgdir}/lxc.lua
mkdir -p %{buildroot}%{_pkgdocdir}
2015-03-18 08:45:16 +00:00
cp -a AUTHORS README %{!?_licensedir:COPYING} %{buildroot}%{_pkgdocdir}
mkdir -p %{buildroot}%{_pkgdocdir}/api
cp -a doc/api/html/* %{buildroot}%{_pkgdocdir}/api/
2011-03-28 03:00:01 +00:00
# cache dir
mkdir -p %{buildroot}%{_localstatedir}/cache/%{name}
# on Fedora and EPEL>=7, move the completion file to %%{_datadir}
%if 0%{?fedora} || 0%{?rhel} >= 7
install -d %{buildroot}%{_datadir}/bash-completion/completions/
mv %{buildroot}%{_sysconfdir}/bash_completion.d/%{name} \
%{buildroot}%{_datadir}/bash-completion/completions/%{name}
%endif
%check
make check
%post libs
/sbin/ldconfig
%if 0%{?with_systemd}
2015-02-08 11:22:19 +00:00
%systemd_post %{name}-net.service
%systemd_post %{name}.service
%systemd_post %{name}@.service
%else
2015-02-08 11:22:19 +00:00
/sbin/chkconfig --add %{name}-net
/sbin/chkconfig --add %{name}
%endif # with_systemd
%preun libs
%if 0%{?with_systemd}
2015-02-08 11:22:19 +00:00
%systemd_preun %{name}-net.service
%systemd_preun %{name}.service
%systemd_preun %{name}@.service
%else
if [ $1 -eq 0 ]; then
2015-02-08 11:22:19 +00:00
/sbin/service %{name}-net stop > /dev/null 2>&1
/sbin/chkconfig --del %{name}-net
/sbin/service %{name} stop > /dev/null 2>&1
/sbin/chkconfig --del %{name}
fi
%endif # with_systemd
%postun libs
/sbin/ldconfig
%if 0%{?with_systemd}
2015-02-08 11:22:19 +00:00
%systemd_postun %{name}-net.service
%systemd_postun %{name}.service
%systemd_postun %{name}@.service
%else
if [ $1 -ge 1 ]; then
2015-02-08 11:22:19 +00:00
/sbin/service %{name}-net condrestart > /dev/null 2>&1 || :
/sbin/service %{name} condrestart > /dev/null 2>&1 || :
fi
%endif # with_systemd
%files
%{_bindir}/%{name}-*
%{_mandir}/man1/%{name}*
%{_mandir}/*/man1/%{name}*
# in lxc-libs:
%exclude %{_bindir}/%{name}-autostart
%exclude %{_mandir}/man1/%{name}-autostart*
%exclude %{_mandir}/*/man1/%{name}-autostart*
%exclude %{_mandir}/man1/%{name}-user-nic*
%exclude %{_mandir}/*/man1/%{name}-user-nic*
%{_datadir}/%{name}/%{name}.functions
%if 0%{?fedora} || 0%{?rhel} >= 7
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/%{name}
%else
%dir %{_sysconfdir}/bash_completion.d
%{_sysconfdir}/bash_completion.d/%{name}
%endif
%files libs
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/templates
%dir %{_datadir}/%{name}/config
%{_datadir}/%{name}/hooks
%{_datadir}/%{name}/%{name}-patch.py*
2015-02-08 11:22:19 +00:00
%{_datadir}/%{name}/selinux
%{_libdir}/liblxc.so.*
%{_libdir}/%{name}
%{_libexecdir}/%{name}
# fixme: should be in libexecdir?
%{_sbindir}/init.%{name}
%{_bindir}/%{name}-autostart
%{_sharedstatedir}/%{name}
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/default.conf
2015-02-08 11:22:19 +00:00
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%{_mandir}/man1/%{name}-autostart*
%{_mandir}/*/man1/%{name}-autostart*
%{_mandir}/man1/%{name}-user-nic*
%{_mandir}/*/man1/%{name}-user-nic*
%{_mandir}/man5/%{name}*
%{_mandir}/man7/%{name}*
%{_mandir}/*/man5/%{name}*
%{_mandir}/*/man7/%{name}*
%dir %{_pkgdocdir}
%{_pkgdocdir}/AUTHORS
%{_pkgdocdir}/README
2015-03-18 08:45:16 +00:00
%if 0%{?_licensedir:1}
%license COPYING
2015-03-18 08:45:16 +00:00
%else
%{_pkgdocdir}/COPYING
%endif
%if 0%{?with_systemd}
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}@.service
2015-02-08 11:22:19 +00:00
%{_unitdir}/%{name}-net.service
%else
%{_sysconfdir}/rc.d/init.d/%{name}
2015-02-08 11:22:19 +00:00
%{_sysconfdir}/rc.d/init.d/%{name}-net
%endif # with_systemd
%dir %{_localstatedir}/cache/%{name}
%if 0%{?with_python3}
%files -n python3-%{name}
%{python3_sitearch}/*
%endif # with_python3
%files -n lua-%{name}
%{lualibdir}/%{name}
%{luapkgdir}/%{name}.lua
2011-03-28 03:00:01 +00:00
%files templates
%{_datadir}/%{name}/templates/lxc-*
%{_datadir}/%{name}/config/*
%files devel
%{_libdir}/pkgconfig/%{name}.pc
%{_includedir}/lxc
%{_libdir}/liblxc.so
%files doc
%dir %{_pkgdocdir}
# README, AUTHORS and COPYING intentionally duplicated because -doc
# can be installed on its own.
%{_pkgdocdir}/*
2015-03-18 08:45:16 +00:00
%if 0%{?_licensedir:1}
%license COPYING
2015-03-18 08:45:16 +00:00
%endif
%changelog
* Wed Apr 20 2016 Thomas Moschny <thomas.moschny@gmx.de> - 2.0.0-1
- Update to 2.0.0.
- Obsolete the -extra subpackage.
- Move the completion file to %%{_datadir}.
* Tue Mar 1 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.1.5-2
- Power64 and s390(x) now have libseccomp support
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
2015-11-15 08:53:18 +00:00
* Sun Nov 15 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.5-1
- Update to 1.1.5.
- Update patch.
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.4-2.1
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Wed Oct 21 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.4-2
- Add patch to fix bootorder (rhbz#1263612).
2015-10-17 17:51:08 +00:00
* Sat Oct 17 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.4-1
- Update to 1.1.4.
2015-10-01 14:03:05 +00:00
* Thu Oct 1 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.3-2
- Add security fix, see rhbz#1267844.
* Sat Aug 15 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.3-1
- Update to 1.1.3.
- Remove patches applied upstream.
* Sun Aug 2 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.2-2
- Add security fixes, see rhbz#1245939 and rhbz#1245941.
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
2015-04-20 16:22:05 +00:00
* Mon Apr 20 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.2-1
- Update to 1.1.2.
- Add patch to fix building of the lua bindings.
2015-04-20 16:22:05 +00:00
2015-03-18 08:45:16 +00:00
* Tue Mar 17 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.1-2
- Use %%license only where possible.
* Tue Mar 17 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.1-1
- Update to 1.1.1.
- Add dependency on rsync (rhbz#1177981).
- Tag COPYING with %%licence.
2015-02-16 15:24:08 +00:00
* Mon Feb 16 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.1.0-3
- aarch64 now has seccomp support
* Tue Feb 10 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.0-2
- lxc-top no longer relies on the lua bindings.
- lxc-device no longer relies on the python3 bindings.
2015-02-10 18:17:05 +00:00
- Spec file cleanups.
2015-02-08 11:22:19 +00:00
* Sun Feb 8 2015 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.0-1
- Update to 1.1.0.
* Sat Aug 30 2014 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.0-0.3.alpha1
- Add missing dependency on lua-alt-getopt (rhbz#1131707).
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.0-0.2.alpha1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Mon Aug 11 2014 Jakub Čajka <jcajka@redhat.com> - 1.1.0-0.2.alpha1
- Fixed build dependencies on s390(x) and ppc(64(le))
2014-08-10 11:00:47 +00:00
* Sun Aug 10 2014 Thomas Moschny <thomas.moschny@gmx.de> - 1.1.0-0.1.alpha1
- Update to 1.1.0.alpha1.
* Fri Aug 8 2014 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.5-2
- Include sysvinit resp. systemd support for autostart of containers.
- Do not list explicit requirements for templates.
- Add missing dependency on lxc-lua for lxc-top.
- Include apidocs.
2014-08-08 08:17:53 +00:00
* Fri Aug 8 2014 Peter Robinson <pbrobinson@fedoraproject.org> 1.0.5-1
- Update to 1.0.5
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Jun 4 2014 Thomas Moschny <thomas.moschny@gmx.de> - 1.0.3-1
- Update to 1.0.3.
- Remove obsolete patches.
- Add systemd support.
- Lua bindings are not optional (needed e.g. for lxc-top).
* Wed May 28 2014 Kalev Lember <kalevlember@gmail.com> - 0.9.0-4
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Thu Jan 30 2014 Marek Goldmann <mgoldman@redhat.com> - 0.9.0-3
- There is still no Python 3 available in EPEL 7
* Wed Sep 4 2013 Thomas Moschny <thomas.moschny@gmx.de> - 0.9.0-2
- Small fix to the included Fedora template.
* Sun Sep 1 2013 Thomas Moschny <thomas.moschny@gmx.de> - 0.9.0-1
- Update to 0.9.0.
- Make the -libs subpackage installable on its own:
- Move files needed by the libraries to the subpackage.
- Let packages depend on -libs.
- Add rsync as dependency to the templates package.
- Add (optional) subpackages for Python3 and Lua bindings.
- Add upstream patches for the Fedora template.
- Define and use the _pkgdocdir macro, also fixing rhbz#1001235.
- Update License tag.
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Mar 2 2013 Thomas Moschny <thomas.moschny@gmx.de> - 0.8.0-2
- Add upstream patch fixing the release url in the Fedora template.
* Fri Feb 15 2013 Thomas Moschny <thomas.moschny@gmx.de> - 0.8.0-1
- Update to 0.8.0.
- Modernize spec file.
- Include more templates.
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Mar 26 2012 Thomas Moschny <thomas.moschny@gmx.de> - 0.7.5-1
- Update to upstream 0.7.5
- No need to run autogen.sh
- Fix: kernel header asm/unistd.h was not found
- Specfile cleanups
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2011-07-29 16:48:40 +00:00
* Wed Jul 06 2011 Adam Miller <maxamillion@fedoraproject.org> - 0.7.4.2-1
- Update to upstream 0.7.4.2
2011-03-28 03:00:01 +00:00
* Fri Mar 25 2011 Silas Sewell <silas@sewell.ch> - 0.7.4.1-1
- Update to 0.7.4.1
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
2010-07-26 17:05:45 +00:00
* Mon Jul 26 2010 Silas Sewell <silas@sewell.ch> - 0.7.2-1
- Update to 0.7.2
- Remove templates
* Tue Jul 06 2010 Silas Sewell <silas@sewell.ch> - 0.7.1-1
- Update to 0.7.1
* Wed Feb 17 2010 Silas Sewell <silas@sewell.ch> - 0.6.5-1
- Update to latest release
- Add /var/lib/lxc directory
- Patch for sys/stat.h
* Fri Nov 27 2009 Silas Sewell <silas@sewell.ch> - 0.6.4-1
- Update to latest release
- Add documentation sub-package
* Mon Jul 27 2009 Silas Sewell <silas@sewell.ch> - 0.6.3-2
- Apply patch for rawhide kernel
* Sat Jul 25 2009 Silas Sewell <silas@sewell.ch> - 0.6.3-1
- Initial package