]> git.donarmstrong.com Git - debhelper.git/blobdiff - Debian/Debhelper/Dh_Lib.pm
r518: * dh_movefiles has long been a sore point in debhelper. Inherited
[debhelper.git] / Debian / Debhelper / Dh_Lib.pm
index 53e86eb91d7ab663cf440d7ff7023268f3a7879e..0aa883b1f3214e6b6acda5df7de295a6075cf165 100644 (file)
@@ -83,7 +83,7 @@ sub init {
 
 # Pass it an array containing the arguments of a shell command like would
 # be run by exec(). It turns that into a line like you might enter at the
-# shell, escaping metacharacters and quoting qrguments that contain spaces.
+# shell, escaping metacharacters and quoting arguments that contain spaces.
 sub escape_shell {
        my @args=@_;
        my $line="";
@@ -388,7 +388,7 @@ sub addsubstvar {
        my $ext=pkgext($package);
        my $substvarfile="debian/${ext}substvars";
        my $str=$deppackage;
-       $str.=" ($verinfo)" if length $verinfo;
+       $str.=" ($verinfo)" if defined $verinfo && length $verinfo;
 
        # Figure out what the line will look like, based on what's there
        # now, and what we're to add or remove.
@@ -422,17 +422,19 @@ sub addsubstvar {
        }
 }
 
-# Reads in the specified file, one word at a time, and returns an array of
-# the result. If a value is passed in as the second parameter, then glob
+# Reads in the specified file, one line at a time. splits on words, 
+# and returns an array of arrays of the contents.
+# If a value is passed in as the second parameter, then glob
 # expansion is done in the directory specified by the parameter ("." is
 # frequently a good choice).
-sub filearray {
+sub filedoublearray {
        my $file=shift;
        my $globdir=shift;
 
        my @ret;
        open (DH_FARRAY_IN, $file) || error("cannot read $file: $1");
        while (<DH_FARRAY_IN>) {
+               my @line;
                # Only do glob expansion in v3 mode.
                #
                # The tricky bit is that the glob expansion is done
@@ -441,18 +443,25 @@ sub filearray {
                if (defined $globdir && ! compat(2)) {
                        for (map { glob "$globdir/$_" } split) {
                                s#^$globdir/##;
-                               push @ret, $_;
+                               push @line, $_;
                        }
                }
                else {
-                       push @ret, split;
+                       @line = split;
                }
+               push @ret, [@line];
        }
        close DH_FARRAY_IN;
        
        return @ret;
 }
 
+# Reads in the specified file, one word at a time, and returns an array of
+# the result. Can do globbing as does filedoublearray.
+sub filearray {
+       return map { @$_ } filedoublearray(@_);
+}
+
 # Passed a filename, returns true if -X says that file should be excluded.
 sub excludefile {
         my $filename = shift;