#include <apt-pkg/md5.h>
 #include <apt-pkg/macros.h>
 
+#include <fnmatch.h>
 #include <ctype.h>
                                                                        /*}}}*/
 
               I++;
             }
 
-           if (stringcmp(arch,I,End) == 0)
+           if (stringcmp(arch,I,End) == 0) {
               Found = true;
+           } else {
+              std::string wildcard = SubstVar(string(I, End), "any", "*");
+              if (fnmatch(wildcard.c_str(), arch.c_str(), 0) == 0)
+                 Found = true;
+              else if (fnmatch(wildcard.c_str(), ("linux-" + arch).c_str(), 0) == 0)
+                 Found = true;
+           }
            
            if (*End++ == ']') {
               I = End;
 
 
   * methods/ftp.h:
     - Handle different logins are on the same server (Closes: #586904).
+  * apt-pkg/deb/deblistparser.cc:
+    - Handle architecture wildcards (Closes: #547724).
 
  -- Julian Andres Klode <jak@debian.org>  Thu, 24 Jun 2010 10:56:39 +0200