]> git.decadent.org.uk Git - dak.git/blobdiff - contrib/hack.3
Remove files that should never have been there in the first place
[dak.git] / contrib / hack.3
diff --git a/contrib/hack.3 b/contrib/hack.3
deleted file mode 100755 (executable)
index 7e572ee..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-#!/usr/bin/env python
-
-# Whee!  Fix testing fubarity
-# Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: hack.3,v 1.1 2001-03-14 20:32:05 troup 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
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-################################################################################
-
-# Computer games don't affect kids. I mean if Pacman affected our generation as
-# kids, we'd all run around in a darkened room munching pills and listening to
-# repetitive music.
-#         -- Unknown
-
-################################################################################
-
-import pg, sys, os, string, stat
-import utils, db_access
-import apt_pkg;
-
-################################################################################
-
-Cnf = None;
-projectB = None;
-
-################################################################################
-
-def main ():
-    global Cnf, projectB, db_files, waste, excluded;
-
-    apt_pkg.init();
-    
-    Cnf = apt_pkg.newConfiguration();
-    apt_pkg.ReadConfigFileISC(Cnf,utils.which_conf_file());
-
-    Arguments = [('d',"debug","Christina::Options::Debug", "IntVal"),
-                 ('h',"help","Christina::Options::Help"),
-                 ('v',"version","Christina::Options::Version")];
-
-    apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
-    projectB = pg.connect('projectb', 'localhost');
-    christina = pg.connect('christina', 'localhost');
-    db_access.init(Cnf, projectB);
-
-    q = christina.query("""
-SELECT l.path, f.filename, b.package, b.version, b.architecture, a.arch_string
-    FROM bin_associations ba, binaries b, files f, location l, architecture a
-    WHERE ba.suite = 4 AND ba.bin = b.id AND f.id = b.file
-          AND f.location = l.id AND a.id = b.architecture;""");
-    ql = q.getresult();
-
-    for i in ql:
-        filename = i[0] + i[1]
-        if not os.path.exists(filename):
-            package = i[2];
-            testing_version = i[3];
-            architecture_id = i[4];
-            architecture = i[5];
-            x = projectB.query("SELECT b.id, b.version FROM bin_associations ba, binaries b WHERE ba.suite = 5 AND ba.bin = b.id AND b.package = '%s' AND b.architecture = %s" % (package, architecture_id));
-            xl = x.getresult();
-            new_id = xl[0][0];
-            unstable_version = xl[0][1];
-            #print "%s [%s]: %s ==> %s" % (package, architecture, testing_version, unstable_version);
-            print "%s %s %s" % (package, unstable_version, architecture);
-
-    sys.exit(0);
-
-#######################################################################################
-
-if __name__ == '__main__':
-    main()
-
-
-#      # And yes, I'm all too well aware of how appaling this code is;
-#      # I'm so not caring right now.
-
-#      # Basic plan: From a known-good backup, get a list of what should
-#      # be in testing and search for every file.  If it's not in the
-#      # pool, check in the morgue and double check the md5sum + size.
-
-#      # Binaries
-
-#      q = christina.query("""
-#  SELECT l.path, f.filename, f.md5sum, f.size, b.id
-#      FROM bin_associations ba, binaries b, files f, location l
-#      WHERE ba.suite = 4 AND ba.bin = b.id AND f.id = b.file
-#            AND f.location = l.id;""");
-#      ql = q.getresult();
-
-#  #      q = christina.query("""
-#  #  SELECT l.path, f.filename, f.md5sum, f.size, s.id
-#  #     FROM src_associations sa, source s, files f, location l, dsc_files df
-#  #     WHERE sa.suite = 4 AND sa.source = s.id AND f.id = df.file AND f.location = l.id
-#  #           AND df.source = s.id;""");
-#  #      ql = q.getresult();
-
-#      bad_ids = {};
-#      count_total = 0;
-#      count_good = 0;
-#      count_recoverable = 0;
-#      for i in ql:
-#          filename = i[0] + i[1]
-#          count_total = count_total + 1;
-#          if not os.path.exists(filename):
-#              basename = os.path.basename(filename)
-#              morgue_filename = string.join([Cnf["Dir::Morgue"],Cnf["Rhona::MorgueSubDir"],basename],'/');
-#              if os.path.exists(morgue_filename):
-#                  db_md5sum = i[2];
-#                  db_size = int(i[3]);
-#                  try:
-#                      file = utils.open_file(morgue_filename, 'r');
-#                  except:
-#                      sys.stderr.write("E: can't open '%s'.\n" % (morgue_filename));
-#                      continue;
-#                  md5sum = apt_pkg.md5sum(file);
-#                  size = os.stat(morgue_filename)[stat.ST_SIZE];
-#                  if md5sum != db_md5sum:
-#                      #print "E: %s" % (filename);
-#                      #sys.stderr.write("E: **WARNING** md5sum mismatch for '%s' ('%s' [current] vs. '%s' [db]).\n" % (morgue_filename, md5sum, db_md5sum));
-#                      continue;
-#                  if size != db_size:
-#                      #print "E: %s" % (filename);
-#                      #sys.stderr.write("E: **WARNING** size mismatch for '%s' ('%s' [current] vs. '%s' [db]).\n" % (morgue_filename, size, db_size));
-#                      continue;
-#                  bad_ids[i[4]] = "";
-#                  print "R: %s [%s]" % (filename, morgue_filename);
-#                  ###utils.copy(morgue_filename, filename);
-#                  count_recoverable = count_recoverable + 1;
-#              else:
-#                  #print "E: %s" % (filename);
-#                  baz = 0;
-#          else:
-#              #print "G: %s" % (filename);
-#              count_good = count_good + 1;
-
-#      print "Good: %d / %d (%.2f%%)" % (count_good, count_total, (float(count_good)/count_total*100));
-#      print "Recoverable: %d / %d (%.2f%%)" % (count_recoverable, count_total, (float(count_recoverable)/count_total*100));
-#      count_bad = count_total - count_good - count_recoverable;
-#      print "Bad: %d / %d (%.2f%%)" % (count_bad, count_total, (float(count_bad)/count_total*100));
-
-#      sys.exit(0);
-#      projectB.query("BEGIN WORK;");
-
-#      for id in bad_ids.keys():
-#          q = christina.query("SELECT f.filename, f.size, f.md5sum, f.location FROM files f, binaries b WHERE b.id = %d and b.file = f.id;" % (id));
-#          ql = q.getresult();
-#          if len(ql) != 1:
-#              sys.exit(9);
-#          for i in ql:
-#              filename = i[0];
-#              size = i[1];
-#              md5sum = i[2];
-#              location_id = i[3];
-#              files_id = db_access.get_files_id(filename, size, md5sum, location_id);
-#              if files_id == -1:
-#                  sys.stderr.write("Rejected: INTERNAL ERROR, get_files_id() returned multiple matches for %s.\n" % (filename));
-#                  sys.exit(8);
-#              elif files_id == -2:
-#                  sys.stderr.write("Rejected: md5sum and/or size mismatch on existing copy of %s.\n" % (filename));
-#                  sys.exit(8);
-#              if not files_id:
-#                  #files_id = 42;
-#                  files_id = db_access.set_files_id(filename, size, md5sum, location_id);
-#                  print "INSERT(ed) INTO files (filename, size, md5sum, location) VALUES ('%s', %d, '%s', %d)" % (filename, long(size), md5sum, location_id);
-
-#              else:
-#                  print "%s already exists; skipping." % (filename)
-#                  baz = 0;
-
-#          q = christina.query("""
-#  SELECT b.package, b.version, s.source, s.version, b.architecture, m.name
-#      FROM binaries b, source s, maintainer m
-#      WHERE b.id = %s AND s.id = b.source AND m.id = b.maintainer
-#  UNION SELECT b.package, b.version, null, null, b.architecture, m.name
-#      FROM binaries b, maintainer m
-#      WHERE b.id = %s AND b.source is null AND b.maintainer = m.id;""" % (id, id));
-#          ql = q.getresult();
-#          if len(ql) != 1:
-#              sys.exit(9);
-#          for i in ql:
-#              package = i[0];
-#              version = i[1];
-#              source_name = i[2];
-#              source_version = i[3];
-#              source_id = None;
-#              architecture_id = i[4];
-#              maintainer = i[5];
-#              maintainer = string.replace(maintainer, "'", "\\'");
-#              maintainer_id = db_access.get_or_set_maintainer_id(maintainer);
-#              if source_name:
-#                  source_id = db_access.get_source_id (source_name, source_version);
-#                  if not source_id:
-#                      print "Say what?";
-#                      sys.exit(3);
-#              if source_id:
-#                  print "INSERT INTO binaries (package, version, maintainer, source, architecture, file, type) VALUES ('%s', '%s', %d, %d, %d, %s, '%s')" % (package, version, maintainer_id, source_id, architecture_id, files_id, "deb");
-#                  projectB.query("INSERT INTO binaries (package, version, maintainer, source, architecture, file, type) VALUES ('%s', '%s', %d, %d, %d, %s, '%s')" % (package, version, maintainer_id, source_id, architecture_id, files_id, "deb"));
-#              else:
-#                  print "INSERT INTO binaries (package, version, maintainer, architecture, file, type) VALUES ('%s', '%s', %d, %d, %s, '%s')" % (package, version, maintainer_id, architecture_id, files_id, "deb");
-#                  projectB.query("INSERT INTO binaries (package, version, maintainer, architecture, file, type) VALUES ('%s', '%s', %d, %d, %s, '%s')" % (package, version, maintainer_id, architecture_id, files_id, "deb"));
-
-#      projectB.query("COMMIT WORK;");
-
-#      sys.exit(0);
-
-
-
-
-#      ## source .. already done
-#      projectB.query("BEGIN WORK;");
-
-#      for id in bad_ids.keys():
-#          q = christina.query("SELECT f.filename, f.md5sum, f.size, f.location FROM files f, dsc_files df WHERE df.source = %s and f.id = df.file;""" % (id));
-#          ql = q.getresult();
-#          for i in ql:
-#              filename = i[0];
-#              md5sum = i[1];
-#              size = i[2];
-#              location_id = i[3];
-#              files_id = db_access.get_files_id(filename, size, md5sum, location_id);
-#              if files_id == -1:
-#                  sys.stderr.write("Rejected: INTERNAL ERROR, get_files_id() returned multiple matches for %s.\n" % (filename));
-#                  sys.exit(8);
-#              elif files_id == -2:
-#                  sys.stderr.write("Rejected: md5sum and/or size mismatch on existing copy of %s.\n" % (filename));
-#                  sys.exit(8);
-#              if not files_id:
-#                  #files_id = 42;
-#                  files_id = db_access.set_files_id(filename, size, md5sum, location_id);
-#                  print "INSERT(ed) INTO files (filename, size, md5sum, location) VALUES ('%s', %d, '%s', %d)" % (filename, long(size), md5sum, location_id);
-
-#              else:
-#                  print "%s already exists; skipping." % (filename)
-#              if filename[-4:] == '.dsc':
-#                  dsc_files_id = files_id;
-#              print "--"
-
-#          q = christina.query("SELECT s.source, s.version, m.name FROM source s, maintainer m WHERE s.id = %s and s.maintainer = m.id;""" % (id));
-#          ql = q.getresult();
-#          if len(ql) != 1:
-#              sys.exit(9);
-#          for i in ql:
-#              source = i[0]
-#              version = i[1];
-#              maintainer = i[2];
-#              maintainer_id = db_access.get_or_set_maintainer_id(maintainer);
-#              print "INSERT INTO source (source, version, maintainer, file) VALUES ('%s', '%s', %d, %d)" % (source, version, maintainer_id, dsc_files_id);
-#              projectB.query("INSERT INTO source (source, version, maintainer, file) VALUES ('%s', '%s', %d, %d)" % (source, version, maintainer_id, dsc_files_id));
-
-#      projectB.query("COMMIT WORK;");
-
-
-
-
-
-#      def nevermind():
-#          new_bad_ids = {};
-#          qx = christina.query("SELECT l.path, f.filename, f.md5sum, f.size, s.id FROM source s, files f, location l, dsc_files df WHERE f.id = df.file AND f.location = l.id AND df.source = s.id AND s.source = '%s' AND s.version = '%s';" % (source_name, source_version));
-#          qxl = qx.getresult();
-#          for ix in qxl:
-#              filename = ix[0] + ix[1]
-#              if os.path.exists(filename):
-#                  continue;
-#                      basename = os.path.basename(filename)
-#                      morgue_filename = string.join([Cnf["Dir::Morgue"],Cnf["Rhona::MorgueSubDir"],basename],'/');
-#                      if os.path.exists(morgue_filename):
-#                          db_md5sum = ix[2];
-#                          db_size = int(ix[3]);
-#                          try:
-#                              file = utils.open_file(morgue_filename, 'r');
-#                          except:
-#                              sys.stderr.write("E: can't open '%s'.\n" % (morgue_filename));
-#                              continue;
-#                          md5sum = apt_pkg.md5sum(file);
-#                          size = os.stat(morgue_filename)[stat.ST_SIZE];
-#                          if md5sum != db_md5sum:
-#                              sys.stderr.write("E: **WARNING** md5sum mismatch for '%s' ('%s' [current] vs. '%s' [db]).\n" % (morgue_filename, md5sum, db_md5sum));
-#                              continue;
-#                          if size != db_size:
-#                              sys.stderr.write("E: **WARNING** size mismatch for '%s' ('%s' [current] vs. '%s' [db]).\n" % (morgue_filename, size, db_size));
-#                              continue;
-#                          new_bad_ids[ix[4]] = "";
-#                          print "R: %s [%s]" % (filename, morgue_filename);
-#                          utils.copy(morgue_filename, filename);
-#                      else:
-#                          print "E: %s" % (filename);
-
-#                      projectB.query("BEGIN WORK;");
-
-#                      for new_id in new_bad_ids.keys():
-#                          qx = christina.query("SELECT f.filename, f.md5sum, f.size, f.location FROM files f, dsc_files df WHERE df.source = %s and f.id = df.file;""" % (new_id));
-#                          qlx = qx.getresult();
-#                          for ix in qlx:
-#                              filename = ix[0];
-#                              md5sum = ix[1];
-#                              size = ix[2];
-#                              location_id = ix[3];
-#                              files_id = db_access.get_files_id(filename, size, md5sum, location_id);
-#                              if files_id == -1:
-#                                  sys.stderr.write("Rejected: INTERNAL ERROR, get_files_id() returned multiple matches for %s.\n" % (filename));
-#                                  sys.exit(8);
-#                              elif files_id == -2:
-#                                  sys.stderr.write("Rejected: md5sum and/or size mismatch on existing copy of %s.\n" % (filename));
-#                                  sys.exit(8);
-#                              if not files_id:
-#                                  #files_id = 42;
-#                                  files_id = db_access.set_files_id(filename, size, md5sum, location_id);
-#                                  print "INSERT(ed) INTO files (filename, size, md5sum, location) VALUES ('%s', %d, '%s', %d)" % (filename, long(size), md5sum, location_id);
-#                              else:
-#                                  print "%s already exists; skipping." % (filename)
-#                              if filename[-4:] == '.dsc':
-#                                  dsc_files_id = files_id;
-#                              print "--"
-
-#                          qx = christina.query("SELECT s.source, s.version, m.name FROM source s, maintainer m WHERE s.id = %s and s.maintainer = m.id;""" % (new_id));
-#                          qlx = qx.getresult();
-#                          if len(qlx) != 1:
-#                              sys.exit(9);
-#                          for ix in qlx:
-#                              source = ix[0];
-#                              version = ix[1];
-#                              maintainer = ix[2];
-#                              maintainer = string.replace(maintainer, "'", "\\'");
-#                              maintainer_id = db_access.get_or_set_maintainer_id(maintainer);
-#                              print "INSERT INTO source (source, version, maintainer, file) VALUES ('%s', '%s', %d, %d)" % (source, version, maintainer_id, dsc_files_id);
-#                              projectB.query("INSERT INTO source (source, version, maintainer, file) VALUES ('%s', '%s', %d, %d)" % (source, version, maintainer_id, dsc_files_id));
-#                      projectB.query("COMMIT WORK;");