# Prepare and maintain partial trees by architecture
# Copyright (C) 2004 Daniel Silverstone <dsilvers@digital-scurf.org>
-# $Id: billie,v 1.1 2004-03-21 16:55:19 dsilvers Exp $
+# $Id: billie,v 1.4 2004-11-27 16:06:42 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
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-################################################################################
+###############################################################################
## <kinnison> So Martin, do you have a quote for me yet?
## <tbm> Make something damned stupid up and attribute it to me, that's okay
-################################################################################
+###############################################################################
import pg, pwd, sys;
import utils, db_access;
TREE_DB_ROOT = "***Configure Billie::TreeDatabasePath Please***";
trees = []
-#################################################################################
+###############################################################################
# A BillieTarget is a representation of a target. It is a set of archs, a path
# and whether or not the target includes source.
##################
for a in self.archs:
if path.endswith( "_%s.deb" % (a) ):
return 1;
+ if path.endswith( "_%s.udeb" % (a) ):
+ return 1;
if self.source:
if (path.endswith( ".tar.gz" ) or
path.endswith( ".diff.gz" ) or
return 0;
return 1;
-##################################################################################
+##############################################################################
# The applicable function is basically a predicate. Given a path and a
# target object its job is to decide if the path conforms for the
# target and thus is wanted.
##################
verbatim = [
- "/README.html",
- "/README.pgp",
- "/README.CD-manufacture",
- "/README.mirrors.html",
- "/README.mirrors.txt",
];
verbprefix = [
"/tools/",
+ "/README",
+ "/doc/"
];
def applicable(path, target):
return 0;
-#################################################################################
-# A BillieDir is a representation of a tree. It distinguishes files dirs and links
+##############################################################################
+# A BillieDir is a representation of a tree.
+# It distinguishes files dirs and links
# Dirs are dicts of (name, BillieDir)
# Files are dicts of (name, inode)
# Links are dicts of (name, target)
self.files = {};
self.links = {};
-#################################################################################
+##############################################################################
# A BillieDB is a container for a BillieDir...
##############
f.close();
-#################################################################################
+##############################################################################
# Helper functions for the tree syncing...
##################
def do_unlink_dir(targ,path):
os.system( "rm -Rf '%s'" % _pth(targ.root, path) );
-#################################################################################
+##############################################################################
# Reconciling a target with the sourcedb
################
def reconcile_target_db( src, targ ):
_internal_reconcile( "", src.root, targ.db.root, targ );
-#################################################################################
+###############################################################################
def load_config():
global MASTER_PATH
tree.save_db();
print "Done"
-#################################################################################
+##############################################################################
if __name__ == '__main__':
main()