2 # lxc: linux Container library
4 # (C) Copyright IBM Corp. 2007, 2008
7 # Daniel Lezcano <dlezcano at fr.ibm.com>
9 # This library is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU Lesser General Public
11 # License as published by the Free Software Foundation; either
12 # version 2.1 of the License, or (at your option) any later version.
14 # This library is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # Lesser General Public License for more details.
19 # You should have received a copy of the GNU Lesser General Public
20 # License along with this library; if not, write to the Free Software
21 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 %define _unpackaged_files_terminate_build
0
26 %define rel
%{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE: %RELEASE}
29 # Arguments that can be passed to the rpm builder:
31 # --define 'confargs <extra args to configure args>' (def. '')
34 %{!?confargs: %{expand:%%define confargs ''}}
36 # What kernel are we building for?
37 %{!?kernel: %{expand:%%define kernel %(uname -r)}}
44 Packager: <dlezcano@fr.ibm.com
>
45 URL: http
://lxc.sourceforge.net
47 Group: Applications
/System
49 Source: %name/%name-%version.tar.gz
50 BuildRoot: %_tmppath/%name-%version-root
54 The package "
%name" provides the
command lines to create and manage
55 containers. It contains a full featured container with the isolation
56 / virtualization of the pids
, the ipc
, the utsname
, the mount points
,
57 /proc
, /sys
, the network and it takes into account the control groups.
58 It is very light
, flexible
, and provides a
set of tools around the
59 container like the monitoring with asynchronous events notification
,
60 or the freeze of the container. This package is useful to create
61 Virtual Private Server
, or to run isolated applications like bash or
66 Summary: development library
for %{name}
68 Group: Application
/System
71 The
%{name}-devel package contains header files and library needed
for
72 development of containers
79 # I don't understand why but I have to specify this prefix :(
80 %configure --prefix
=/ $args
82 ncpus
=`egrep
-c "^cpu
[0-9]+"
/proc
/stat ||
:`
94 if [ -d
/var
/lxc
]; then
95 for i
in $
(ls
-1 /var
/lxc
); do
96 chmod
-fR go
-rwx
/var
/lxc
/$i
98 mv
/var
/lxc
/var
/lxc.rpm
-$$
103 if [ -d
/var
/lxc.rpm
-$$
]; then
104 for i
in $
(ls
-1 /var
/lxc.rpm
-$$
); do
105 cp
-a
/var
/lxc.rpm
-$$
/$i
/var
/lxc
111 PATH
=$PATH
:/usr
/sbin
:/sbin
113 which setcap
2>&1 > /dev
/null
116 if [ $RES
!= 0 ]; then
117 echo -e "\t
********************WARNING
*************************"
118 echo -e "\t
* The 'setcap'
command was not found
, this is not
*"
119 echo -e "\t
* a problem and the 'lxc' package is installed but
*"
120 echo -e "\t
* you will have to run the 'lxc' commands as root.
*"
121 echo -e "\t
* If you wish to run these commands as a non
-root
*"
122 echo -e "\t
* user
, you will need to
install libcap
-2 package
*"
123 echo -e "\t
* and reinstall the lxc package
*"
124 echo -e "\t
****************************************************"
126 setcap cap_setpcap
,cap_net_admin
,cap_net_raw
,cap_sys_admin
,cap_dac_override
=ep
%{_bindir}/lxc
-execute
&& \
127 setcap cap_setpcap
,cap_net_admin
,cap_net_raw
,cap_sys_admin
,cap_dac_override
=ep
%{_bindir}/lxc
-start
&& \
128 setcap cap_net_admin
,cap_net_raw
,cap_sys_admin
,cap_dac_override
=ep
%{_bindir}/lxc
-restart
&& \
129 setcap cap_sys_admin
=ep
%{_bindir}/lxc
-init
134 %defattr(-,root
,root
)
135 %{_sysconfdir}/%{name}/*
140 %defattr(-,root
,root
)
141 %{_includedir}/%{name}/*
148 * Sun Aug
3 2008 Daniel Lezcano
<dlezcano@fr.ibm.com
> - Version 0.1.0
149 - Initial RPM release.