]> git.decadent.org.uk Git - dak.git/blobdiff - ziyi
where did that ) come from?
[dak.git] / ziyi
diff --git a/ziyi b/ziyi
index f9642af8fc072df133616d4e1d3f39dd703059f7..343fdb36cf99ae7739af5f54af6c7e423e3d66dd 100755 (executable)
--- a/ziyi
+++ b/ziyi
@@ -3,7 +3,7 @@
 # Create all the Release files
 
 # Copyright (C) 2001  Anthony Towns <ajt@debian.org>
-# $Id: ziyi,v 1.9 2001-11-04 22:33:22 troup Exp $
+# $Id: ziyi,v 1.14 2001-11-27 04:18:18 rmurray Exp $
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -90,18 +90,15 @@ def main ():
     global Cnf, AptCnf, projectB, out
     out = sys.stdout;
 
-
-    apt_pkg.init()
-
-    Cnf = apt_pkg.newConfiguration()
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file())
+    Cnf = utils.get_conf()
 
     AptCnf = apt_pkg.newConfiguration()
     apt_pkg.ReadConfigFileISC(AptCnf,utils.which_apt_conf_file())
 
     Arguments = [('h',"help","Ziyi::Options::Help")];
     for i in [ "help" ]:
-        Cnf["Ziyi::Options::%s" % (i)] = "";
+       if not Cnf.has_key("Ziyi::Options::%s" % (i)):
+           Cnf["Ziyi::Options::%s" % (i)] = "";
 
     suites = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv)
     Options = Cnf.SubTree("Ziyi::Options")
@@ -154,6 +151,14 @@ def main ():
 
        tree = SuiteBlock.get("Tree", "dists/%s" % (longsuite))
 
+       if AptCnf.has_key("tree::%s" % (tree)):
+           pass
+       elif AptCnf.has_key("bindirectory::%s" % (tree)):
+           pass
+       else:
+           print "ALERT: suite %s not in apt.conf, nor untouchable!" % (suite)
+           continue
+
        print Cnf["Dir::RootDir"] + tree + "/Release"
        out = open(Cnf["Dir::RootDir"] + tree + "/Release", "w")
 
@@ -182,30 +187,6 @@ def main ():
                        for file in compressnames("tree::%s" % (tree), "Sources", "%s/%s/Sources" % (sec, arch)):
                            files.append(file)
                    else:
-                       rel = "%s/binary-%s/Release" % (sec, arch)
-                       relpath = Cnf["Dir::RootDir"]+tree+"/"+rel
-                       if os.path.exists(relpath):
-                           try:
-                               release = open(relpath, "w")
-                               #release = open(string.replace(longsuite,"/","_") + "_" + arch + "_" + sec + "_Release", "w")
-                           except IOError:
-                               print "Couldn't write to " + relpath
-                           else:
-                               release.write("Archive: %s\n" % (suite))
-                               if version != "":
-                                   release.write("Version: %s\n" % (version))
-                               if nonus:
-                                   release.write("Component: non-US/%s\n" % (sec))
-                               else:
-                                   release.write("Component: %s\n" % (sec))
-                               release.write("Origin: %s\n" % (origin))
-                               release.write("Label: %s\n" % (label))
-                               if notautomatic != "":
-                                   release.write("NotAutomatic: %s\n" % (notautomatic))
-                               release.write("Architecture: %s\n" % (arch))
-                               release.close()
-                           files.append("%s/binary-%s/Release" % (sec,arch))
-
                        disks = "%s/disks-%s" % (sec, arch)
                        diskspath = Cnf["Dir::RootDir"]+tree+"/"+disks
                        if os.path.exists(diskspath):
@@ -216,6 +197,34 @@ def main ():
                        for file in compressnames("tree::%s" % (tree), "Packages", "%s/binary-%s/Packages" % (sec, arch)):
                            files.append(file)
 
+                   if arch == "source":
+                       rel = "%s/%s/Release" % (sec, arch)
+                   else:
+                       rel = "%s/binary-%s/Release" % (sec, arch)
+                   relpath = Cnf["Dir::RootDir"]+tree+"/"+rel
+
+                   if os.path.exists(relpath):
+                       try:
+                           release = open(relpath, "w")
+                           #release = open(string.replace(longsuite,"/","_") + "_" + arch + "_" + sec + "_Release", "w")
+                       except IOError:
+                           print "Couldn't write to " + relpath
+                       else:
+                           release.write("Archive: %s\n" % (suite))
+                           if version != "":
+                               release.write("Version: %s\n" % (version))
+                           if nonus:
+                               release.write("Component: non-US/%s\n" % (sec))
+                           else:
+                               release.write("Component: %s\n" % (sec))
+                           release.write("Origin: %s\n" % (origin))
+                           release.write("Label: %s\n" % (label))
+                           if notautomatic != "":
+                               release.write("NotAutomatic: %s\n" % (notautomatic))
+                           release.write("Architecture: %s\n" % (arch))
+                           release.close()
+                           files.append(rel)
+
            if AptCnf.has_key("tree::%s/main" % (tree)):
                sec = string.split(AptCnf["tree::%s/main::Sections" % (tree)])[0]
                if sec != "debian-installer":
@@ -243,8 +252,12 @@ def main ():
        if Cnf.has_key("Dinstall::SigningKeyring"):
            dest = Cnf["Dir::RootDir"] + tree + "/Release.gpg"
            if os.path.exists(dest):
-                os.unlink(dest)
-           os.system("gpg --secret-keyring \"%s\" --no-options --batch --no-tty --armour --detach-sign <%s --output=%s" % (Cnf["Dinstall::SigningKeyring"],
+               os.unlink(dest)
+           keyring = "--secret-keyring \"%s\"" % Cnf["Dinstall::SigningKeyring"]
+           if Cnf.has_key("Dinstall::SigningPubKeyring"):
+               keyring = keyring + " --keyring \"%s\"" % Cnf["Dinstall::SigningPubKeyring"]
+
+           os.system("gpg %s --no-options --batch --no-tty --armour --detach-sign <%s --output=%s" % (keyring,
                Cnf["Dir::RootDir"] + tree + "/Release", dest))
 
 #######################################################################################