]> git.decadent.org.uk Git - dak.git/blobdiff - contrib/hack.6
Remove files that should never have been there in the first place
[dak.git] / contrib / hack.6
diff --git a/contrib/hack.6 b/contrib/hack.6
deleted file mode 100755 (executable)
index 1c21c1c..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-#!/usr/bin/env python
-
-# Fix testing
-# Copyright (C) 2000, 2001  James Troup <james@nocrew.org>
-# $Id: hack.6,v 1.1 2001-06-05 22:31:33 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
-
-################################################################################
-
-# 'Too afraid to touch; too afraid you'll like too much'
-
-################################################################################
-
-import pg, sys, os, string
-import utils, db_access
-import apt_inst, 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(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]));
-    christina = pg.connect('christina', Cnf["DB::Host"], int(Cnf["DB::Port"]));
-    db_access.init(Cnf, projectB);
-
-    total = 0; found = 0;
-    morgue = Cnf["Dir::Morgue"] + '/' + Cnf["Rhona::MorgueSubDir"];
-
-    xxx = utils.open_file ("xxx", 'r');
-    for line in xxx.readlines():
-        (package, version, arch) = string.split(line);
-        eversion = utils.re_no_epoch.sub('', version);
-        total = total + 1;
-        if arch != "source":
-            #filename = "%s/%s_%s_%s.deb" % (morgue, package, eversion, arch);
-            filename = "%s/%s_%s.deb" % (morgue, package, eversion);
-        else:
-            continue
-        if os.access(filename, os.R_OK) == 0:
-            continue;
-
-        control = apt_pkg.ParseSection(apt_inst.debExtractControl(utils.open_file(filename,"r")));
-        deb_arch = control.Find("Architecture");
-        if arch != deb_arch:
-            continue;
-
-        arch_id = db_access.get_architecture_id (arch);
-        q = christina.query("SELECT f.*, l.path, b.* FROM binaries b, files f, location l WHERE b.package = '%s' AND b.architecture = %s AND b.version = '%s' AND b.file = f.id AND l.id = f.location" % (package, arch_id, version));
-        ql = q.getresult();
-        if len(ql) != 1:
-            print "YOU LOSE: "+package+"~"+version+"~"+arch+"~"+repr(ql)
-            continue;
-        ql = ql[0];
-
-        x = projectB.query("SELECT * FROM source WHERE id = %s" % (ql[11]));
-        xl = x.getresult();
-        if len(xl) != 1:
-            old_filename = filename;
-            z = christina.query("SELECT f.*, l.path, s.*, df.* FROM source s, files f, location l, dsc_files df WHERE s.id = %s AND df.source = s.id AND df.file = f.id AND l.id = f.location" % (ql[11]));
-            zl = z.getresult();
-            if len(zl) < 1:
-                print old_filename
-                print repr(ql);
-                print "SELECT f.*, l.path, s.*, df.* FROM source s, files f, location l, dsc_files df WHERE s.id = %s AND df.source = s.id AND df.file = f.id AND l.id = f.location" % (ql[11]);
-                print " ==> "+repr(zl);
-                #sys.exit(3);
-            else:
-                projectB.query("BEGIN WORK");
-                gack = [];
-                for i in zl:
-                    new_filename = i[6] + i[1];
-                    filename = morgue + '/' + os.path.basename(new_filename);
-                    if os.access(filename, os.R_OK):
-                        print filename + " -> " + new_filename;
-                        if os.path.exists(new_filename):
-                            sys.exit(3);
-                        #utils.move(filename, new_filename);
-                        print "INSERT INTO files (id, filename, size, md5sum, location) VALUES (%s, '%s', %s, '%s', %s)" % (i[:5]);
-                        #projectB.query("INSERT INTO files (id, filename, size, md5sum, location) VALUES (%s, '%s', %s, '%s', %s)" % (i[:5]));
-                        gack.append("INSERT INTO dsc_files (id, source, file) VALUES (%s, %s, %s)" % (i[12:]));
-                        if new_filename[-4:] == ".dsc":
-                            print "INSERT INTO source (id, source, version, maintainer, file) VALUES (%s, '%s', '%s', %s, %s)" % (i[7:12]);
-                            #projectB.query("INSERT INTO source (id, source, version, maintainer, file) VALUES (%s, '%s', '%s', %s, %s)" % (i[7:12]));
-                for i in gack:
-                    print i;
-                    #projectB.query(i);
-            projectB.query("COMMIT WORK");
-            filename = old_filename;
-        
-        projectB.query("BEGIN WORK");
-        new_filename = ql[6] + ql[1];
-        print filename + " -> " + new_filename;
-        if os.path.exists(new_filename):
-            sys.exit(3);
-        utils.move(filename, new_filename);
-        print "INSERT INTO files (id, filename, size, md5sum, location) VALUES (%s, '%s', %s, '%s', %s)" % (ql[:5]);
-        projectB.query("INSERT INTO files (id, filename, size, md5sum, location) VALUES (%s, '%s', %s, '%s', %s)" % (ql[:5]));
-        if ql[11] == 0:
-            print "INSERT INTO binaries (id, package, version, maintainer, architecture, file, type) VALUES (%s, '%s', '%s', %s, %s, %s, '%s')" % (ql[7], ql[8], ql[9], ql[10], ql[12], ql[13], ql[14]);
-            projectB.query("INSERT INTO binaries (id, package, version, maintainer, architecture, file, type) VALUES (%s, '%s', '%s', %s, %s, %s, '%s')" % (ql[7], ql[8], ql[9], ql[10], ql[12], ql[13], ql[14]));
-        else:
-            print "INSERT INTO binaries (id, package, version, maintainer, source, architecture, file, type) VALUES (%s, '%s', '%s', %s, %s, %s, %s, '%s')" % (ql[7:]);
-            projectB.query("INSERT INTO binaries (id, package, version, maintainer, source, architecture, file, type) VALUES (%s, '%s', '%s', %s, %s, %s, %s, '%s')" % (ql[7:]));
-        print "INSERT INTO bin_associations (suite, bin) VALUES (%s, %s)" % (4, ql[7]);
-        projectB.query("INSERT INTO bin_associations (suite, bin) VALUES (%s, %s)" % (4, ql[7]));
-
-        projectB.query("COMMIT WORK");
-
-#######################################################################################
-
-if __name__ == '__main__':
-    main()
-
-#######################################################################################
-
-#      xxx = utils.open_file ("xxx", 'r');
-#      for line in xxx.readlines():
-#          (package, version, arch) = string.split(line);
-#          eversion = utils.re_no_epoch.sub('', version);
-#          total = total + 1;
-#          if arch == "source":
-#              filename = "%s/%s_%s.dsc" % (morgue, package, eversion);
-#          else:
-#              continue
-#          if os.access(filename, os.R_OK) == 0:
-#              continue;
-
-#          arch_id = db_access.get_architecture_id (arch);
-#          q = christina.query("SELECT f.*, l.path, s.*, df.* FROM source s, files f, location l, dsc_files df WHERE s.source = '%s' AND s.version = '%s' AND df.source = s.id AND df.file = f.id AND l.id = f.location" % (package, version));
-#          ql = q.getresult();
-#          if len(ql) < 1:
-#              print "YOU LOSE: "+package+"~"+version+"~"+arch+"~"+repr(ql)
-#              continue;
-#          projectB.query("BEGIN WORK");
-#          gack = [];
-#          for i in ql:
-#              new_filename = i[6] + i[1];
-#              filename = morgue + '/' + os.path.basename(new_filename);
-#              if os.access(filename, os.R_OK) == 0:
-#                  continue;
-#              print filename + " -> " + new_filename;
-#              if os.path.exists(new_filename):
-#                  sys.exit(3);
-#              utils.move(filename, new_filename);
-#              print "INSERT INTO files (id, filename, size, md5sum, location) VALUES (%s, '%s', %s, '%s', %s)" % (i[:5]);
-#              projectB.query("INSERT INTO files (id, filename, size, md5sum, location) VALUES (%s, '%s', %s, '%s', %s)" % (i[:5]));
-#              gack.append("INSERT INTO dsc_files (id, source, file) VALUES (%s, %s, %s)" % (i[12:]));
-#              if new_filename[-4:] == ".dsc":
-#                  print "INSERT INTO source (id, source, version, maintainer, file) VALUES (%s, '%s', '%s', %s, %s)" % (i[7:12]);
-#                  projectB.query("INSERT INTO source (id, source, version, maintainer, file) VALUES (%s, '%s', '%s', %s, %s)" % (i[7:12]));
-#                  print "INSERT INTO src_associations (suite, source) VALUES (%s, %s)" % (4, i[7]);
-#                  projectB.query("INSERT INTO src_associations (suite, source) VALUES (%s, %s)" % (4, i[7]));
-#              #print repr(i)
-#          for i in gack:
-#              print i;
-#              projectB.query(i);
-#          projectB.query("COMMIT WORK");
-
-#######################################################################################
-
-#######################################################################################
-
-#      bad = {};
-#      xxx = utils.open_file ("xxx", 'r');
-#      for line in xxx.readlines():
-#          (package, version, arch) = string.split(line);
-#          version = utils.re_no_epoch.sub('', version);
-#          total = total + 1;
-#          if arch != "source":
-#              filename = "%s/%s_%s_%s.deb" % (morgue, package, version, arch);
-#          else:
-#              filename = "%s/%s_%s.dsc" % (morgue, package, version);
-#          if os.access(filename, os.R_OK):
-#              found = found + 1;
-#          else:
-#              if arch != "source":
-#                  filename = "%s/%s_%s.deb" % (morgue, package, version);
-#                  if os.access(filename, os.R_OK):
-#                      control = apt_pkg.ParseSection(apt_inst.debExtractControl(utils.open_file(filename,"r")));
-#                      deb_arch = control.Find("Architecture");
-#                      if arch == deb_arch:
-#                          found = found + 1;
-#                          continue;
-#              if arch != "source":
-#                  xf = 0;
-#                  arch_id = db_access.get_architecture_id (arch);
-#                  q = projectB.query("SELECT version FROM binaries b, bin_associations ba WHERE b.package = '%s' AND b.architecture = %s AND ba.bin = b.id AND ba.suite = 5" % (package, arch_id));
-#                  ql = q.getresult();
-#                  if len(ql) != 1:
-#                      q = projectB.query("SELECT version FROM binaries b, bin_associations ba WHERE b.package = '%s' AND b.architecture = %s AND ba.bin = b.id AND ba.suite = 2" % (package, arch_id));
-#                      ql = q.getresult();
-#                      if len(ql) != 1:
-#                          #print "YOU LOSE: "+package+"~"+version+"~"+arch+"~"+repr(ql)
-#                          continue;
-
-#                  unstable_version = ql[0][0];
-#                  print package+" "+unstable_version+" "+arch;
-#                  found = found + 1;
-#              else:
-#                  q = projectB.query("SELECT version FROM source s, src_associations sa WHERE s.source = '%s' AND sa.source = s.id AND sa.suite = 5" % (package));
-#                  ql = q.getresult();
-#                  if len(ql) != 1:
-#                      q = projectB.query("SELECT version FROM source s, src_associations sa WHERE s.source = '%s' AND sa.source = s.id AND sa.suite = 2" % (package));
-#                      ql = q.getresult();
-#                      if len(ql) != 1:
-#                          #print "YOU LOSE: "+package+"~"+version+"~"+arch+"~"+repr(ql)
-#                          continue;
-
-#                  unstable_version = ql[0][0];
-#                  print package+" "+unstable_version+" "+arch;
-#                  found = found + 1;
-
-#      #print "Good: %d / %d (%.2f%%)" % (found, total, (float(found)/total*100));
-#      #not_found = total - found;
-#      #print "Bad: %d / %d (%.2f%%)" % (not_found, total, (float(not_found)/total*100));
-
-#######################################################################################
-
-# Pretty print bad stuff code
-
-#              key = package+'~'+version;
-#              if not bad.has_key(key):
-#                  bad[key] = [];
-#              bad[key].append(arch);
-
-#      keys = bad.keys();
-#      keys.sort();
-#      for i in keys:
-#          print i+": "+repr(bad[i]);
-
-
-
-# Check if is in DB code
-
-#              arch_id = db_access.get_architecture_id (arch);
-#              q = projectB.query("SELECT id FROM binaries WHERE package = '%s' AND version = '%s' AND architecture = %s" % (package, version, arch_id));
-#              ql = q.getresult();
-#              if ql != []:
-#                  found = found + 1;
-
-#              q = projectB.query("SELECT id FROM source WHERE source = '%s' AND version = '%s'" % (package, version));
-#              ql = q.getresult();
-#              if ql != []:
-#                  found = found + 1;