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