On Thu, Sep 25, 2003 at 06:43:40PM +0400, Alexey Tourbin wrote: > > faces-1.6.1-ipl15mdk > > Can't emulate -P on #! line at /usr/src/RPM/tmp/faces-buildroot/usr/bin/from.faces line 1. > /usr/src/RPM/tmp/faces-buildroot/usr/bin/from.faces: deparse failed. > > Специфическая ошибка, над которой я подумаю. Для этого пункта исправление готово (rpm-build-perl). faces теперь собирается. PS: всё-таки хочется иметь отдельное кэширование в hasher'е для --no-stuff и собственно stuff. * Fri Sep 26 2003 Alexey Tourbin 0.1-alt3 - handling of #!perl command line options implemented --- /usr/lib/rpm/perl.req 2003-09-23 15:25:25 +0400 +++ RPM/SOURCES/rpm-perl.req 2003-09-26 18:24:15 +0400 @@ -251,8 +251,21 @@ # use Fcntl; # fcntl(STDERR, F_SETFD, 1) if !$debug && $method eq 'relaxed'; +# look for #!/usr/bin/perl command line options + open (FILE, "<", $fname) or die; + my $shebang = ; + chomp $shebang; + close FILE; + my @argv; + if ($shebang =~ s/^#!\s*\S*perl\S*\s*// && $shebang) { + local $_ = $shebang; + @argv = grep { $_ ne "--" } split; + } + # deparse - open(PIPE, "-|", $^X, "-t", "-MO=Deparse", (map { "-I$_" } @inc), "--", $fname) or die; + my @pipe = ($^X, @argv, "-MO=Deparse", (map { "-I$_" } @inc), "--", $fname); + debug("pipe: @pipe"); + open(PIPE, "-|", @pipe) or die; while () { last if /^__(DATA|END)__/; process_line($_);