Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: pu
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 It turns out that #796893 makes cpuset effectively useless in stable. I have updated an existing quilt patch from a patch in the (now mostly dead) upstream issue tracker. I have already uploaded 1.5.6-5 into unstable to fix the bug there. The debdiff for the proposed update to stable is attached. Here is the diffstat: changelog | 6 + patches/02_prefix_in_case_filesystem_has_its_own_namespace.patch | 45 ++++++++-- 2 files changed, 44 insertions(+), 7 deletions(-) Regards, - -Roberto - -- System Information: Debian Release: 7.9 APT prefers oldstable-updates APT policy: (500, 'oldstable-updates'), (500, 'oldstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBCAAGBQJWHdZ9AAoJECzXeF7dp7IPLZwP/1oIUNHuqrQiOvO+5pamEfto 6gZiBZaGes0TwLv0qAEJ1o1qLcOV/lsRqKcbHo9F6bFO6JKeA805l7WYW+lhauWD PGhxogImME32EK0qmpae+FvKnXv90F/RzZnacCb9zYq8IHyUYW7IA565dizQ+E7r Kad6sWCeqxSGYnnqej5i3cAeSrJPcPwq8fcYlqbYRFZpAe9lJiePZfi7//m2MUYD fbY94GVOEfdt/PQLADa/DRgmvREwh9lglNwMcX5HFia6kKJhrcu559h+kIRVfgaD GkTVDrvVF2OslE5zDto+xc1a3XEQXqJn1nvTklRv0GVC4CAEGXtLZx/EsQQ2Rsna sE/AATpCmVeZL+aDEstt5IbCI34bqthEA9SDz01Vo8tIo/K6DmgnY1Bd+iDXN3xz w3ssLVizyLq7vMy946+8G3ucy46cyLSeT14CYcn28JD/KwKdc+rS8H+aheCh5U0r qJSHiDzJI10f/JNn7+db6qM7x9+ls9dbYdblM5x5EBEsf8ZFxX4wYpsMU7GnAGvI YiuD19TAQWubhFWmSyzrut35tW7IqPR3DNWsCUUxdH7J93WXqED7NRprZBVJPP2H Hwy26mDHlFU8/B48SwuBOrZj4TN0DPdiaw9X/zB1NCwFIXz9vULP0LjOvmqyPnpN +Oo9VNDbP1hccUUdrntd =jxoF -----END PGP SIGNATURE-----
diff -Nru cpuset-1.5.6/debian/changelog cpuset-1.5.6/debian/changelog --- cpuset-1.5.6/debian/changelog 2014-03-09 18:16:04.000000000 -0400 +++ cpuset-1.5.6/debian/changelog 2015-10-13 23:47:17.000000000 -0400 @@ -1,3 +1,9 @@ +cpuset (1.5.6-4+deb8u1) jessie; urgency=high + + * Update filesystem namespace prefix patch (Closes: #796893) + + -- Roberto C. Sanchez <robe...@connexer.com> Tue, 13 Oct 2015 23:46:35 -0400 + cpuset (1.5.6-4) unstable; urgency=low * Update Standards-Version to 3.9.5 (no changes) diff -Nru cpuset-1.5.6/debian/patches/02_prefix_in_case_filesystem_has_its_own_namespace.patch cpuset-1.5.6/debian/patches/02_prefix_in_case_filesystem_has_its_own_namespace.patch --- cpuset-1.5.6/debian/patches/02_prefix_in_case_filesystem_has_its_own_namespace.patch 2014-03-09 18:16:04.000000000 -0400 +++ cpuset-1.5.6/debian/patches/02_prefix_in_case_filesystem_has_its_own_namespace.patch 2015-10-13 23:47:17.000000000 -0400 @@ -1,7 +1,7 @@ Author: Roberto C. Sanchez <robe...@connexer.com> Description: Account for filesystem namespace having its own prefix. The updated file was downloaded from here: http://code.google.com/p/cpuset/issues/detail?id=10 ---- cpuset.hg.orig/cpuset/cset.py -+++ cpuset.hg/cpuset/cset.py +--- cpuset.git.orig/cpuset/cset.py ++++ cpuset.git/cpuset/cset.py @@ -32,10 +32,13 @@ class CpuSet(object): # sets is a class variable dict that keeps track of all @@ -17,7 +17,33 @@ def __init__(self, path=None): log.debug("initializing CpuSet") -@@ -104,12 +107,18 @@ +@@ -47,7 +50,16 @@ + log.debug("finding all cpusets") + path = self.locate_cpusets() + CpuSet.basepath = path +- log.debug("creating root node at %s", path) ++ if not os.access(path + '/cpus', os.F_OK): ++ log.debug(path + "/cpus doesn't exist, trying to add the cpuset. prefix") ++ CpuSet.prefix = 'cpuset.' ++ if not os.access(path + '/cpuset.cpus', os.F_OK): ++ # definitely not a cpuset directory ++ str = '%s is not a cpuset directory' % (path) ++ log.error(str) ++ raise CpusetException(str) ++ ++ log.debug("creating root node at %s with prefix '%s'", path, CpuSet.prefix) + self.__root = True + self.name = 'root' + self.path = '/' +@@ -56,6 +68,7 @@ + del CpuSet.sets + CpuSet.sets = {} + CpuSet.sets[self.path] = self ++ + # bottom-up search otherwise links will not exist + log.debug("starting bottom-up discovery walk...") + for dir, dirs, files in os.walk(path, topdown=False): +@@ -104,12 +117,18 @@ log.debug("the cpuset %s already exists, skipping", path) self = CpuSet.sets[path] # questionable.... return @@ -41,7 +67,7 @@ self.__root = False self.read_cpuset(path) CpuSet.sets[path] = self -@@ -158,36 +167,36 @@ +@@ -158,36 +177,36 @@ raise AttributeError, "deletion of properties not allowed" def getcpus(self): @@ -84,7 +110,7 @@ if newval: f.write('1') else: -@@ -197,14 +206,14 @@ +@@ -197,14 +216,14 @@ "CPU exclusive flag") def getmemxlsv(self): @@ -101,7 +127,7 @@ if newval: f.write('1') else: -@@ -214,6 +223,7 @@ +@@ -214,6 +233,7 @@ "Memory exclusive flag") def gettasks(self): @@ -109,7 +135,7 @@ f = file(CpuSet.basepath+self.path+"/tasks") lst = [] for task in f: lst.append(task[:-1]) -@@ -229,6 +239,7 @@ +@@ -229,6 +249,7 @@ prog = False for task in tasklist: try: @@ -117,3 +143,8 @@ f = file(CpuSet.basepath+self.path+"/tasks",'w') f.write(task) f.close() +@@ -513,4 +534,3 @@ + print 'Found "cantfindmenoway??!? -> ', node + except CpusetException, err: + print 'Caught exeption for non-existant set (correctly)-> ', err +-