22fb97af294a68033fee4f8b3dfc821a32c4e2f4
[util-vserver-pl.git] / util-vserver-pl.spec
1 #
2 # $Id$
3 #
4 %define url $URL$
5
6 %define name    util-vserver-pl
7 %define version 0.4
8 %define taglevel 22
9
10 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
11
12 %define python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" )
13
14 Summary: PlanetLab extensions to util-vserver
15 Name: %{name}
16 Version: %{version}
17 Release: %{release}
18 License: GPL
19 Group: System Environment/Base
20 Source0: %{name}-%{version}.tar.bz2
21 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
22
23 Vendor: PlanetLab
24 Packager: PlanetLab Central <support@planet-lab.org>
25 Distribution: PlanetLab %{plrelease}
26 URL: %(echo %{url} | cut -d ' ' -f 2)
27
28 Requires: util-vserver util-vserver-core util-vserver-build util-vserver-sysv
29 Provides: util-vserver-python = %{version}-%{release}
30 Obsoletes: util-vserver-py32 resman
31 BuildRequires: libnl libnl-devel
32 BuildRequires: python python-devel
33 BuildRequires: util-vserver-core util-vserver-devel
34 BuildRequires: autoconf automake libtool
35
36 %description
37 This package contains all PlanetLab extensions to util-vserver.
38
39 %prep
40 %setup -q
41 autoreconf -fi
42
43
44 %build
45 %configure
46 make
47
48
49 %install
50 rm -fr %{buildroot}
51 make DESTDIR=%{buildroot} install
52
53 mkdir %{buildroot}/bin
54 ln -s ..%{_sbindir}/vsh %{buildroot}/bin/vsh
55
56 rm -f %{buildroot}%{python_sitearch}/vserverimpl.a
57 rm -f %{buildroot}%{python_sitearch}/vserverimpl.la
58
59 # Generate file list for python package
60 find "%{buildroot}" -name '*.py' | { while read FILE; do
61         f="${FILE#%{buildroot}}"
62         echo "${f}"
63         # need to touch these files, as they are not produced on FC4 or below
64         touch ${FILE}c
65         touch ${FILE}o
66         echo %%ghost "${f}c"
67         echo %%ghost "${f}o"
68 done } > %name-python.list
69
70
71 %post
72 # add /bin/vsh to list of secure shells
73 if [ ! -f /etc/shells ] || ! grep -q '^/bin/vsh$' /etc/shells ; then
74         echo /bin/vsh >> /etc/shells
75 fi
76
77 /usr/sbin/bwlimit init
78
79 # Migrate old style vservers to new style
80 pushd /etc/vservers
81 for i in `ls /etc/vservers` 
82 do 
83         # set nflags
84         echo "persistent,lback_allow" > $i/nflags 
85         /usr/sbin/nattribute --set --nid `cat $i/context` --flag lback_allow
86
87         # set cflags
88         echo -e "persistent\n~info_init" > $i/cflags
89         /usr/sbin/vattribute --set --xid `cat $i/context` --flag ~sched_hard
90
91         # deprecated
92         rm -f $i/flags
93
94         # remove 16mb tmp restrictions
95         sed -i -e '/tmpfs\tsize=16m/d' $i/fstab
96
97         # enable mount namespaces
98         rm -f $i/nonamespace
99         
100         # enable IP forwarding
101         mkdir -p $i/sysctl/0 
102         echo net.ipv4.ip_forward > $i/sysctl/0/setting
103         echo 1 > $i/sysctl/0/value
104
105         # create missing interface files/directories
106         mkdir -p $i/interfaces/0 
107         hostname -i > $i/interfaces/0/ip
108         touch $i/interfaces/0/nodev 
109
110         mkdir -p $i/interfaces/1
111         echo -e "127.0.0.1" > $i/interfaces/1/ip
112         touch $i/interfaces/1/nodev
113 done
114 popd
115
116 %postun
117 # 0 = erase, 1 = upgrade
118 if [ "$1" = 0 ] ; then
119         perl -i -n -e 'next if /^\/bin\/vsh$/; print' /etc/shells
120 fi
121
122
123 %clean
124 rm -fr %{buildroot}
125
126
127 %files -f %name-python.list
128 %defattr(-,root,root,-)
129 %{_sbindir}/bwlimit
130 %{_sbindir}/disklimit
131 %{_sbindir}/vuseradd
132 %{_sbindir}/vuserdel
133 %{python_sitearch}/vserverimpl.so
134 %{_sbindir}/vip6-autod
135 %{_sysconfdir}/init.d/vip6-autod
136
137 %attr(4755,root,root) %{_sbindir}/vsh
138 /bin/vsh
139 %{_mandir}/man8/vsh.8*
140
141 %changelog
142 * Wed Feb 02 2011 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-pl-0.4-22
143 - pass device to bwlimit
144
145 * Wed Dec 01 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-pl-0.4-21
146 - force remove nonamespace
147
148 * Tue Oct 12 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-20
149 - Fix the segfault caused by existing TUN device
150
151 * Fri Aug 13 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-19
152 - Fix syntax error
153
154 * Mon Aug 09 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-18
155 - migrate old style interface files to new style
156
157 * Wed Jul 28 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-17
158 - Some dead code removed from repository
159
160 * Mon Jul 19 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-16
161 - * use system-wide umask
162 - * enable set_ipaddresses_config function
163 - * set more default values
164
165 * Mon Jul 12 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-pl-0.4-15
166 - new constant VC_LIM_INFINITY
167
168 * Tue Jul 06 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-14
169 - fix setting cpu_share for slices
170
171 * Thu Jun 24 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-13
172 - start to use mount namespaces
173
174 * Tue Jun 22 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-pl-0.4-12
175 - initscripts are ignored - handled by nodemanager and triggered by rc
176
177 * Thu Jun 17 2010 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - util-vserver-pl-0.4-11
178 - sliver name as the last argument to initscript
179
180 * Tue Jun 01 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-10
181 - remove tmpfs mounted /tmp
182
183 * Fri May 14 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-9
184 - change flags without restarting the vservers
185
186 * Thu May 13 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-8
187 - Migrate old style vservers to new style
188
189 * Thu May 13 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - util-vserver-pl-0.4-7
190 - chroot_call fix
191
192 * Wed May 12 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - util-vserver-pl-0.4-6
193 - fix initscript issues
194
195 * Mon May 10 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.4-5
196
197 * Mon May 10 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - util-vserver-pl-0.4-4
198 - merged trellis branch to trunk
199
200 * Wed Feb 24 2010 Marc Fiuczynski <mef@cs.princeton.edu> - util-vserver-pl-0.3-27
201 - Need to print the exception string as part of the self.log, or else we
202 - get a wrong number of argument error.
203
204 * Wed Feb 24 2010 Daniel Hokka Zakrisson <daniel@hozac.com> - util-vserver-pl-0.3-26
205 - This is outputted for some reason.
206
207 * Tue Feb 23 2010 Daniel Hokka Zakrisson <daniel@hozac.com> - util-vserver-pl-0.3-25
208 - Don't set bwlimits if they're disabled.
209 - Don't cleanup /var of running slivers.
210
211 * Tue Feb 23 2010 Marc Fiuczynski <mef@cs.princeton.edu> - util-vserver-pl-0.3-24
212 - - openfd -> nofile
213
214 * Tue Feb 16 2010 Talip Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - util-vserver-pl-0.3-23
215 - call bwlimit init in postinstall.
216
217 * Fri Jan 29 2010 S.Çağlar Onur <caglar@cs.princeton.edu> - util-vserver-pl-0.3-22
218 - move the HTB tree one level down for DRL
219
220 * Mon Jan 25 2010 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-pl-0.3-21
221 - logging policy only; use /var/log/nm instead of boot.log, and give more details with (un)setdlimit
222
223 * Thu Nov 19 2009 Daniel Hokka Zakrisson <daniel@hozac.com> - util-vserver-pl-0.3-20
224 - Log the error as well.
225
226 * Wed Oct 28 2009 Daniel Hokka Zakrisson <daniel@hozac.com> - util-vserver-pl-0.3-19
227 - Set ulimits for NM too.
228
229 * Tue Oct 20 2009 Baris Metin <Talip-Baris.Metin@sophia.inria.fr> - util-vserver-pl-0.3-18
230 - bwlimit.set() now accepts the device and don't assume that it's eth0
231
232 * Tue Aug 04 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - util-vserver-pl-0.3-17
233 - Fix runlevel clean up after reboot.
234 - Fix runlevel setup to reflect proper runlevel.
235
236 * Thu Jan 29 2009 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - util-vserver-pl-0.3-16
237 - supports disabling htbs.
238
239 * Wed Oct 29 2008 Marc E. Fiuczynski <mef@cs.princeton.edu> - util-vserver-pl-0.3-15
240 - added in support for rlimit MEM_LOCK
241 - fixed bug in reading -1 value from VSERVERCONF/<guest>/rlimits/memlock.hard file
242 - reduced compilation warnings
243
244 * Tue Sep 23 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-pl-0.3-14
245 - configure/make check the version of libnl and can cope with either 1.1 or 1.0-pre6
246 - as centos does not have any of these, do build vip6-autod on fedora only
247
248 * Wed Sep 17 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - util-vserver-pl-0.3-13
249 - Remove current bw limit checks before issuing tc.
250
251 * Fri Aug 29 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - util-vserver-pl-0.3-12
252 - libnl 1.1 fixups.
253
254 * Thu Aug 28 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - util-vserver-pl-0.3-11
255 - reads /etc/vservers/<name>/personality and behaves accordingly
256 - nicer formatting for byte rates
257
258 * Sun Aug 17 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - util-vserver-pl-0.3-10
259 - FUSE support.
260
261 * Fri Aug 01 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - util-vserver-pl-0.3-9
262 - Check running values before issuing set or on.  If same, disregard to save on forks.
263
264 * Fri Jul 25 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - util-vserver-pl-0.3-8
265 - exempt_init shouldn't modify iptables rules.  Instead, only manipulate ipset.  Assume iptables rules are setup properly (now downloaded from nodeconfig/PlanetLabConf for I2 and defaulted to iptables/planetlab-config for all other nodes).
266
267 * Tue Jul 22 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - util-vserver-pl-0.3-7
268 - Init exempt flows into "mangle" table.
269
270 * Fri Jun 27 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - util-vserver-pl-0.3-6
271 - Optimized the case where it's already running.
272
273 * Thu Jun 26 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - util-vserver-pl-0.3-5
274 - Ignore ESRCH for setname.
275 - Always create the home directory, regardless of configuration settings.
276
277 * Fri May 09 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - util-vserver-pl-0.3-4
278
279
280 * Wed Apr 23 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - util-vserver-pl-0.3-3
281 - Added support for vc_{set|get}_vhi_name() via util-vserver-pl.
282 - Adding a tag to include in the 4.2rc2
283
284
285 * Wed Apr 16 2008 Faiyaz Ahmed <faiyaza@cs.princeton.edu> - util-vserver-pl-0.3-2
286
287 - * Can write vcVHI_CONTEXT
288 - * CAP_NET_BIND_SERVICE is special, in all cases. 
289 - * Check if already mounted before mounting fs in vserver
290 - * Optimized 0.0.0.0 case
291 - * Removed vcached.  DEPRECATED
292
293
294 * Fri Nov 30 2007 Daniel Hokka Zakrisson <daniel@hozac.com> - 0.1-1
295 - Initial release
296
297 %define module_current_branch 0.3