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

New make is breaking several packages

Just a heads up to all packagers out there that I've been seeing a number of 
build failures similar to this one (randomly selected from gsfonts-x11):

perl -e 'my $lines=""; my $count=0; \
                 while (<>) { \
                    next if /^\d+$/; \
                    $lines.=$_; $count++; \
                    if(/iso8859-1/) { \
                       s/iso8859-1/iso8859-2/g; \
                       $lines.=$_; $count++; \
                       s/iso8859-2/iso8859-15/g; \
                       $lines.=$_; $count++; \
                    } \
                 } \
                 print "$count\n$lines";' \
                 < fonts.scale \
                 > `pwd`/debian/gsfonts-x11/etc/X11/fonts/Type1/[longline]
syntax error at -e line 2, near "while"
syntax error at -e line 5, near "if"
syntax error at -e line 10, near "}"
Execution of -e aborted due to compilation errors.
make: *** [install] Error 255

This is due to changes in make 3.80+3.81.b3-1 concerning how the lines are 
passed to the shell.  Previously, they would be concatenated; now they are 
passed verbatim to the shell, backslashes and newlines included (minus the 
first tab on each line).

One way to fix this is to rewrite the above as:

perl -e 'my $lines=""; my $count=0; '\
        '         while (<>) { '\
        '            next if /^\d+$/; '\
        '            $lines.=$_; $count++; '\
        '         print "$count\n$lines";' \
                 < fonts.scale \
                 > `pwd`/debian/gsfonts-x11/etc/X11/fonts/Type1/[longline]
That way the shell sees a list of strings with no spaces between them, so it 
concatenates all of them together before passing them to perl.

I'll probably start filing bugs about this about the beginning of next year, 
when I return from holidays.  In the meantime, here's a list of some packages 
I've run into this with, which is by no means complete:

psmisc (and I notice the buildds choke on the recent upload too)
Daniel Schepler

Reply to: