提交 5b3f41ba 编写于 作者: J James Troup

sync

上级 10b08271
TOFIX
=====
o natalie doesn't warn when lisitng invalid components!
o new tool: why is this still here?
o run apt-ftparchive clean <conf file> weekly [culus sucks]
o when dinstall is run in install mode but not as a cron job, it
should probably run jenna to avoid madison originated user confusion
o purge older stuff from non-free/contrib so that testing and stuff works
23:12|<aj> I will not hush!
23:12|<elmo> :>
23:12|<aj> Where there is injustice in the world, I shall be there!
23:13|<aj> I shall not be silenced!
23:13|<aj> The world shall know!
23:13|<aj> The world *must* know!
23:13|<elmo> oh dear, he's gone back to powerpuff girls... ;-)
23:13|<aj> yay powerpuff girls!!
23:13|<aj> buttercup's my favourite, who's yours?
23:14|<aj> you're backing away from the keyboard right now aren't you?
23:14|<aj> *AREN'T YOU*?!
23:15|<aj> I will not be treated like this.
23:15|<aj> I shall have my revenge.
23:15|<aj> I SHALL!!!
Urgent
------
o [not really urgent, but I'm too lazy to page down..] check for empty debs.
o katie needs a stable_reject() which a) removes the package from
p-u, b) doesn't remove the file from the pool, and c) (optionally, I
guess) uses a template mail.
......@@ -13,7 +41,7 @@ Urgent
o experimental needs to auto clean dude
o jenna doesn't handle arch: any -> arch: all transitions
o jenna doesn't handle arch: any -> arch: all transitions [aj worked around; need to revisit]
o direport misreports things as section 'devel'
......
#!/usr/bin/env python
# ???
# Copyright (C) 2000, 2001 James Troup <james@nocrew.org>
# $Id: hack.5,v 1.1 2001-05-17 01:01:51 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, re
import utils, db_access
import apt_pkg;
################################################################################
Cnf = None;
projectB = None;
re_parse_bin_filename = re.compile(r"(.+?)_(.+?)_(.+?)\.(.+?)")
re_parse_src_filename = re.compile(r"(.+?)_(.+?)\.dsc")
################################################################################
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")];
changes_files = apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv);
projectB = pg.connect(Cnf["DB::Name"], Cnf["DB::Host"], int(Cnf["DB::Port"]));
db_access.init(Cnf, projectB);
for changes_file in changes_files:
#print changes_file
changes = utils.parse_changes(changes_file, 0)
files = utils.build_file_list(changes, "");
for file in files.keys():
if file[-4:] == ".deb":
m = re_parse_bin_filename.match(file)
package = m.group(1);
version = m.group(2);
architecture = m.group(3);
type = m.group(4)
q = projectB.query("SELECT b.id FROM binaries b, bin_associations ba, architecture a WHERE b.id = ba.bin AND ba.suite = 3 AND b.package = '%s' AND b.version = '%s' AND a.id = b.architecture AND a.arch_string = '%s'" % (package, version, architecture));
ql = q.getresult();
if len(ql) == 0:
#print "[MISSING] Package: %s, version: %s, architecture: %s" % (package, version, architecture);
foo = 0;
elif len(ql) == 1:
id = ql[0][0];
print "DELETE FROM bin_associations WHERE bin = %s AND suite = 3;" % (id);
projectB.query("DELETE FROM bin_associations WHERE bin = %s AND suite = 3;" % (id));
#print "[%s] Package: %s, version: %s, architecture: %s" % (id, package, version, architecture);
else:
print "[FUBAR]"
elif file[-4:] == ".dsc":
m = re_parse_src_filename.match(file)
package = m.group(1);
version = m.group(2);
q = projectB.query("SELECT s.id FROM source s, src_associations sa WHERE s.id = sa.source AND sa.suite = 3 AND s.source = '%s' AND s.version = '%s'" % (package, version));
ql = q.getresult();
if len(ql) == 0:
#print "[MISSING] Package: %s, version: %s, architecture: source" % (package, version);
foo = 0;
elif len(ql) == 1:
id = ql[0][0];
print "DELETE FROM src_associations WHERE source = %s AND suite = 3;" % (id);
projectB.query("DELETE FROM src_associations WHERE source = %s AND suite = 3;" % (id));
#print "[%s] Package: %s, version: %s, architecture: source" % (id, package, version);
else:
print "[FUBAR]"
#######################################################################################
if __name__ == '__main__':
main()
......@@ -19,3 +19,4 @@ nonus.debian.org Problems with the non-US FTP site
lists.debian.org The mailing lists, debian-*@lists.debian.org.
wnpp Work-Needing and Prospective Packages list
cdimage.debian.org CD Image issues.
tech-ctte The Debian Technical Committee (see the Constitution)
......@@ -20,3 +20,4 @@ slink-cd Steve McIntyre <stevem@chiark.greenend.org.uk>
potato-cd Steve McIntyre <stevem@chiark.greenend.org.uk>
wnpp wnpp@debian.org
cdimage.debian.org debian-cd@lists.debian.org
tech-ctte Technical Committee <debian-ctte@lists.debian.org>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册