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

Re: advi as collective maintainership ?



On Wed, Jan 07, 2004 at 03:53:51AM +0100, Sven Luther wrote:
> Well, mostly bug reports, especially the state of the examples and such.
> There is also the idea Stefano suggested for gzipped .dvi support, or
> the camlzip solution to the same problem.

I don't remember if it's on the BTS or not, but I successfully use the
attached perl script to run advi on gzipped dvi. I think is suitable for
distribution, maybe just adding a signal handler which trigger deletion
of tempfiles at exit ...

Cheers.

PS really funny: this is the second time I sent this mail, the first one
   carried an advi.pl attachment which was rejected as dangerous by the
   mailing list manager

-- 
^Stefano Zacchiroli -- Master in Computer Science @ Uni. Bologna, Italy$
^zack@{cs.unibo.it,debian.org,bononia.it} -- http://www.bononia.it/zack$
^Frequentando il mio maestro mi ero reso conto [.] che la logica poteva$
^servire a molto a condizione di entrarci dentro e poi di uscirne -Adso$
#!/usr/bin/perl -w
use strict;

# Launcher script for advi with support for .gz and .bz2 files
# Copyright (C) 2003 Stefano Zacchiroli <zack@debian.org>
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# See /usr/share/common-licenses/GPL on a Debian GNU/Linux system.

my $advi = "/usr/bin/advi";
my $gunzip = "/bin/gunzip";
my $bunzip2 = "/usr/bin/bunzip2";
my @tempfiles = ();
for (my $i=0; $i<=$#ARGV; $i++) {
  if (-f $ARGV[$i] && $ARGV[$i] =~ /\.(gz|bz2)$/) {
    my $tmp = `tempfile -p advi_ -s .dvi`;
    chomp $tmp;
    push @tempfiles, $tmp;
    if ($ARGV[$i] =~ /\.gz$/) {
      if (-x $gunzip) {
        system "$gunzip -c $ARGV[$i] > $tmp";
      } else {
        print STDERR "Warning: can't find gunzip ($gunzip)\n";
      }
    } else { # ($ARGV[$i] =~ /\.bz2$/)
      if (-x $bunzip2) {
        system "$bunzip2 -c $ARGV[$i] > $tmp";
      } else {
        print STDERR "Warning: can't find bunzip2 ($bunzip2)\n";
      }
    }
    $ARGV[$i] = $tmp;
  }
}
my $retval = system $advi, @ARGV;
foreach my $tmp (@tempfiles) {
  unlink $tmp;
}
exit $retval;

Attachment: signature.asc
Description: Digital signature


Reply to: