r11548 - in /desktop/experimental/gtk+2.0/debian: changelog dh_listmissing.pl rules

lool at users.alioth.debian.org lool at users.alioth.debian.org
Sat Jun 16 15:02:26 UTC 2007


Author: lool
Date: Sat Jun 16 15:02:26 2007
New Revision: 11548

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=11548
Log:
* Add a debian/dh_listmissing.pl script based on dh_install snippets but
  customized to handle multiple source installation dirs which can report
  files which were not installed to a package.
* New list-missing rule to list files which were not installed to a package
  calling debian/dh_listmissing.pl.

Added:
    desktop/experimental/gtk+2.0/debian/dh_listmissing.pl
Modified:
    desktop/experimental/gtk+2.0/debian/changelog
    desktop/experimental/gtk+2.0/debian/rules

Modified: desktop/experimental/gtk+2.0/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gtk%2B2.0/debian/changelog?rev=11548&op=diff
==============================================================================
--- desktop/experimental/gtk+2.0/debian/changelog (original)
+++ desktop/experimental/gtk+2.0/debian/changelog Sat Jun 16 15:02:26 2007
@@ -1,4 +1,4 @@
-gtk+2.0 (2.11.3-1) UNRELEASED; urgency=low
+gtk+2.0 (2.11.3-1) experimental; urgency=low
 
   [ Josselin Mouette ]
   * 040_filechooser_single-click.patch: fix the patch to apply cleanly
@@ -16,8 +16,13 @@
       033_treeview_resizing, 040_filechooser_single-click, and 041_ia32-libs
       to apply cleanly.
     - Update relibtoolizing patch, 070_mandatory-relibtoolize.
-
- -- Loic Minier <lool at dooz.org>  Sat, 16 Jun 2007 14:31:53 +0200
+  * Add a debian/dh_listmissing.pl script based on dh_install snippets but
+    customized to handle multiple source installation dirs which can report
+    files which were not installed to a package.
+  * New list-missing rule to list files which were not installed to a package
+    calling debian/dh_listmissing.pl.
+
+ -- Loic Minier <lool at dooz.org>  Sat, 16 Jun 2007 16:54:27 +0200
 
 gtk+2.0 (2.11.2-1) experimental; urgency=low
 

Added: desktop/experimental/gtk+2.0/debian/dh_listmissing.pl
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gtk%2B2.0/debian/dh_listmissing.pl?rev=11548&op=file
==============================================================================
--- desktop/experimental/gtk+2.0/debian/dh_listmissing.pl (added)
+++ desktop/experimental/gtk+2.0/debian/dh_listmissing.pl Sat Jun 16 15:02:26 2007
@@ -1,0 +1,79 @@
+#!/bin/false /usr/bin/perl -w
+# shebang disabled while this script resides in debian/
+
+# similar to dh_install; needs some documentation
+
+use strict;
+use File::Find;
+use Debian::Debhelper::Dh_Lib;
+
+init();
+
+# list of sourcedirs
+my @sourcedirs = @ARGV;
+
+my @installed;
+
+my $srcdir = '.';
+
+# dh_install code, but not doing any installation, just building @installed
+# and stripping sourcedirs from these
+foreach my $package (@{$dh{DOPACKAGES}}) {
+    my $tmp=tmpdir($package);
+    my $file=pkgfile($package,"install");
+
+    my @install;
+    if ($file) {
+        @install=filedoublearray($file); # no globbing yet
+    }
+
+    # Support for -X flag.
+    my $exclude = '';
+    if ($dh{EXCLUDE_FIND}) {
+        $exclude = '! \( '.$dh{EXCLUDE_FIND}.' \)';
+    }
+
+    foreach my $set (@install) {
+        if (! defined $dh{AUTODEST} && @$set > 1) {
+            pop @$set;
+        }
+        foreach my $src (map { glob "$srcdir/$_" } @$set) {
+            next if excludefile($src);
+
+            # strip source dir
+            foreach my $d (@sourcedirs) {
+                $src=~s/^\Q$srcdir\E\/\Q$d\E\///;
+            }
+
+            # Keep track of what's installed.
+            # Kill any extra slashes. Makes the @installed stuff more robust.
+            $src=~y:/:/:s;
+            $src=~s:/+$::;
+            $src=~s:^(\./)*::;
+            push @installed, "\Q$src\E\/.*|\Q$src\E";
+        }
+    }
+}
+
+# dh_install code, but stripping sourcedirs
+my @missing;
+my $installed=join("|", @installed);
+$installed=qr{^($installed)$};
+find(sub {
+    -f || -l || return;
+    $_="$File::Find::dir/$_";
+    foreach my $d (@sourcedirs) {
+        s/^\Q$d\E\///;
+    }
+    if (! /$installed/ && ! excludefile($_)) {
+        my $file=$_;
+        push @missing, $file;
+    }
+}, @sourcedirs);
+if (@missing) {
+    warning "$_ has been installed upstream but is not in any package" foreach @missing;
+    if ($dh{FAIL_MISSING}) {
+        error("missing files, aborting");
+    }
+}
+

Modified: desktop/experimental/gtk+2.0/debian/rules
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gtk%2B2.0/debian/rules?rev=11548&op=diff
==============================================================================
--- desktop/experimental/gtk+2.0/debian/rules (original)
+++ desktop/experimental/gtk+2.0/debian/rules Sat Jun 16 15:02:26 2007
@@ -313,5 +313,9 @@
 	dh_md5sums -a
 	dh_builddeb -a
 
+list-missing:
+	perl -w debian/dh_listmissing.pl $(foreach f,$(FLAVORS),$(subst $(CURDIR)/,,$(installbasedir))/$(f)) 2>&1 | \
+	    egrep -v '(\.la|usr/lib/gtk-2.0/$(GTK_BINARY_VERSION)/[^/]+/[^/]+\.a) has been installed' >&2
+
 binary: binary-indep binary-arch
-.PHONY: patch configure build check install clean binary-indep binary-arch binary
+.PHONY: patch configure build check install clean binary-indep binary-arch list-missing binary




More information about the pkg-gnome-commits mailing list