Update to 3.0.0.

Language bindings are separate projects now.
Update spec file and remove obsolete constructs.
This commit is contained in:
Thomas Moschny 2018-04-06 17:53:44 +02:00
parent a45065678e
commit 5380bc1faf
4 changed files with 22 additions and 206 deletions

View File

@ -1,33 +0,0 @@
diff -up lxc-2.0.9/src/lxc/caps.h~ lxc-2.0.9/src/lxc/caps.h
--- lxc-2.0.9/src/lxc/caps.h~ 2017-10-19 19:13:25.000000000 +0200
+++ lxc-2.0.9/src/lxc/caps.h 2017-10-20 19:31:11.958292398 +0200
@@ -29,6 +29,7 @@
#if HAVE_LIBCAP
+#include <linux/types.h>
#include <sys/capability.h>
extern int lxc_caps_down(void);
diff -up lxc-2.0.9/src/lxc/conf.c~ lxc-2.0.9/src/lxc/conf.c
--- lxc-2.0.9/src/lxc/conf.c~ 2017-10-19 19:13:25.000000000 +0200
+++ lxc-2.0.9/src/lxc/conf.c 2017-10-20 19:31:54.505837167 +0200
@@ -91,6 +91,7 @@
#include "lsm/lsm.h"
#if HAVE_LIBCAP
+#include <linux/types.h>
#include <sys/capability.h>
#endif
diff -up lxc-2.0.9/src/lxc/start.c~ lxc-2.0.9/src/lxc/start.c
--- lxc-2.0.9/src/lxc/start.c~ 2017-10-19 19:13:25.000000000 +0200
+++ lxc-2.0.9/src/lxc/start.c 2017-10-20 19:32:21.793545209 +0200
@@ -49,6 +49,7 @@
#include <sys/wait.h>
#if HAVE_LIBCAP
+#include <linux/types.h>
#include <sys/capability.h>
#endif

View File

