Hi,
the issue is still present in the latest Debian 7 Wheezy packages.
My patch is a little bit different and should work with all architectures.
Kind regards
Matthias
--- /usr/sbin/makejail 2015-01-22 19:19:43.000000000 +0100
+++ /usr/sbin/makejail 2015-01-22 20:00:25.000000000 +0100
@@ -88,6 +88,8 @@ installedFiles={}
indentLevel=0
doNotKillPids=[]
tmpOut=None
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680283
+archs=[]
import stat
import sys
@@ -225,7 +227,12 @@ def readFileLines(fileName):
f.close()
return map(string.strip,lines)
-def dpkgInfoFiles(package):
+def dpkgInfoFiles(packagename):
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680283
+ for arch in archs:
+ package = "%s%s" % (packagename,arch)
+ if os.path.exists(config.debianDpkgInfoFile % package):
+ break
return readFileLines(config.debianDpkgInfoFile % package)
def copyStatAndOwner(source,target):
@@ -1037,6 +1044,13 @@ if __name__=="__main__":
except IndexError:
abort("Usage: %s package\n\tpackage is the name of an installed
package\n\t(a configuration file must exist in %s)" %
(sys.argv[0],config.etcFile))
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680283
+ dpkg_stdout = os.popen("dpkg --print-architecture")
+ dpkg_arch = dpkg_stdout.readline().rsplit()[0]
+ if ( dpkg_arch != '' ):
+ archs.append(':' + dpkg_arch)
+ archs.append('') # fallback
+
if os.path.isfile(config.etcFile):
loadConfig(config.etcFile)
--- /usr/sbin/makejail 2015-01-22 19:19:43.000000000 +0100
+++ /usr/sbin/makejail 2015-01-22 20:00:25.000000000 +0100
@@ -88,6 +88,8 @@ installedFiles={}
indentLevel=0
doNotKillPids=[]
tmpOut=None
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680283
+archs=[]
import stat
import sys
@@ -225,7 +227,12 @@ def readFileLines(fileName):
f.close()
return map(string.strip,lines)
-def dpkgInfoFiles(package):
+def dpkgInfoFiles(packagename):
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680283
+ for arch in archs:
+ package = "%s%s" % (packagename,arch)
+ if os.path.exists(config.debianDpkgInfoFile % package):
+ break
return readFileLines(config.debianDpkgInfoFile % package)
def copyStatAndOwner(source,target):
@@ -1037,6 +1044,13 @@ if __name__=="__main__":
except IndexError:
abort("Usage: %s package\n\tpackage is the name of an installed
package\n\t(a configuration file must exist in %s)" %
(sys.argv[0],config.etcFile))
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680283
+ dpkg_stdout = os.popen("dpkg --print-architecture")
+ dpkg_arch = dpkg_stdout.readline().rsplit()[0]
+ if ( dpkg_arch != '' ):
+ archs.append(':' + dpkg_arch)
+ archs.append('') # fallback
+
if os.path.isfile(config.etcFile):
loadConfig(config.etcFile)