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)
 

Reply via email to