@ -1,10 +0,0 @@
diff --git b/config/bash/lxc.in a/config/bash/lxc.in
index 344d5cb..cbd1b79 100644
--- b/config/bash/lxc.in
+++ a/config/bash/lxc.in
@@ -1,4 +1,4 @@
-_have lxc-start && {
+have lxc-start && {
_lxc_names() {
COMPREPLY=( $( compgen -W "$( lxc-ls )" "$cur" ) )
}

183
lxc.spec
View File

@ -1,11 +1,3 @@
%if 0%{?fedora} || 0%{?rhel} >= 7
%global with_python3 1
%endif
%if 0%{?fedora} || 0%{?rhel} >= 7
%global with_systemd 1
%endif
%if 0%{?fedora} %if 0%{?fedora}
%global with_seccomp 1 %global with_seccomp 1
%endif %endif
@ -16,35 +8,15 @@
%endif %endif
%endif %endif
%if 0%{?fedora}
%global luaver 5.3
%else
%global luaver 5.1
%endif
%global lualibdir %{_libdir}/lua/%{luaver}
%global luapkgdir %{_datadir}/lua/%{luaver}
# for pre-releases
#global prerel
%global commit a467a845443054a9f75d65cf0a73bb4d5ff2ab71
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: lxc Name: lxc
Version: 2.0.9 Version: 3.0.0
Release: %{?prerel:0.}1%{?prerel:.%{prerel}}%{?dist}.1 Release: 1%{?dist}
Summary: Linux Resource Containers Summary: Linux Resource Containers
Group: Applications/System
License: LGPLv2+ and GPLv2 License: LGPLv2+ and GPLv2
URL: http://linuxcontainers.org URL: http://linuxcontainers.org/lxc
%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 Source0: http://linuxcontainers.org/downloads/%{name}-%{version}.tar.gz
%endif
Patch0: lxc-2.0.7-fix-init.patch Patch0: lxc-2.0.7-fix-init.patch
Patch1: lxc-2.0.6-fix-lxc-net.patch Patch1: lxc-2.0.6-fix-lxc-net.patch
Patch2: lxc-2.0.8-fix_capability_h.patch
Patch3: lxc-fix-bash-completion.patch
BuildRequires: docbook2X BuildRequires: docbook2X
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: kernel-headers BuildRequires: kernel-headers
@ -54,23 +26,12 @@ BuildRequires: pkgconfig(libseccomp)
%endif # with_seccomp %endif # with_seccomp
BuildRequires: libcap-devel BuildRequires: libcap-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: pkgconfig(lua)
%if 0%{?with_python3}
BuildRequires: pkgconfig(python3) >= 3.2
%endif # with_python3
%if 0%{?with_systemd}
BuildRequires: systemd BuildRequires: systemd
%endif # with_systemd
%if 0%{?fedora} || 0%{?rhel} >= 7
BuildRequires: pkgconfig(bash-completion) BuildRequires: pkgconfig(bash-completion)
%endif
# lxc-extra subpackage not needed anymore, lxc-ls has been rewriten in # lxc-extra subpackage not needed anymore, lxc-ls has been rewriten in
# C and does not depend on the Python3 binding anymore # C and does not depend on the Python3 binding anymore
Provides: lxc-extra = %{version}-%{release} Provides: lxc-extra = %{version}-%{release}
Obsoletes: lxc-extra < 1.1.5-3 Obsoletes: lxc-extra < 1.1.5-3
%if 0%{?prerel:1}
BuildRequires: autoconf automake
%endif
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
@ -79,20 +40,15 @@ Linux Resource Containers provide process and resource isolation without the
overhead of full virtualization. overhead of full virtualization.
%package libs %package libs
Summary: Runtime library files for %{name} Summary: Runtime library files for %{name}
Group: System Environment/Libraries
# rsync is called in bdev.c, e.g. by lxc-clone # rsync is called in bdev.c, e.g. by lxc-clone
Requires: rsync Requires: rsync
%if 0%{?with_systemd} Requires(post): systemd
Requires(post): systemd Requires(preun): systemd
Requires(preun): systemd Requires(postun): systemd
Requires(postun): systemd Requires(post): /sbin/ldconfig
%else Requires(postun): /sbin/ldconfig
Requires(post): chkconfig
Requires(preun): initscripts, chkconfig
Requires(postun): initscripts
%endif # with_systemd
%description libs %description libs
@ -102,38 +58,8 @@ overhead of full virtualization.
The %{name}-libs package contains libraries for running %{name} applications. The %{name}-libs package contains libraries for running %{name} applications.
%if 0%{?with_python3}
%package -n python%{python3_pkgversion}-%{name}
Summary: Python binding for %{name}
Group: System Environment/Libraries
%description -n python%{python3_pkgversion}-%{name}
Linux Resource Containers provide process and resource isolation without the
overhead of full virtualization.
The python%{python3_pkgversion}-%{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
%package templates %package templates
Summary: Templates for %{name} Summary: Templates for %{name}
Group: System Environment/Libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# Note: Requirements for the template scripts (busybox, dpkg, # Note: Requirements for the template scripts (busybox, dpkg,
# debootstrap, rsync, openssh-server, dhclient, apt, pacman, zypper, # debootstrap, rsync, openssh-server, dhclient, apt, pacman, zypper,
@ -154,7 +80,6 @@ The %{name}-templates package contains templates for creating containers.
%package devel %package devel
Summary: Development files for %{name} Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: pkgconfig Requires: pkgconfig
@ -168,7 +93,6 @@ developing applications that use %{name}.
%package doc %package doc
Summary: Documentation for %{name} Summary: Documentation for %{name}
Group: Documentation
BuildArch: noarch BuildArch: noarch
%description doc %description doc
@ -176,22 +100,12 @@ This package contains documentation for %{name}.
%prep %prep
%setup -q -n %{name}-%{?!prerel:%{version}}%{?prerel:%{commit}} %setup -q -n %{name}-%{version}
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%if 0%{?rhel} && 0%{?rhel} <= 6
# fix build failure with broken sys/capabilities.h (see
# e.g. rhbz#483548)
%patch2 -p1
# revert 3db8dd39 (see rhbz#1408173)
%patch3 -p1
%endif
%build %build
%if 0%{?prerel:1}
./autogen.sh
%endif
%configure --with-distro=fedora \ %configure --with-distro=fedora \
--enable-doc \ --enable-doc \
--enable-api-docs \ --enable-api-docs \
@ -199,22 +113,11 @@ This package contains documentation for %{name}.
--docdir=%{_pkgdocdir} \ --docdir=%{_pkgdocdir} \
--disable-rpath \ --disable-rpath \
--disable-apparmor \ --disable-apparmor \
--disable-cgmanager \
--enable-selinux \ --enable-selinux \
%if 0%{?with_seccomp} %if 0%{?with_seccomp}
--enable-seccomp \ --enable-seccomp \
%endif # with_seccomp %endif # with_seccomp
--enable-lua \
%if 0%{?with_python3}
--enable-python \
%else
--disable-python \
%endif # with_python3
%if 0%{?with_systemd}
--with-init-script=systemd \ --with-init-script=systemd \
%else
--with-init-script=sysvinit \
%endif # with_systemd
--disable-werror \ --disable-werror \
# intentionally blank line # intentionally blank line
@ -228,11 +131,10 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%install %install
%{make_install} %{make_install}
mkdir -p %{buildroot}%{_sharedstatedir}/%{name} mkdir -p %{buildroot}%{_sharedstatedir}/%{name}
chmod -x %{buildroot}%{luapkgdir}/lxc.lua
mkdir -p %{buildroot}%{_pkgdocdir} # docs
cp -a AUTHORS README %{!?_licensedir:COPYING} %{buildroot}%{_pkgdocdir}
mkdir -p %{buildroot}%{_pkgdocdir}/api mkdir -p %{buildroot}%{_pkgdocdir}/api
cp -a AUTHORS README %{buildroot}%{_pkgdocdir}
cp -a doc/api/html/* %{buildroot}%{_pkgdocdir}/api/ cp -a doc/api/html/* %{buildroot}%{_pkgdocdir}/api/
# cache dir # cache dir
@ -247,44 +149,23 @@ make check
%post libs %post libs
/sbin/ldconfig %{ldconfig}
%if 0%{?with_systemd}
%systemd_post %{name}-net.service %systemd_post %{name}-net.service
%systemd_post %{name}.service %systemd_post %{name}.service
%systemd_post %{name}@.service %systemd_post %{name}@.service
%else
/sbin/chkconfig --add %{name}-net
/sbin/chkconfig --add %{name}
%endif # with_systemd
%preun libs %preun libs
%if 0%{?with_systemd}
%systemd_preun %{name}-net.service %systemd_preun %{name}-net.service
%systemd_preun %{name}.service %systemd_preun %{name}.service
%systemd_preun %{name}@.service %systemd_preun %{name}@.service
%else
if [ $1 -eq 0 ]; then
/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 %postun libs
/sbin/ldconfig %{ldconfig}
%if 0%{?with_systemd}
%systemd_postun %{name}-net.service %systemd_postun %{name}-net.service
%systemd_postun %{name}.service %systemd_postun %{name}.service
%systemd_postun %{name}@.service %systemd_postun %{name}@.service
%else
if [ $1 -ge 1 ]; then
/sbin/service %{name}-net condrestart > /dev/null 2>&1 || :
/sbin/service %{name} condrestart > /dev/null 2>&1 || :
fi
%endif # with_systemd
%files %files
@ -298,14 +179,9 @@ fi
%exclude %{_mandir}/man1/%{name}-user-nic* %exclude %{_mandir}/man1/%{name}-user-nic*
%exclude %{_mandir}/*/man1/%{name}-user-nic* %exclude %{_mandir}/*/man1/%{name}-user-nic*
%{_datadir}/%{name}/%{name}.functions %{_datadir}/%{name}/%{name}.functions
%if 0%{?fedora} || 0%{?rhel} >= 7
%dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions %dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/%{name} %{_datadir}/bash-completion/completions/%{name}
%else
%dir %{_sysconfdir}/bash_completion.d
%{_sysconfdir}/bash_completion.d/%{name}
%endif
%files libs %files libs
@ -336,33 +212,13 @@ fi
%dir %{_pkgdocdir} %dir %{_pkgdocdir}
%{_pkgdocdir}/AUTHORS %{_pkgdocdir}/AUTHORS
%{_pkgdocdir}/README %{_pkgdocdir}/README
%if 0%{?_licensedir:1}
%license COPYING %license COPYING
%else
%{_pkgdocdir}/COPYING
%endif
%if 0%{?with_systemd}
%{_unitdir}/%{name}.service %{_unitdir}/%{name}.service
%{_unitdir}/%{name}@.service %{_unitdir}/%{name}@.service
%{_unitdir}/%{name}-net.service %{_unitdir}/%{name}-net.service
%else
%{_sysconfdir}/rc.d/init.d/%{name}
%{_sysconfdir}/rc.d/init.d/%{name}-net
%endif # with_systemd
%dir %{_localstatedir}/cache/%{name} %dir %{_localstatedir}/cache/%{name}
%if 0%{?with_python3}
%files -n python%{python3_pkgversion}-%{name}
%{python3_sitearch}/*
%endif # with_python3
%files -n lua-%{name}
%{lualibdir}/%{name}
%{luapkgdir}/%{name}.lua
%files templates %files templates
%{_datadir}/%{name}/templates/lxc-* %{_datadir}/%{name}/templates/lxc-*
%{_datadir}/%{name}/config/* %{_datadir}/%{name}/config/*
@ -379,12 +235,15 @@ fi
# README, AUTHORS and COPYING intentionally duplicated because -doc # README, AUTHORS and COPYING intentionally duplicated because -doc
# can be installed on its own. # can be installed on its own.
%{_pkgdocdir}/* %{_pkgdocdir}/*
%if 0%{?_licensedir:1}
%license COPYING %license COPYING
%endif
%changelog %changelog
* Fri Apr 6 2018 Thomas Moschny <thomas.moschny@gmx.de> - 3.0.0-1
- Update to 3.0.0.
- Language bindings are separate projects now.
- Update spec file and remove obsolete constructs.
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-1.1 * Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.9-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (lxc-2.0.9.tar.gz) = c7c595fbc6163e500700b756ae30c96b70d41b9bf297a609622b5d5b8431171ed8db70fa8368c3b9650c86452820e9da7f329f9186ae75c24a7adb15d5826102 SHA512 (lxc-3.0.0.tar.gz) = 21372e6fe4d38e2cf54707fab4133137793deff1dd500ed7ed02c03bbaa809de56c7490971594cddbdcb2b96f0c03ab5dfb43a8582a584598a12c5943b7ca490