update rpm .spec file

The following changes were made to fix rpmlint warnings/errors
- use %global instead of %define
  http://fedoraproject.org/wiki/PackagingDrafts/global_preferred_over_define
- change Summary to match .deb
- update License
- do not mention the libcap dependency explicitly, rpm will fill it in
- fix Summary, Description for libs and devel packages
- pass -q to %setup
- add %post for libs to run ldconfig
- explicitly name lxc man paths so pkg doesn't "own" /usr/share/man
- mark /etc/lxc/default.conf as a config file

In addition, while I was here:
- split lua bits into seperate lxc-lua package
- change Description to match .deb
- remove "Version" in changelog entries to follow
  http://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
This commit is contained in:
Dwight Engen 2013-10-22 16:33:26 -04:00 committed by Stéphane Graber
parent 7a409fd516
commit 0adde0f841

View File

@ -20,59 +20,62 @@
# License along with this library; if not, write to the Free Software # License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
%global with_python %{?_with_python: 1} %{?!_with_python: 0}
%global with_lua %{?_with_lua: 1} %{?!_with_lua: 0}
Name: @PACKAGE@ Name: @PACKAGE@
Version: @VERSION@ Version: @VERSION@
Release: 1%{?dist} Release: 1%{?dist}
URL: http://linuxcontainers.org URL: http://linuxcontainers.org
Source: http://linuxcontainers.org/downloads/%{name}-%{version}.tar.gz Source: http://linuxcontainers.org/downloads/%{name}-%{version}.tar.gz
Summary: %{name} : Linux Container Summary: Linux Containers userspace tools
Group: Applications/System Group: Applications/System
License: LGPL License: LGPLv2+
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: libcap openssl rsync Requires: openssl rsync
BuildRequires: libcap libcap-devel docbook2X BuildRequires: libcap libcap-devel docbook2X
%define with_python %{?_with_python: 1} %{?!_with_python: 0}
%if %{with_python} %if %{with_python}
Requires: python3 Requires: python3
BuildRequires: python3-devel BuildRequires: python3-devel
%endif %endif
%define with_lua %{?_with_lua: 1} %{?!_with_lua: 0}
%if %{with_lua}
Requires: lua-filesystem
BuildRequires: lua-devel
%endif
%description %description
Containers are insulated areas inside a system, which have their own namespace
for filesystem, network, PID, IPC, CPU and memory allocation and which can be
created using the Control Group and Namespace features included in the Linux
kernel.
The package "%{name}" provides the command lines to create and manage This package provides the lxc-* tools, which can be used to start a single
containers. It contains a full featured container with the isolation daemon in a container, or to boot an entire "containerized" system, and to
/ virtualization of the pids, the ipc, the utsname, the mount points, manage and debug your containers.
/proc, /sys, the network and it takes into account the control groups.
It is very light, flexible, and provides a set of tools around the
container like the monitoring with 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 libs %package libs
Summary: runtime library files for %{name} Summary: Shared library files for %{name}
Group: System Environment/Libraries Group: System Environment/Libraries
%description libs
%description libs
The %{name}-libs package contains libraries for running %{name} applications. The %{name}-libs package contains libraries for running %{name} applications.
%package devel %package devel
Summary: development library for %{name} Summary: Development library for %{name}
Group: Development/Libraries Group: Development/Libraries
Requires: %{name} = %{version}-%{release}, pkgconfig
%description devel %description devel
The %{name}-devel package contains header files and library needed for The %{name}-devel package contains header files and library needed for
development of the linux containers. development of the Linux containers.
%if %{with_lua}
%package lua
Summary: Lua bindings for %{name}
Group: System Environment/Libraries
Requires: lua-filesystem
BuildRequires: lua-devel
%description lua
The %{name}-lua package contains %{name} bindings for lua.
%endif
%prep %prep
%setup %setup -q
%build %build
PATH=$PATH:/usr/sbin:/sbin %configure $args \ PATH=$PATH:/usr/sbin:/sbin %configure $args \
%if %{with_lua} %if %{with_lua}
@ -93,6 +96,8 @@ find %{buildroot} -type f -name '*.la' -exec rm -f {} ';'
rm -rf %{buildroot} rm -rf %{buildroot}
%post %post
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files %files
%defattr(-,root,root) %defattr(-,root,root)
@ -106,25 +111,33 @@ rm -rf %{buildroot}
%attr(4111,root,root) %{_bindir}/lxc-execute %attr(4111,root,root) %{_bindir}/lxc-execute
%attr(4111,root,root) %{_bindir}/lxc-checkpoint %attr(4111,root,root) %{_bindir}/lxc-checkpoint
%attr(4111,root,root) %{_bindir}/lxc-restart %attr(4111,root,root) %{_bindir}/lxc-restart
%{_mandir}/* %{_mandir}/man1/lxc*
%{_mandir}/man5/lxc*
%{_mandir}/man7/lxc*
%{_mandir}/ja/man1/lxc*
%{_mandir}/ja/man5/lxc*
%{_mandir}/ja/man7/lxc*
%{_datadir}/doc/* %{_datadir}/doc/*
%{_datadir}/lxc/* %{_datadir}/lxc/*
%{_sysconfdir}/lxc/* %config(noreplace) %{_sysconfdir}/lxc/*
%files libs %files libs
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/*.so.* %{_libdir}/*.so.*
%{_libdir}/%{name} %{_libdir}/%{name}
%if %{with_lua}
%{_datadir}/lua
%{_libdir}/lua
%endif
%if %{with_python} %if %{with_python}
%{_libdir}/python* %{_libdir}/python*
%endif %endif
%{_localstatedir}/* %{_localstatedir}/*
%attr(4555,root,root) %{_libexecdir}/%{name}/lxc-init %attr(4555,root,root) %{_libexecdir}/%{name}/lxc-init
%if %{with_lua}
%files lua
%defattr(-,root,root)
%{_datadir}/lua
%{_libdir}/lua
%endif
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%{_includedir}/%{name}/* %{_includedir}/%{name}/*
@ -132,29 +145,33 @@ rm -rf %{buildroot}
%{_libdir}/pkgconfig/* %{_libdir}/pkgconfig/*
%changelog %changelog
* Mon Sep 10 2012 Dwight Engen <dwight.engen@oracle.com> - Version 0.8.0 * Tue Oct 22 2013 Dwight Engen <dwight.engen@oracle.com> - 1.0.0-0.1.alpha2
- fix some rpmlint warnings/errors
- split lua bits into seperate package
* Mon Sep 10 2012 Dwight Engen <dwight.engen@oracle.com> - 0.8.0
- fix lxc-init moved to libexec - fix lxc-init moved to libexec
- .pc moved to _libdir - .pc moved to _libdir
- package template files /usr/share/lxc/templates - package template files /usr/share/lxc/templates
* Thu Sep 8 2011 Greg Kurz <gkurz@fr.ibm.com> - Version 0.7.5.1 * Thu Sep 8 2011 Greg Kurz <gkurz@fr.ibm.com> - 0.7.5.1
- fix installed files for rpmbuild - fix installed files for rpmbuild
- introduce lxc-libs package - introduce lxc-libs package
* Fri Jul 23 2010 Daniel Lezcano <dlezcano@fr.ibm.com> - Version 0.7.2 * Fri Jul 23 2010 Daniel Lezcano <dlezcano@fr.ibm.com> - 0.7.2
- set attribute for installed files - set attribute for installed files
- fix libraries installation - fix libraries installation
* Mon Mar 24 2009 Daniel Lezcano <daniel.lezcano@free.fr> - Version 0.6.1 * Mon Mar 24 2009 Daniel Lezcano <daniel.lezcano@free.fr> - 0.6.1
- Removed capability setting, let the user to do that through "lxc-setcap" - Removed capability setting, let the user to do that through "lxc-setcap"
* Mon Feb 16 2009 Daniel Lezcano <daniel.lezcano@free.fr> - Version 0.6.0 * Mon Feb 16 2009 Daniel Lezcano <daniel.lezcano@free.fr> - 0.6.0
- Added more capabilities to the executables - Added more capabilities to the executables
* Sun Jan 25 2009 Daniel Lezcano <daniel.lezcano@free.fr> - Version 0.6.0 * Sun Jan 25 2009 Daniel Lezcano <daniel.lezcano@free.fr> - 0.6.0
- Reduced spec file - Reduced spec file
* Sun Aug 3 2008 Daniel Lezcano <dlezcano@fr.ibm.com> - Version 0.1.0 * Sun Aug 3 2008 Daniel Lezcano <dlezcano@fr.ibm.com> - 0.1.0
- Initial RPM release. - Initial RPM release.
# Local variables: # Local variables: