]> err.no Git - dpkg/commitdiff
dpkg-source warns now about new empty files since those will
authorFrank Lichtenheld <djpig@debian.org>
Sun, 1 Jul 2007 13:57:58 +0000 (13:57 +0000)
committerFrank Lichtenheld <djpig@debian.org>
Sun, 1 Jul 2007 13:57:58 +0000 (13:57 +0000)
not be represented in the diff. Closes: #383394

ChangeLog
debian/changelog
scripts/dpkg-source.pl

index 4ad24a8597832f5341f5301d5c5baf62869338a7..bef0f562b885a844734899f98aecd4d3e57dea21 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-07-01  Frank Lichtenheld  <djpig@debian.org>
+
+       * scripts/dpkg-source.pl: Warn that newly created empty files are
+       not currently represented in the diff.
+
 2007-07-01  Ian Jackson  <ian@davenant.greenend.org.uk>
 
        * scripts/dpkg-source.pl: Don't remove setgid bits
index 4982aaae823b8cdf25ea201be4fb13d244ce2f30..bc01d0c058df2c7722e77b80a04562421b0e1d17 100644 (file)
@@ -29,6 +29,8 @@ dpkg (1.14.5) UNRELEASED; urgency=low
     tar balls to match more the user's preferences instead of
     ours or the ones from the originator of the tar ball. Patch
     by Ian Jackson. Closes: #390915, #207289
+  * dpkg-source warns now about new empty files since those will
+    not be represented in the diff. Closes: #383394
   
   [ Updated dselect translations ]
   * French (Christian Perrier)
index 6b40d086d624f7af802b6e821bdc98e273a4f0e7..97a5426209d83483c062e1046b898fc7d40665fa 100755 (executable)
@@ -510,6 +510,7 @@ if ($opmode eq 'build') {
             $fn =~ s,^\./,,;
             lstat("$dir/$fn") || &syserr(sprintf(_g("cannot stat file %s"), "$dir/$fn"));
            my $mode = S_IMODE((lstat(_))[2]);
+           my $size = (lstat(_))[7];
             if (-l _) {
                 $type{$fn}= 'symlink';
                checktype($origdir, $fn, '-l') || next;
@@ -526,12 +527,16 @@ if ($opmode eq 'build') {
                 if (!lstat("$origdir/$fn")) {
                     $! == ENOENT || &syserr(sprintf(_g("cannot stat orig file %s"), "$origdir/$fn"));
                     $ofnread= '/dev/null';
-                   if( $mode & ( S_IXUSR | S_IXGRP | S_IXOTH ) ) {
-                       warning(sprintf(_g("executable mode %04o of '%s' will not be represented in diff"), $mode, $fn))
-                           unless $fn eq 'debian/rules';
-                   }
-                   if( $mode & ( S_ISUID | S_ISGID | S_ISVTX ) ) {
-                       warning(sprintf(_g("special mode %04o of '%s' will not be represented in diff"), $mode, $fn));
+                   if( !$size ) {
+                       warning(sprintf(_g("newly created empty file '%s' will not be represented in diff"), $fn));
+                   } else {
+                       if( $mode & ( S_IXUSR | S_IXGRP | S_IXOTH ) ) {
+                           warning(sprintf(_g("executable mode %04o of '%s' will not be represented in diff"), $mode, $fn))
+                               unless $fn eq 'debian/rules';
+                       }
+                       if( $mode & ( S_ISUID | S_ISGID | S_ISVTX ) ) {
+                           warning(sprintf(_g("special mode %04o of '%s' will not be represented in diff"), $mode, $fn));
+                       }
                    }
                 } elsif (-f _) {
                     $ofnread= "$origdir/$fn";