X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=util-vserver.spec;h=11ffebcd68ead4c77e7e1a0361d96f6487d58cf6;hb=351160822bf4f9d223e63e113f253058bdc88eea;hp=42c9684224347a5df029662a95932c9c3db30b86;hpb=74f012c35566cde8747437a338a0d8b7a0a53a5d;p=util-vserver.git diff --git a/util-vserver.spec b/util-vserver.spec index 42c9684..11ffebc 100644 --- a/util-vserver.spec +++ b/util-vserver.spec @@ -1,13 +1,11 @@ %define name util-vserver %define version 0.30 -%define release 1.planetlab%{?date:.%{date}} +%define release 14.planetlab%{?date:.%{date}} Vendor: PlanetLab Packager: PlanetLab Central Distribution: PlanetLab 3.0 -URL: http://www.planet-lab.org - -%define __chattr /usr/bin/chattr +URL: http://cvs.planet-lab.org/cvs/util-vserver Summary: Linux virtual server utilities Name: %{name} @@ -23,7 +21,6 @@ Provides: vserver = %epoch:%version-%release Conflicts: vserver < %epoch:%version-%release Conflicts: vserver > %epoch:%version-%release BuildRequires: e2fsprogs-devel -Requires(post): %__chattr %package linuxconf Summary: Linuxconf administration modules for vservers @@ -73,51 +70,54 @@ test "%_initrddir" = %_sysconfdir/init.d || { mv ${RPM_BUILD_ROOT}%_sysconfdir/init.d/* ${RPM_BUILD_ROOT}%_initrddir/ } +mkdir -p ${RPM_BUILD_ROOT}/bin +ln -f ${RPM_BUILD_ROOT}%_sbindir/vsh ${RPM_BUILD_ROOT}/bin/vsh + +install -D -m 644 sysv/vcached.logrotate ${RPM_BUILD_ROOT}/etc/logrotate.d/vcached + +mkdir -p $RPM_BUILD_ROOT/etc/cron.d +. sysv/vcached.conf +echo "*/$(($period / 60)) * * * * root %_sbindir/vcached -s -f -l $logfile" > $RPM_BUILD_ROOT/etc/cron.d/vcached + +%__make -C python INSTALL_ROOT=$RPM_BUILD_ROOT install + %clean rm -rf $RPM_BUILD_ROOT -%define services vcached vservers - %pre # 1 = install, 2 = upgrade/reinstall if [ $1 -eq 2 ] ; then - for i in %{services} ; do - [ "`/sbin/runlevel`" = "unknown" ] || service $i stop || : - done + # vcached no longer runs as a daemon + [ "`/sbin/runlevel`" = "unknown" ] || service vcached stop || : fi %post -# 1 = install, 2 = upgrade/reinstall -if [ $1 -eq 1 ] ; then - for i in %{services} ; do - chkconfig --add $i - chkconfig $i on - done -fi -for i in %{services} ; do - [ "`/sbin/runlevel`" = "unknown" ] || service $i start -done -if [ ! -f /etc/shells ] || ! grep -q '^/usr/sbin/vsh$' /etc/shells ; then - echo /usr/sbin/vsh >> /etc/shells -fi +# vcached no longer runs as a daemon +chkconfig vcached off +chkconfig --del vcached -%__chattr +t /vservers || : +chkconfig --add vservers +chkconfig vservers on + +if [ ! -f /etc/shells ] || ! grep -q '^/bin/vsh$' /etc/shells ; then + echo /bin/vsh >> /etc/shells +fi +# make sure barrier bit is set on /vservers to prevent chroot() escapes +%_libdir/%name/setattr --barrier /vservers %postun # 0 = erase, 1 = upgrade if [ "$1" = 0 ] ; then - perl -i -n -e 'next if /^\/usr\/sbin\/vsh$/; print' /etc/shells + perl -i -n -e 'next if /^\/bin\/vsh$/; print' /etc/shells fi %preun # 0 = erase, 1 = upgrade if [ $1 -eq 0 ] ; then - for i in %{services} ; do - [ "`/sbin/runlevel`" = "unknown" ] || service $i stop || : - chkconfig $i off - chkconfig --del $i - done + [ "`/sbin/runlevel`" = "unknown" ] || service vservers stop + chkconfig vservers off + chkconfig --del vservers fi %files @@ -131,9 +131,12 @@ fi %config %_initrddir/* %config(noreplace) /etc/vservers.conf %config(noreplace) /etc/vcached.conf +/etc/logrotate.d/vcached +/etc/cron.d/vcached %dir /etc/vservers %attr(0,root,root) %dir /vservers %attr(4755,root,root) /usr/sbin/vsh +%attr(4755,root,root) /bin/vsh %exclude %_sbindir/newvserver %exclude %_mandir/man8/newvserver* @@ -144,8 +147,80 @@ fi %_sbindir/newvserver %_mandir/man8/newvserver* + + +%package py23 +Summary: Python modules for manipulating vservers +Group: Applications/System +Requires: python /usr/lib/util-vserver/util-vserver-vars util-python + +%description py23 +Python modules for manipulating vservers. Provides a superset of the +functionality of the vserver script (at least will do in the future), +but more readily accessible from Python code. + +%files py23 +%defattr(0644,root,root) +/usr/lib/python2.3/site-packages/bwlimit.py +/usr/lib/python2.3/site-packages/bwlimit.pyc +/usr/lib/python2.3/site-packages/cpulimit.py +/usr/lib/python2.3/site-packages/cpulimit.pyc +/usr/lib/python2.3/site-packages/util_vserver_vars.py +/usr/lib/python2.3/site-packages/vduimpl.so +/usr/lib/python2.3/site-packages/vserver.py +/usr/lib/python2.3/site-packages/vserver.pyc +/usr/lib/python2.3/site-packages/vserverimpl.so + + + %changelog -* Mon Oct 11 2004 Marc E. Fiuczynski 0.1-1.planetlab +* Thu Jul 21 2005 Steve Muir +- add bwlimit and cpulimit modules + +* Mon Jun 20 2005 Steve Muir +- import Marc's vdu implementation + +* Wed Jun 15 2005 Steve Muir +- 'vserver-init start' functionality subsumed by Node Manager + +* Thu Jun 02 2005 Marc E. Fiuczynski +- Fixed vlimit command + +* Wed May 25 2005 Steve Muir +- add Python modules for manipulating vservers + +* Thu Apr 7 2005 Steve Muir +- vuserdel changes: don't shutdown vserver, just kill all processes; + unmount all mountpoints in vserver before deleting + +* Fri Nov 19 2004 Mark Huang +- vcached no longer runs as a daemon +- do not restart vservers when package is upgraded + +* Wed Nov 17 2004 Mark Huang 0.30-6.planetlab ++ planetlab-3_0-rc4 +- PL2445 +- Both vcached and vuseradd now print a warning message when vbuild + succeeds but the resulting new vserver image is smaller in size than + the vserver-reference image. +- vuseradd: clean up some more junk on failure + +* Tue Nov 16 2004 Mark Huang 0.30-5.planetlab ++ planetlab-3_0-rc3 +- PL3026: This is the upgraded version of vdu that maintains an + internal hash table of files with a nlink count > 1. Only if vdu + sees all hard links to a particular inode does it add its size and + block count to the total. + +* Fri Nov 12 2004 Mark Huang 0.30-4.planetlab +- PL2445 Use -b option to du to avoid rounding errors. + +* Sat Nov 6 2004 Mark Huang 0.30-3.planetlab ++ planetlab-3_0-rc2 +- don't create the symbolic link /home/slice/.ssh, this is not how + pl_sshd works + +* Mon Oct 11 2004 Marc E. Fiuczynski - added vsh * Wed Aug 11 2004 Mark Huang 0.29-1.planetlab