packages: util-vserver/util-vserver.spec, util-vserver/util-vserver-pivot-r...

baggins baggins at pld-linux.org
Mon Jun 15 17:52:35 CEST 2009


Author: baggins                      Date: Mon Jun 15 15:52:35 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel .2
- ugly hack for "pivot_root(): Invalid argument" problems

---- Files affected:
packages/util-vserver:
   util-vserver.spec (1.227 -> 1.228) , util-vserver-pivot-root-ugly-hack.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/util-vserver/util-vserver.spec
diff -u packages/util-vserver/util-vserver.spec:1.227 packages/util-vserver/util-vserver.spec:1.228
--- packages/util-vserver/util-vserver.spec:1.227	Mon Jun  1 16:56:56 2009
+++ packages/util-vserver/util-vserver.spec	Mon Jun 15 17:52:30 2009
@@ -22,7 +22,7 @@
 Summary(pl.UTF-8):	Narzędzia dla linuksowych serwerów wirtualnych
 Name:		util-vserver
 Version:	0.30.216
-Release:	0.%{snap}.1
+Release:	0.%{snap}.2
 License:	GPL
 Group:		Applications/System
 #Source0:	http://ftp.linux-vserver.org/pub/utils/util-vserver/%{name}-%{version}.tar.bz2
@@ -70,6 +70,7 @@
 Patch19:	%{name}-dbrebuild-internalize4.patch
 Patch20:	%{name}-dev-stdfd.patch
 Patch21:	%{name}-bash-wrapper.patch
+Patch22:	%{name}-pivot-root-ugly-hack.patch
 URL:		http://savannah.nongnu.org/projects/util-vserver/
 BuildRequires:	autoconf
 BuildRequires:	automake >= 1.9
@@ -380,6 +381,7 @@
 %patch19 -p1
 %patch20 -p1
 %patch21 -p1
+%patch22 -p1
 
 install %{SOURCE9} package-management.txt
 
@@ -902,6 +904,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.228  2009/06/15 15:52:30  baggins
+- rel .2
+- ugly hack for "pivot_root(): Invalid argument" problems
+
 Revision 1.227  2009/06/01 14:56:56  baggins
 - no docs on ppc :(
 

================================================================
Index: packages/util-vserver/util-vserver-pivot-root-ugly-hack.patch
diff -u /dev/null packages/util-vserver/util-vserver-pivot-root-ugly-hack.patch:1.1
--- /dev/null	Mon Jun 15 17:52:35 2009
+++ packages/util-vserver/util-vserver-pivot-root-ugly-hack.patch	Mon Jun 15 17:52:30 2009
@@ -0,0 +1,58 @@
+diff -ur util-vserver-0.30.216-pre2833/lib/issupported.c util-vserver-0.30.216-pre2833-uname/lib/issupported.c
+--- util-vserver-0.30.216-pre2833/lib/issupported.c	2009-04-10 22:24:15.000000000 +0200
++++ util-vserver-0.30.216-pre2833-uname/lib/issupported.c	2009-06-15 17:45:06.335273350 +0200
+@@ -20,17 +20,39 @@
+ #  include <config.h>
+ #endif
+ 
++#include <string.h>
++#include <sys/utsname.h>
+ #include "vserver.h"
+ #include "assert.h"
+ 
+ bool
+ vc_isSupported(vcFeatureSet feature)
+ {
++  int kver = 0, i, j = 24, k = 0;
++  struct utsname uts;
+   int		ver = vc_get_version();
+   vc_vci_t	conf = vc_get_vci();
+   if (ver==-1) return false;
+   if (conf==(vc_vci_t)-1) conf = 0;
+ 
++  if (uname(&uts)==-1) {
++    return false;
++  } else {
++    for (i=0; i<strlen(uts.release); i++) {
++      if (uts.release[i] >= '0' && uts.release[i] <= '9') {
++	k <<= 4;
++	k |= uts.release[i] - '0';
++      } else if (uts.release[i] == '.') {
++	kver |= (k << j);
++	j -= 8;
++	k = 0;
++      } else
++	      break;
++    }
++    if (k != 0 && j >= 0)
++      kver |= (k << j);
++  }
++
+   switch (feature) {
+     case vcFEATURE_COMPAT	:  return true;
+     case vcFEATURE_VSHELPER0	:  return ver >= 0x00010000 && ver < 0x00010010;
+@@ -49,7 +71,13 @@
+     case vcFEATURE_VSTAT	:  return ver >= 0x00020103;
+     case vcFEATURE_PPTAG	:  return conf & VC_VCI_PPTAG;
+     case vcFEATURE_SPACES	:  return conf & VC_VCI_SPACES;
+-    case vcFEATURE_PIVOT_ROOT	:  return ver >= 0x00020304;
++   // Now THIS is really ugly hack, only vs2.3 patches for kernels below
++   // have pivot_root working for vservers, so we assume people use recent
++   // patches with recent kernels
++    case vcFEATURE_PIVOT_ROOT	:  return (ver >= 0x00020304) &&
++				  ((kver >= 0x02062723 && kver < 0x02062800) ||
++				   (kver >= 0x02062810 && kver < 0x02062900) ||
++				   (kver >= 0x02062901));
+     case vcFEATURE_PIDSPACE	:  return ver >= 0x00020305;
+     default			:  assert(false); 
+   }
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/util-vserver/util-vserver.spec?r1=1.227&r2=1.228&f=u



More information about the pld-cvs-commit mailing list