]> git.pld-linux.org Git - packages/util-vserver.git/commitdiff
- rel .2 auto/th/util-vserver-0_30_216-0_pre2833_2
authorJan Rękorajski <baggins@pld-linux.org>
Mon, 15 Jun 2009 15:52:30 +0000 (15:52 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- ugly hack for "pivot_root(): Invalid argument" problems

Changed files:
    util-vserver-pivot-root-ugly-hack.patch -> 1.1
    util-vserver.spec -> 1.228

util-vserver-pivot-root-ugly-hack.patch [new file with mode: 0644]
util-vserver.spec

diff --git a/util-vserver-pivot-root-ugly-hack.patch b/util-vserver-pivot-root-ugly-hack.patch
new file mode 100644 (file)
index 0000000..88376f4
--- /dev/null
@@ -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); 
+   }
index 858a4ff1ba8428abb270fb7597af1ec7b0d8a6b8..e9745e0547a6bb86eaae52329ce4cd9098e9cb1a 100644 (file)
@@ -21,7 +21,7 @@ Summary:      Linux virtual server utilities
 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
@@ -69,6 +69,7 @@ Patch18:      %{name}-vprocunhide-net.patch
 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
@@ -379,6 +380,7 @@ Szablony do tworzenia VServerów dla dystrybucji Ubuntu.
 %patch19 -p1
 %patch20 -p1
 %patch21 -p1
+%patch22 -p1
 
 install %{SOURCE9} package-management.txt
 
This page took 0.063785 seconds and 4 git commands to generate.