123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505 |
- %bcond_with systemd
- %bcond_with python3
- %bcond_with lua
- %global luaver 5.4
- %global lualibdir %{_libdir}/lua/%{luaver}
- %global luapkgdir %{_datadir}/lua/%{luaver}
- %define _unpackaged_files_terminate_build 1
- Name: lxc
- Version: 5.0.3
- Release: 1%{?_dist_release}%{?with_systemd:.systemd}
- Summary: Linux Resource Containers
- Summary(ja): Linux リソースコンテナ
- Group: virtualization
- License: LGPLv2+ and GPLv2
- URL: https://linuxcontainers.org/
- Vendor: Project Vine
- Distribution: Vine Linux
- Source0: https://linuxcontainers.org/downloads/lxc/%{name}-%{version}.tar.gz
- Source10: lxc-vinelinux
- Source11: vinelinux.common.conf
- Source12: vinelinux.userns.conf
- Patch0: 0001-fix-initscript.patch
- Patch100: 0002-fix-launching-dnsmasq.patch
- BuildRequires: meson
- BuildRequires: cmake
- BuildRequires: docbook-utils
- BuildRequires: docbook2X
- BuildRequires: doxygen
- BuildRequires: glibc-static
- BuildRequires: kernel-headers
- BuildRequires: libcap-static
- BuildRequires: libseccomp-devel
- BuildRequires: libtool
- %if %{with lua}
- BuildRequires: lua-devel
- %endif
- BuildRequires: openssl-devel
- BuildRequires: pam-devel
- BuildRequires: perl-XML-SAX
- %if %{with python3}
- BuildRequires: python3-devel >= 3.2
- BuildRequires: python3-rpm-macros
- %endif # with_python3
- %if %{with systemd}
- BuildRequires: systemd-devel
- %endif # with_systemd
- # for lxc-top
- %if %{with lua}
- Requires: lua-%{name}%{?_isa} = %{version}-%{release}
- Requires: lua-alt-getopt
- %endif
- %if !%{with systemd}
- Requires: libcgroup
- %endif
- Obsoletes: lxc-extra < 3.0.0
- Obsoletes: lxc-lua < 3.0.0
- Obsoletes: python3-lxc < 3.0.0
- Obsoletes: lxc-doc < 5.0.0
- %{!?_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}
- Summary(ja): %{name}のランタイムライブラリ
- Group: virtualization
- %if %{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
- Obsoletes: compat32-lxc-init-static.32bit < 2.0.1-3
- %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 %{with python3}
- %package -n python3-%{name}
- Summary: Python binding for %{name}
- Summary(ja): %{name} の Python バインディング
- Group: programming
- %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
- %package extra
- Summary: Extra tools for %{name}
- Summary(ja): %{name} の追加ツール
- Group: virtualization
- Requires: python3-%{name} = %{version}-%{release}
- %description extra
- Linux Resource Containers provide process and resource isolation without the
- overhead of full virtualization.
- This package contains tools needing the Python3 bindings.
- %endif # with_python3
- %if %{with lua}
- %package -n lua-%{name}
- Summary: Lua binding for %{name}
- Summary(ja): %{name} の Lua バインディング
- Group: programming
- %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}.
- %endif
- %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}core\\.so\\.0
- %package templates
- Summary: Templates for %{name}
- Summary(ja): %{name} のテンプレート
- Group: virtualization
- Requires: %{name}-libs%{?_isa} = %{version}-%{release}
- # Note: Requirements for the template scripts (busybox, dpkg,
- # debootstrap, vbootstrap, 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.
- %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.
- %package devel
- Summary: Development files for %{name}
- Summary(ja): %{name}の開発ファイル
- Group: programming
- 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}.
- %debug_package
- %prep
- %setup -q -n %{name}-%{version}
- %if !%{with systemd}
- %patch0 -p1
- %endif
- %patch100 -p1
- %build
- %meson \
- -D examples=true \
- -D man=true \
- -D tools=true \
- -D commands=true \
- -D capabilities=true \
- -D openssl=true \
- -D apparmor=false \
- -D selinux=false \
- -D seccomp=true \
- -D memfd-rexec=true \
- -D thread-safety=true \
- -D tests=false \
- %if %{with systemd}
- -D init-script=systemd \
- -D systemd-unitdir=%{_unitdir} \
- -D sd-bus=auto \
- %else
- -D init-script=sysvinit \
- -D sd-bus=disabled \
- %endif # with_systemd
- -D distrosysconfdir=sysconfig \
- -D pam-cgroup=true \
- -D runtime-path=%{_rundir} \
- %{nil}
- %meson_build
- %install
- %meson_install
- mkdir -p %{buildroot}/%{_lib}
- mv -f %{buildroot}%{_libdir}/security %{buildroot}/%{_lib}/
- mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}
- %if %{with lua}
- chmod -x %{buildroot}%{luapkgdir}/lxc.lua
- %endif
- rm -rf rpmdoc
- mkdir -p rpmdoc
- mv -f %{buildroot}%{_docdir}/lxc/examples rpmdoc/
- # cache dir
- mkdir -p %{buildroot}%{_localstatedir}/cache/%{name}
- rm -rf %{buildroot}%{_datadir}/lxc/selinux
- find %{buildroot}%{_libdir} -name "*.a" -delete
- # install vinelinux template
- install -m775 %{SOURCE10} %{buildroot}%{_datadir}/lxc/templates/
- install -m775 %{SOURCE11} %{buildroot}%{_datadir}/lxc/config/
- install -m775 %{SOURCE12} %{buildroot}%{_datadir}/lxc/config/
- %if !%{with systemd}
- mkdir -p %{buildroot}%{_initdir}
- mv -f %{buildroot}%{_sysconfdir}/init.d/* %{buildroot}%{_initdir}/
- chmod 755 %{buildroot}%{_initdir}/*
- %endif # with_systemd
- %check
- %meson_test
- %post libs
- %if %{with systemd}
- %systemd_post %{name}-net.service
- %systemd_post %{name}.service
- %systemd_post %{name}@.service
- %systemd_post %{name}-monitord.service
- %else
- /sbin/chkconfig --add %{name}-net
- /sbin/chkconfig --add %{name}-containers
- if [ $1 -gt 1 -a -x %{initdir}/%{name} ]; then
- /sbin/service %{name} stop > /dev/null 2>&1
- /sbin/chkconfig --del %{name}
- fi
- %endif # with_systemd
- %preun libs
- %if %{with systemd}
- %systemd_preun %{name}-net.service
- %systemd_preun %{name}.service
- %systemd_preun %{name}@.service
- %systemd_preun %{name}-monitord.service
- %else
- if [ $1 -eq 0 -o -x /bin/systemctl ]; then
- /sbin/service %{name}-containers stop > /dev/null 2>&1
- /sbin/service %{name}-net stop > /dev/null 2>&1
- /sbin/chkconfig --del %{name}-containers
- /sbin/chkconfig --del %{name}-net
- fi
- %endif # with_systemd
- %postun libs
- %if %{with systemd}
- %systemd_postun %{name}-net.service
- %systemd_postun %{name}.service
- %systemd_postun %{name}@.service
- %systemd_postun %{name}-monitord.service
- %else
- if [ $1 -ge 1 ]; then
- /sbin/service %{name}-container condrestart > /dev/null 2>&1 || :
- fi
- %endif # with_systemd
- %files
- %license COPYING LICENSE*
- %doc AUTHORS MAINTAINERS README*
- %doc rpmdoc/examples
- %{_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 %{with python3}
- %exclude %{_bindir}/%{name}-device
- %exclude %{_bindir}/%{name}-ls
- %exclude %{_mandir}/man1/%{name}-device*
- %exclude %{_mandir}/man1/%{name}-ls*
- %exclude %{_mandir}/*/man1/%{name}-device*
- %exclude %{_mandir}/*/man1/%{name}-ls*
- %endif
- %dir %{_datadir}/bash-completion
- %dir %{_datadir}/bash-completion/completions
- %{_datadir}/bash-completion/completions/*
- %files libs
- %dir %{_datadir}/%{name}
- %dir %{_datadir}/%{name}/templates
- %dir %{_datadir}/%{name}/config
- %{_datadir}/%{name}/hooks
- %{_datadir}/%{name}/%{name}-patch.py*
- %{_libdir}/liblxc.so.*
- %{_libdir}/%{name}
- %{_libexecdir}/%{name}
- %{_sbindir}/init.%{name}
- %{_sbindir}/init.%{name}.static
- %{_bindir}/%{name}-autostart
- %{_localstatedir}/lib/%{name}
- %dir %{_sysconfdir}/%{name}
- %config(noreplace) %{_sysconfdir}/%{name}/default.conf
- %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}*
- %{_mandir}/man8/pam_cgfs*
- %{_mandir}/*/man8/pam_cgfs*
- %if %{with systemd}
- %{_unitdir}/*.service
- %else
- %{_initdir}/*
- %endif # with_systemd
- %dir %{_localstatedir}/cache/%{name}
- /%{_lib}/security/pam_cgfs.so
- %if %{with python3}
- %files -n python3-%{name}
- %{python3_sitearch}/*
- %files extra
- %{_bindir}/%{name}-device
- %{_bindir}/%{name}-ls
- %{_mandir}/man1/%{name}-device*
- %{_mandir}/man1/%{name}-ls*
- %{_mandir}/*/man1/%{name}-device*
- %{_mandir}/*/man1/%{name}-ls*
- %endif # with_python3
- %if %{with lua}
- %files -n lua-%{name}
- %{lualibdir}/%{name}
- %{luapkgdir}/%{name}.lua
- %endif
- %files templates
- %{_datadir}/%{name}/templates/lxc-*
- %{_datadir}/%{name}/config/*
- %files devel
- %{_libdir}/pkgconfig/%{name}.pc
- %{_includedir}/lxc
- %{_libdir}/liblxc.so
- %changelog
- * Fri Jul 05 2024 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.0.3-1
- - new upstream release.
- * Thu Oct 06 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.0.1-1
- - new upstream release.
- * Thu Nov 04 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.0.11-1
- - new upstream release.
- * Wed May 12 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.0.9-1
- - new upstream release.
- * Mon Aug 10 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.0.4-1
- - new upstream release.
- - added systemd support (disabled as default).
- * Sat Apr 04 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.0.0-1
- - updated to 4.0.0.
- - updated lxc-vinelinux.
- * Mon Mar 16 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.0.4-1
- - updated to 3.0.4.
- - disabled cgmanager.
- * Tue Apr 09 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.0.3-2
- - updated the Vine Linux template for lxc-3.0.x.
- * Fri Jan 11 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.0.3-1
- - updated to 3.0.3.
- - updated Patch0.
- - updated Patch100.
- - disabled lua.
- - disabled python.
- - added R:libcgroup.
- * Wed Aug 30 2017 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 2.0.8-2
- - enabled cgmanager.
- * Tue Aug 29 2017 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 2.0.8-1
- - updated to 2.0.8.
- - updated Patch0.
- - dropped Patch1: added an option to get same effect.
- * Wed Jun 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 2.0.1-3
- - made lxc-net to be able to disable dnsmasq.
- - dropped compat32-lxc-init-static.
- * Sun Jun 26 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 2.0.1-2
- - enabled init.lxc.static for lxc-execute.
- * Thu Jun 23 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 2.0.1-1
- - updated to 2.0.1.
- - replaced all patches.
- * Tue Nov 17 2015 Daisuke SUZUKI <daisuke@vinelinux.org> 1.1.5-2
- - enable python3 support by default
- * Sun Nov 15 2015 Daisuke SUZUKI <daisuke@vinelinux.org> 1.1.5-1
- - update vinelinux template
- - add vinelinux.{common,userns}.conf
- - add patch1 to disable setproctitle error message,
- cherry picked from upstream git.
- * Sun Nov 15 2015 Daisuke SUZUKI <daisuke@vinelinux.org> 1.1.4-1
- - update to 1.1.4-1
- - add vinelinux template
- * Wed Apr 10 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 0.8.0-3
- - add patch10 to not fail on failure to link kmsg
- * Wed Nov 21 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 0.8.0-2
- - update to 0.8.0 release
- * Fri May 25 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 0.8.0-1.20120525
- - update to git master
- * Wed Apr 25 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 0.8.0-0.rc1
- - new upstream release
- * Thu Jan 26 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 0.7.5-1.20120105
- - update to git current (20120105)
- * Mon Jun 06 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.7.4.2-1
- - update to 0.7.4.2
- * Thu Apr 28 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.7.4.1-2
- - include all templates
- * Wed Apr 27 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.7.4.1-1
- - initial build for Vine Linux
- * 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
- * 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
|