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)