[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SCM] Debian package checker branch, master, updated. 2.5.0-rc2-122-g12888e8



The following commit has been merged in the master branch:
commit afc15e1abf62524f047a3bf8cb9be071a43057b2
Author: Niels Thykier <niels@thykier.net>
Date:   Wed Jan 5 22:19:51 2011 +0100

    Migrate more to Lab::Package.

diff --git a/frontend/lintian b/frontend/lintian
index 6a49150..8129a5a 100755
--- a/frontend/lintian
+++ b/frontend/lintian
@@ -1211,8 +1211,10 @@ foreach my $pkg_info ($schedule->get_all) {
     my $base;
     my $act_unpack_level;
     eval{ $lpkg = $LAB->get_lab_package($pkg, $ver, $type, $file); };
-    if($@){
-	warning("skipping $action of $long_type package $pkg: $@");
+    if(!defined($lpkg)){
+	my $err = ".";
+	$err = ": $@" if(defined($@));
+	warning("skipping $action of $long_type package $pkg$err");
 	$exit_code = 2;
 	next PACKAGE;
     }
@@ -1232,8 +1234,7 @@ foreach my $pkg_info ($schedule->get_all) {
     debug_msg(1, "Base directory in lab: $base");
 
     # unpack to requested unpack level
-    $act_unpack_level = unpack_pkg($type,$base,$file,$act_unpack_level,
-				   $unpack_level);
+    $act_unpack_level = $lpkg->unpack($unpack_level);
     if ($act_unpack_level == -1) {
 	warning("could not unpack package to desired level",
 		"skipping $action of $long_type package $pkg");
@@ -1284,7 +1285,7 @@ foreach my $pkg_info ($schedule->get_all) {
 
 		    # collect info
 		    $map->select($req);
-		    remove_status_file($base);
+		    $lpkg->remove_status_file();
 		    debug_msg(1, "Collecting info: $coll ...");
 		    my $script = "$LINTIAN_ROOT/collection/$ci->{'script'}";
 		    my $cmd = Lintian::Command::Simple->new();
@@ -1412,7 +1413,7 @@ foreach my $pkg_info ($schedule->get_all) {
 
     # clean up
     if ($act_unpack_level > $unpack_level) {
-	$act_unpack_level = clean_pkg($type,$base,$file,$act_unpack_level,$unpack_level);
+	$act_unpack_level = $lpkg->pack($unpack_level);
 	if ($act_unpack_level == -1) {
 	    warning("could not clean up laboratory for package $pkg: $!",
 		    "skipping clean up");
@@ -1422,12 +1423,11 @@ foreach my $pkg_info ($schedule->get_all) {
     }
     # if the package's basedir was not removed then run the
     # auto-remove: yes collection scripts
-    if (-d "$base") {
+    if (-d "$base" and !$keep_lab) {
 	chdir($base);
 	for my $coll (keys %collection_info) {
 	    my $ci = $collection_info{$coll};
 	    if (defined($ci->{'auto-remove'}) && $ci->{'auto-remove'} eq "yes") {
-		next if $keep_lab;
 		next unless (-f "$base/.${coll}-$ci->{'version'}");
 		my $script = "$LINTIAN_ROOT/collection/$ci->{'script'}";
 		debug_msg(1, "Auto removing: $ci->{'script'} ...");
@@ -1444,31 +1444,9 @@ foreach my $pkg_info ($schedule->get_all) {
 	chdir($LINTIAN_ROOT);
     }
 
-    # create Lintian status file
-    if (($act_unpack_level > 0) and (not -f "$base/.lintian-status")) {
-	my @stat;
-	unless (@stat = stat $file) {
-	    warning("cannot stat file $file: $!",
-		    "skipping creation of status file");
-	    $exit_code = 2;
-	    next PACKAGE;
-	}
-	my $timestamp = $stat[9];
-
-	unless (open(STATUS, '>', "$base/.lintian-status")) {
-	    warning("could not create status file $base/.lintian-status for package $pkg: $!");
-	    $exit_code = 2;
-	    next PACKAGE;
-	}
-
-	print STATUS "Lintian-Version: $LINTIAN_VERSION\n";
-	print STATUS "Lab-Format: $LAB_FORMAT\n";
-	print STATUS "Package: $pkg\n";
-	print STATUS "Version: $ver\n";
-	print STATUS "Type: $type\n";
-	print STATUS "Timestamp: $timestamp\n";
-	close(STATUS);
-    }
+    # All successful, make sure to record it so we do not recheck the same package
+    # in a later run (mostly for archive-wide checks).
+    $lpkg->update_status_file($LINTIAN_VERSION);
 }
 $TAGS->file_end();
 

-- 
Debian package checker


Reply to: