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

Re: Off to several trips



Norbert Preining <preining@logic.at> wrote:

> Hi guys, 
>
> I am off for several trips within Japan and to Europe, being fully
> available only after the 10 April again. Hope in the meantime there
> is some activity ;-)
>
> Frank ... did you commit your libpaper stuff???

Maybe too late. If mail helps, here's the new script, to be shipped in
texlive-nonbin/trunk/texlive-base/debian/texlive-base.root/usr/share/texlive-base/,
the new

and the diff to texlive-base.libpaper

Regards, Frank

--- texlive2012/texlive-nonbin/trunk/texlive-base/debian/texlive-base.libpaper	2012/02/17 06:41:24	5047
+++ texlive2012/texlive-nonbin/trunk/texlive-base/debian/texlive-base.libpaper	2012/03/18 20:42:17	5219
@@ -28,10 +28,14 @@
 . /usr/share/debconf/confmodule
 db_version 2.0
 
-dvips=$(texconfig-sys dvips paperconf)
-xdvi=$(texconfig-sys xdvi paperconf)
-pdftex=$(texconfig-sys pdftex paperconf)
-dvipdfmx=$(texconfig-sys dvipdfmx paperconf)
+path="/home/frank/src/Packages/texlive2012/texlive-nonbin/trunk/texlive-base/debian/texlive-base.root/usr/share/texlive-base/"
+#path=/usr/share/texlive-base
+paper_prg=$path/tl-paper.pl
+
+dvips=$($paper_prg get dvips)
+xdvi=$($paper_prg get xdvi)
+pdftex=$($paper_prg get pdftex)
+dvipdfmx=$($paper_prg get dvipdfmx)
 
 LibpaperPaper=$(paperconf)
 
@@ -47,7 +51,7 @@
   if [ $dvips = $LibpaperPaper ]; then
     exit 0
   else
-    if texconfig-sys paper $LibpaperPaper; then
+    if $paper_prg set all $LibpaperPaper; then
       # all is well
       exit 0
     else
@@ -85,8 +89,12 @@
   IFS=$OLD_IFS
 
   for binary in "$@"; do
-    if texconfig-sys $binary paper $LibpaperPaper; then
+    if $paper_prg list $binary | grep "^$LibpaperPaper\$"; then
+      # use this instead once set has a proper return code
+      # if $paper_prg set $binary $LibpaperPaper; then 
+
       # all is well
+      $paper_prg set $binary $LibpaperPaper
       :
     else
       db_subst texlive-base/texconfig_ignorant binary "$binary"


-- 
Frank Küster
Sprecher B90/Grüne OV Miltenberg und Umgebung
VCD Miltenberg, ADFC Aschaffenburg-Miltenberg
Debian Developer (TeXLive)

#!/usr/bin/perl

BEGIN {
  $^W = 1;
  chomp ($mydir = `dirname $0`);
  unshift (@INC, "/usr/share/texlive/tlpkg");

  # for TESTING ONLY
  unshift (@INC, "/src/TeX/texlive-svn/Master/tlpkg");
}

$^W = 1;
use strict;
use Cwd qw/abs_path/;
use Pod::Usage;
use Getopt::Long qw(:config no_autoabbrev permute);
use TeXLive::TLPaper;

binmode(STDOUT, ":utf8");
binmode(STDERR, ":utf8");


&main();

sub main {
  # the script always runs in sys mode
  chomp(my $texmfsysconfig = `kpsewhich -var-value=TEXMFSYSCONFIG`);
  chomp(my $texmfsysvar = `kpsewhich -var-value=TEXMFSYSVAR`);
  $ENV{"TEXMFCONFIG"} = $texmfsysconfig;
  $ENV{"TEXMFVAR"} = $texmfsysvar;

  my $action = shift @ARGV;
  if ($action =~ m/^status$/i) {  # "tl-paper status" shows the current settings
    TeXLive::TLPaper::paper_all($texmfsysconfig,undef);
    
  } elsif ($action =~ m/^list$/i) { # "tl-paper list prg" lists options for prg
    my $prg = shift @ARGV;
    if (!$prg) {
      usage();
      exit 1;
    }
    # the following actually also *reads* the configuration and returns
    # a list where the first item is the one selected.
    my ($current_paper, @other_options) = TeXLive::TLPaper::get_paper_list($prg);
    for my $i ($current_paper, sort @other_options) {
      print "$i\n";
    }
    # for simply getting the list of supported paper sizes without reading
    # anything, one can use:
    # my @paper_options = keys(%{${prg}_papersize});

  } elsif ($action =~ m/^set$/i) { # "tl-paper set <prg|all> <paper>" sets paper
    my $prg = shift @ARGV;
    my $newpaper = shift @ARGV;

    if ($prg !~ m/^(xdvi|pdftex|dvips|dvipdfmx|dvipdfm|context|all)$/i) {
      usage();
      exit 1;
    }
    if ($prg =~ m/^all$/i) {
      if ($newpaper !~ /^(a4|letter)$/) {
        # we cannot deal with that for now, only a4|letter supported for
        # all programs
        usage();
        exit 1;
      }
      TeXLive::TLPaper::paper_all($texmfsysconfig,$newpaper);
    
    } else {
      TeXLive::TLPaper::do_paper($prg,$texmfsysconfig,$newpaper);
    }
  
  } elsif ($action =~ m/^get$/i) { # "tl-paper get prg" gets paper setting for prg
    my $prg = shift @ARGV;
    if ($prg !~ m/^(xdvi|pdftex|dvips|dvipdfmx|dvipdfm|context)$/i) {
      usage();
      exit 1;
    }
    my ($current_paper, @other_options) = TeXLive::TLPaper::get_paper_list($prg);
    print "$current_paper\n";
    
  } else {
    usage();
    exit 1;
  }
  exit 0;
}

sub usage {
  print STDERR "
tl-paper: inquire and set paper settings for various programs in the TeX World.


usage:
  tl-paper list <program>     lists available papers, current paper first
  tl-paper status             lists all current settings
  tl-paper get <program>      prints the current paper for <program>
  tl-paper set <program> <newpaper>    sets new paper for <program>
  tl-paper set all <a4|letter>         sets new paper for all programs

";
}



### Local Variables:
### perl-indent-level: 2
### tab-width: 2
### indent-tabs-mode: nil
### End:
# vim:set tabstop=2 expandtab: #
After a change, repeat a "sensible" subset of already successful
tests. When all is supposed to be finished, repeat the whole set.

For a test to pass, the following must work: 

Install, test papersize settings, remove, install, test papersize
settings, purge

DEBIAN_FRONTEND must be readline; messages must be readable and make
sense

Version tl-base:       	~14
	tl-bin	       	6
1			
Build:		       	
2
Clean Install	       	
w/o libpaper	       
3
Clean Install	       	
libpaper = a4
4
Clean Install	        
libpaper = letter	
5
Clean Install		
libpaper = Monarch
5a) noninteractive	
5b) readline(1st install),dialog(reinstall)
			

6
Install,remove,
change libpaper,
install
6a) noninteractive,letter
			
6b) dialog, Monarch	
7
Upgrade from sid,	
no libpaper
8
Upgrade from sid,	
("Replacing although the files differ")
libpaper = a4
9
Upgrade from sid,	
libpaper = letter

10
Upgrade from sid
libpaper = Monarch
10a) noninteractive	
10b) dialog		

11
Upgrade from sid,
libpaper = letter	
dvipspaper = letter

12
Upgrade from sid,	
libpaper = letter
pdftexpaper = letter

13
Upgrade from sid,	
libpaper = letter
dvipdfmxpaper = letter

14
Upgrade from sid,	
libpaper = letter
xdvipaper = letter

15
Upgrade from sid	
libpaper = Monarch
dvipspaper = letter

16
Upgrade from sid,
non-paper-change in config.ps

17
Upgrade from sid,
force somefile.ucf-dist,
check correct removal upon purge



Reply to: