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: