diff options
author | Karl Berry <karl@freefriends.org> | 2012-10-21 00:05:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-10-21 00:05:13 +0000 |
commit | ed7f9d1b31e010c54e353fd28da8a1fca34ee51f (patch) | |
tree | 7ef3bb80c3404ada413eecb65322736f9013cefc /Build | |
parent | 5ffb4c20aaabde2cc7f9444eda638193c26cc8e1 (diff) |
new script adhocfilelist (20oct12), and handle both bin and nobin scripts in .tds.zip
git-svn-id: svn://tug.org/texlive/trunk@28038 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
4 files changed, 220 insertions, 5 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.am b/Build/source/texk/texlive/linked_scripts/Makefile.am index a182b141cf6..b5fbd71a0e7 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.am +++ b/Build/source/texk/texlive/linked_scripts/Makefile.am @@ -65,6 +65,7 @@ nobase_dist_texmf_scripts_SCRIPTS = \ texmf_dist_scriptsdir = $(datarootdir)/texmf-dist/scripts texmf_dist_shell_scripts = \ + adhocfilelist/adhocfilelist.sh \ bibexport/bibexport.sh \ installfont/installfont-tl \ latexfileversion/latexfileversion \ diff --git a/Build/source/texk/texlive/linked_scripts/Makefile.in b/Build/source/texk/texlive/linked_scripts/Makefile.in index c7958bf44c5..0d7dedf2f8b 100644 --- a/Build/source/texk/texlive/linked_scripts/Makefile.in +++ b/Build/source/texk/texlive/linked_scripts/Makefile.in @@ -254,6 +254,7 @@ nobase_dist_texmf_scripts_SCRIPTS = \ texmf_dist_scriptsdir = $(datarootdir)/texmf-dist/scripts texmf_dist_shell_scripts = \ + adhocfilelist/adhocfilelist.sh \ bibexport/bibexport.sh \ installfont/installfont-tl \ latexfileversion/latexfileversion \ diff --git a/Build/source/texk/texlive/linked_scripts/adhocfilelist/adhocfilelist.sh b/Build/source/texk/texlive/linked_scripts/adhocfilelist/adhocfilelist.sh new file mode 100755 index 00000000000..d8b28bd48d4 --- /dev/null +++ b/Build/source/texk/texlive/linked_scripts/adhocfilelist/adhocfilelist.sh @@ -0,0 +1,212 @@ +#!/bin/sh +## +## \ProvidesFile{adhocfilelist.sh} +## [2012/10/17 v0.7 command line -> \string\listfiles +## \space(UL)] +## +## (C) 2012 Uwe Lück LaTeX Project Public License +## +## essential part of the `myfilist' script: +#adhoc_head='mylshead' +## original idea: read standard file; now contained here instead: +adhoc_head='\\RequirePackage{myfilist}[2012/10/11]\\EmptyFileList'; +## standard settings for `find': +adhoc_find_std='-name \*.tex' +add_type () { + adhoc_find_std="$adhoc_find_std -o -name \*.$1" +} +add_type sty; add_type cfg; add_type cls; +add_type dtx; add_type def; add_type fd; +adhoc_find_std="-follow -maxdepth 1 ( $adhoc_find_std )" +#echo adhoc_find_std = $adhoc_find_std +## standard action (v0.7): +adhoc_fmt_std=',%f' +adhoc_fmt=$adhoc_fmt_std +## +## reduce code for help screen: +opt_help () { + echo \ \ \ \ \ \ \ \ \ \ "$@" +}; +## reporting detected options: +opt_log () { + echo + adhocfilelist + "$@" + +} +## looking for options: +#while getopts "fF:hl:n:s:t:" optname +## one-letter options only, for distinguishing from `find' criteria +## (learnt from "Optionen ermitteln" by Jürgen Plate on +## http://www.netzmafia.de/skripten/unix/unix8.html) +optname='hh'; ## somewhat misused for controlling +while [ $optname ] ; ## the loop that processes options + do + #case $optname in## original code for getopts + case $1 in + -h) ## help screen + optname='h' ## flag for avoiding main function + echo; echo; echo; echo; + echo =\ +===============================================================================; + echo + #echo "\`adhocfilelist.sh' varies LaTeX's \\listfiles to produce"\ + # a stand-alone + #echo list of \\Provides... contents on screen\ + # 'and optionally in a text file,' + echo "\`adhocfilelist.sh' varies LaTeX's \\listfiles to produce"\ + a stand-alone list of + echo \\Provides... contents \for \files typed explicitly\ + or found by the \`\find\' utility. + echo USAGE: \ \ \ [PATH]adhocfilelist.sh [-OPTIONS] [FILES] + echo options: ' -0 files modified today,'\ + 'in addition to -g'; ## v0.5 + opt_help -a '$ files modified $ days ago (or like -mtime $,'\ + 'cf. -0)' ## v0.5 + opt_help -c ' compare info with modification dates (filedate.sty)' + ## v0.7 + opt_help -f ' read FILES as `find'"' options and tests "\ + ' ('"'"'\\*.tex'"')" + #' \(\\\\\\*.tex\)' + opt_help -F '$ read (first) `find'"' options/tests from file $"\ + ' (\\*.tex)' + opt_help -g ' add FILES to standard `find'"' restrictions (cf. -f)" + opt_help -h ' help display (what you are seeing)' + opt_help -i '$ input TeX file $ (maybe for more'\ + "\`nicefilelist' settings," ## was -m before v0.5 + opt_help ' '\ + ' cf.' \`myfilist\' 'v0.5 documentation)' + opt_help -l '$ maximum (base) filename length for'\ + "\`longnamefilelist.sty'" + opt_help -n '$ longest (base) filename for `nicefilelist.sty'\'\ + '(or ".")' + opt_help -o '$ write list to plain text file $' + opt_help -x ' use `xelatex'\' + echo Without '`find'\'', FILES is a comma-separated'\ + list of \file names. + echo Without -l or -n, \`myfilist.sty\' is used. For background\ + '(e.g., mentioned' + echo '*.sty files), see latexfileinfo_pkgs.htm'\ + 'from package latexfileinfo-pkgs,' + echo + opt_help http://ctan.org/pkg/latexfileinfo-pkgs + echo + echo =\ +===============================================================================; + echo; + break; + ;; + ## options for real output: + -0) ## was -2 in v0.5 + adhoc_day='0' + adhoc_find='\UseFindUtility' + opt_log looking \for files modified today, using standard settings + ## <- plural missing 2012-10-17 + shift;; + -a) ## was -d in v0.4 + adhoc_day="$2" + adhoc_find='\UseFindUtility' + opt_log looking \for files modified $2 days ago,\ + using standard settings + shift 2;; + -c) ## v0.7 + adhoc_find='\UseFindUtility' + adhoc_fmt='\\ReadCheckDateOf{%f}{%TY/%Tm/%Td}' + shift;; + -f) + adhoc_find='\UseFindUtility' + adhoc_find_std='' + opt_log expecting \find utility, adding nothing + shift;; + -F) + adhoc_find='\UseFindUtility' + adhoc_find_file="$2" + opt_log reading \find criteria from $adhoc_find_file + shift 2;; + -g) ##v0.5 + adhoc_find='\UseFindUtility' + opt_log expecting \find utility, using standard settings + shift;; + -i) ## was -m) before v0.5 + adhoc_head="\\input{$2}" ## \input allows -l/-n + opt_log formatting by $adhoc_head + shift 2;; + -l) + adhoc_head="\\RequirePackage{longnamefilelist} + \listfiles[$2] + $adhoc_head" ## default or -i + ## v0.6 not using \MaxLengthEmptyList thinking of -i ... + opt_log formatting with \`longnamefilelist\',\ + max. name length $2 + shift 2;; + -n) + if [ $2 = . ]; then + set z abcdefgh; + fi ## v0.5 + adhoc_head="\\RequirePackage{nicefilelist} + \\MFfieldtemplate{f-base}{$2} + $adhoc_head" + ## v0.6 not using \MaxBaseEmptyList thinking of -i ... + opt_log formatting with \`nicefilelist\',\ + template \`$2\' + shift 2;; + -o) + adhoc_target="[$2]" + adhoc_head="${adhoc_head} + \\def\\ListGenerator{^^J by adhocfilelist.sh^^J}" + opt_log writing list to $2 ## still was $OPTARG before v0.7 + shift 2;; + -x) ## v0.7 + adhoc_xe='xe' + opt_log using xelatex + shift;; + *) optname='' ## terminate loop + esac + done +## options parsed, now proceed accordingly: +if [ "$optname" != "h" ]; ## on -h, nothing more to do + then + ## processing remaining arguments: + if [ $adhoc_find ]; + then ## as `find' input + if [ $adhoc_find_file ]; then + ## bashref command substitution: + #adhoc_file_find=$(< $adhoc_find_file) ## bad + #adhoc_file_find=$(cat $adhoc_find_file) ## good + adhoc_file_find=`cat $adhoc_find_file` ## good + ## <- Jürgen Plate 8.3.1: + ## http://www.netzmafia.de/skripten/unix/unix8.html + #echo In file: $adhoc_file_find + else + adhoc_file_find="$adhoc_find_std" + fi + #echo adhoc_file_find = $adhoc_file_find; ## rm. 2012/10/15 + if [ $adhoc_day ]; then + #adhoc_file_find="$adhoc_file_find ## bad before $@ + # -daystart + # -mtime $adhoc_day" + adhoc_day="-daystart -mtime $adhoc_day" + fi + echo \find criteria: $adhoc_file_find $@ $adhoc_day; ## in 2012/10/15 + adhoc_files="$(find $adhoc_file_find $@ $adhoc_day\ + -printf "$adhoc_fmt" )" + else ## as list of file names + #adhoc_files="$@" ## works too + adhoc_files="$*" + fi + echo Files: $adhoc_files + ## run latex with generated list of files, unless empty: + #if [ $adhoc_files ]; then ## bad with $@/$* + if [ ! -z "$adhoc_files" ]; then + if [ "$adhoc_fmt" = "$adhoc_fmt_std" ]; then + adhoc_list="\\ReadListFileInfos$adhoc_target{$adhoc_files}" + else + adhoc_list="\\RequirePackage{filedate}\\EmptyFileList\\ModDates + $adhoc_files \\ListInfos$adhoc_target\\\\relax" + fi + #echo TeX Code: + #echo $adhoc_head $adhoc_find \\NoBottomLines $adhoc_list + #echo $adhoc_head $adhoc_find \\NoBottomLines $adhoc_list > adhoclsi.tex + #latex adhoclsi.tex + ${adhoc_xe}latex $adhoc_head $adhoc_find \\NoBottomLines $adhoc_list + else + echo No files. Type adhocfilelist.sh -h \for usage. + fi ## <- v0.5 +fi diff --git a/Build/source/texk/texlive/linked_scripts/tetex/updmap.pl b/Build/source/texk/texlive/linked_scripts/tetex/updmap.pl index f448251a590..78830d5a83b 100755 --- a/Build/source/texk/texlive/linked_scripts/tetex/updmap.pl +++ b/Build/source/texk/texlive/linked_scripts/tetex/updmap.pl @@ -169,6 +169,7 @@ sub main { if ($opts{'_readsave'}) { read_updmap_files($opts{'_readsave'}); + merge_settings_replace_kanji(); print "READING DONE ============================\n"; #print Dumper($alldata); $alldata->{'updmap'}{$opts{'_readsave'}}{'changed'} = 1; @@ -355,6 +356,7 @@ sub main { read_updmap_files(@{$opts{'cnffile'}}); if ($opts{'showoption'}) { + merge_settings_replace_kanji(); for my $o (@{$opts{'showoption'}}) { if (defined($settings{$o})) { my ($v, $vo) = get_cfg($o); @@ -368,6 +370,7 @@ sub main { } if ($opts{'listmaps'}) { + merge_settings_replace_kanji(); for my $m (keys %{$alldata->{'maps'}}) { my $origin = $alldata->{'maps'}{$m}{'origin'}; print $alldata->{'updmap'}{$origin}{'maps'}{$m}{'type'}, " $m ", @@ -383,6 +386,7 @@ sub main { my $changed = 0; if ($opts{'syncwithtrees'}) { + merge_settings_replace_kanji(); my @missing = read_map_files(); if (@missing) { print "Missing map files found, disabling\n"; @@ -457,6 +461,7 @@ sub main { setupOutputDir("pdftex"); setupOutputDir("dvipdfmx"); setupOutputDir("pxdvi"); + merge_settings_replace_kanji(); my @missing = read_map_files(); if (@missing) { print STDERR "\nERROR: The following map file(s) couldn't be found:\n"; @@ -1248,7 +1253,6 @@ sub enable_disable_maps { disable_map($tc, $w); } } - merge_settings(); return save_updmap($tc); } @@ -1618,12 +1622,9 @@ sub read_updmap_files { } # $alldata->{'order'} = \@l; - - # merge data and check for kanji embed - merge_settings(); } -sub merge_settings { +sub merge_settings_replace_kanji { # my @l = @{$alldata->{'order'}}; # |