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