#! /bin/perl # make TPM files for binaries # SPQR 2000/02/04 use English; use File::Basename; use File::Find; use Cwd; $Master="/texlive/Master"; $Coll{"pdfthumb"}="ppower4"; $Coll{"ppower4"}="ppower4"; $Coll{"ChkTeX"} ="tex-extrabin"; $Coll{"LATEX2E"} ="tex-latex"; $Coll{"MSVCR70"}="tex-basic"; $Coll{"MakeTeXPK"} ="tex-basic"; $Coll{"TEXSHELL"}="tex-basic"; $Coll{"TeXLive"}="tex-basic"; $Coll{"TeXSetup"} ="tex-basic"; $Coll{"TeXShell"}="tex-basic"; $Coll{"TeXShell"}="tex-basic"; $Coll{"TeXShell"}="tex-basic"; $Coll{"VisualPng"}="tex-basic"; $Coll{"a5bookle"} ="tex-extrabin"; $Coll{"access"} ="tex-basic"; $Coll{"afm2tfm"} ="tex-fontbin"; $Coll{"allcm"} ="tex-fontbin"; $Coll{"allec"} ="tex-fontbin"; $Coll{"allneeded"} ="tex-fontbin"; $Coll{"altpdfamstex"}="tex-basic"; $Coll{"altpdfcont-de"}="context"; $Coll{"altpdfcont-en"}="context"; $Coll{"altpdfcont-nl"}="context"; $Coll{"altpdfcontext"}="context"; $Coll{"altpdfelatex"}="tex-pdftex"; $Coll{"altpdfetex"}="tex-pdftex"; $Coll{"altpdflambda"}="tex-omega"; $Coll{"altpdflatex"}="tex-pdftex"; $Coll{"altpdfomega"}="tex-omega"; $Coll{"altpdftex"}="tex-pdftex"; $Coll{"amstex"} ="amstex"; $Coll{"bamstex"}="tex-basic"; $Coll{"bg5+latex"} ="cjk"; $Coll{"bg5conv"} ="cjk"; $Coll{"bg5latex"} ="cjk"; $Coll{"bg5pltx"} ="cjk"; $Coll{"bibtex"} ="tex-basic"; $Coll{"bibtex8"} ="bibtex8bit"; $Coll{"bmeps"}="tex-basic"; $Coll{"bplain"}="tex-basic"; $Coll{"buildhash"} ="tex-basic"; $Coll{"bz2lib"} ="bzip2"; $Coll{"bzip2"} ="bzip2"; $Coll{"bzip2recover"} ="bzip2"; $Coll{"cef5conv"} ="cjk"; $Coll{"cef5latex"} ="cjk"; $Coll{"cef5ltx"} ="cjk"; $Coll{"cefconv"} ="cjk"; $Coll{"ceflatex"} ="cjk"; $Coll{"cefsconv"} ="cjk"; $Coll{"cefslatex"} ="cjk"; $Coll{"cefsltx"} ="cjk"; $Coll{"cjklatex"} ="cjk"; $Coll{"cjpeg"} ="tex-basic"; $Coll{"cont-cz"}="context"; $Coll{"cont-de"} ="context"; $Coll{"cont-en"} ="context"; $Coll{"cont-nl"} ="context"; $Coll{"cont-uk"}="context"; $Coll{"context"}="context"; $Coll{"cslatex"} ="cslatex"; $Coll{"cslatexd"} ="cslatex"; $Coll{"cslatexi"} ="cslatex"; $Coll{"cslatexk"} ="cslatex"; $Coll{"csplain"} ="csplain"; $Coll{"csplaind"} ="csplain"; $Coll{"csplaini"} ="csplain"; $Coll{"csplaink"} ="csplain"; $Coll{"ctangle"}="tex-basic"; $Coll{"ctangle"}="tex-basic"; $Coll{"curl"}="tex-basic"; $Coll{"cweave"}="tex-extrabin"; $Coll{"cyramstex"}="tex-langcyrillic"; $Coll{"cyrlatex"}="tex-langcyrillic"; $Coll{"cyrtex"}="tex-langcyrillic"; $Coll{"cyrtexinfo"}="tex-langcyrillic"; $Coll{"detex"}="tex-basic"; $Coll{"devnag"}="tex-langindic"; $Coll{"dialog"} ="tex-basic"; $Coll{"disdvi"} ="tex-basic"; $Coll{"djpeg"} ="tex-basic"; $Coll{"dmp"} ="tex-extrabin"; $Coll{"doubside"} ="tex-basic"; $Coll{"dt2dv"} ="tex-extrabin"; $Coll{"dv2dt"} ="tex-extrabin"; $Coll{"dvi2fax"} ="tex-basic"; $Coll{"dvi2tty"} ="tex-basic"; $Coll{"dvibook"} ="tex-extrabin"; $Coll{"dviconcat"} ="tex-extrabin"; $Coll{"dvicopy"} ="tex-basic"; $Coll{"dvidvi"} ="tex-extrabin"; $Coll{"dvihp"} ="tex-basic"; $Coll{"dvilj"} ="tex-basic"; $Coll{"dvilj2p"} ="tex-basic"; $Coll{"dvilj4"} ="tex-basic"; $Coll{"dvilj4l"} ="tex-basic"; $Coll{"dvilj6"} ="tex-basic"; $Coll{"dvipdft"} ="dvipdfm"; $Coll{"dvipdfm"} ="dvipdfm"; $Coll{"dvips"} ="dvips"; $Coll{"dvired"} ="tex-basic"; $Coll{"dviselect"} ="tex-extrabin"; $Coll{"dvitodvi"} ="tex-extrabin"; $Coll{"dvitomp"} ="metapost"; $Coll{"dvitype"} ="tex-extrabin"; $Coll{"e2pall"} ="tex-pdftex"; $Coll{"ebb"} ="dvipdfm"; $Coll{"einitex"} ="tex-etex"; $Coll{"elatex"} ="tex-etex"; $Coll{"eomega"}="tex-omega"; $Coll{"eplain"} ="eplain"; $Coll{"epsffit"} ="psutils"; $Coll{"epstopdf"} ="tex-pdftex"; $Coll{"etex"} ="tex-etex"; $Coll{"evirtex"} ="tex-etex"; $Coll{"exp-macr"} ="tex-basic"; $Coll{"expat"}="tex-basic"; $Coll{"extconv"} ="cjk"; $Coll{"extractres"} ="psutils"; $Coll{"f_name"} ="tex-extrabin"; $Coll{"fdf2tan"}="tex-basic"; $Coll{"fixdlsrps"} ="psutils"; $Coll{"fixfmps"} ="psutils"; $Coll{"fixmacps"} ="psutils"; $Coll{"fixpsditps"} ="psutils"; $Coll{"fixpspps"} ="psutils"; $Coll{"fixscribeps"} ="psutils"; $Coll{"fixtpps"} ="psutils"; $Coll{"fixwfwps"} ="psutils"; $Coll{"fixwpps"} ="psutils"; $Coll{"fixwwps"} ="psutils"; $Coll{"fmtutil"} ="tex-basic"; $Coll{"fontexport"} ="tex-fontbin"; $Coll{"fontimport"} ="tex-fontbin"; $Coll{"fontinst"} ="tex-fontbin"; $Coll{"freetype"}="tex-basic"; $Coll{"frlatex"} ="tex-langfrench"; $Coll{"frpdflatex"}="tex-basic"; $Coll{"frpdftex"}="tex-basic"; $Coll{"frtex"} ="tex-langfrench"; $Coll{"gbklatex"} ="cjk"; $Coll{"getafm"} ="tex-fontbin"; $Coll{"geturl"} ="tex-basic"; $Coll{"gftodvi"} ="tex-fontbin"; $Coll{"gftopk"} ="tex-basic"; $Coll{"gftype"} ="tex-fontbin"; $Coll{"giftopng"} ="xmltex"; $Coll{"gnuclient"} ="tex-basic"; $Coll{"gnuclientw"} ="tex-basic"; $Coll{"gnudoit"} ="tex-basic"; $Coll{"gsftopk"} ="tex-basic"; $Coll{"gunzip"} ="tex-basic"; $Coll{"gzip"} ="tex-basic"; $Coll{"hbf2gf"} ="cjk"; $Coll{"ht"} ="tex4ht"; $Coll{"htlatex"} ="tex4ht"; $Coll{"mk4ht"} ="tex4ht"; $Coll{"httex"} ="tex4ht"; $Coll{"httexi"} ="tex4ht"; $Coll{"hugelatex"} ="tex-latex"; $Coll{"hugetex"} ="tex-basic"; $Coll{"icombine"} ="tex-basic"; $Coll{"ijoin"} ="tex-basic"; $Coll{"includeres"} ="psutils"; $Coll{"info"} ="texinfo"; $Coll{"infokey"}="texinfo"; $Coll{"inimf"} ="tex-basic"; $Coll{"inimpost"} ="metapost"; $Coll{"iniomega"} ="tex-omega"; $Coll{"inipdftex"} ="tex-pdftex"; $Coll{"initex"} ="tex-basic"; $Coll{"install-info"} ="texinfo"; $Coll{"ispell"} ="tex-extrabin"; $Coll{"itrans"}="tex-langindic"; $Coll{"jadetex"} ="jadetex"; $Coll{"jpeg2ps"} ="tex-basic"; $Coll{"jpegtran"} ="tex-basic"; $Coll{"kpathsea"} ="tex-basic"; $Coll{"kpathsea.lib"}="tex-basic"; $Coll{"kpsecheck"}="tex-basic"; $Coll{"kpsepath"} ="tex-basic"; $Coll{"kpsestat"} ="tex-basic"; $Coll{"kpsetool"} ="tex-basic"; $Coll{"kpsewhich"} ="tex-basic"; $Coll{"kpsexpand"} ="tex-basic"; $Coll{"lacheck"} ="tex-extrabin"; $Coll{"lambda"} ="tex-omega"; $Coll{"latex"} ="tex-latex"; $Coll{"latex2html"}="tex-basic"; $Coll{"libcurl"}="tex-basic"; $Coll{"libgifreader"} ="tex-basic"; $Coll{"libjpeg"} ="tex-basic"; $Coll{"libmktex"}="tex-basic"; $Coll{"libpng"} ="tex-basic"; $Coll{"libtiff"} ="tex-basic"; $Coll{"libttf"} ="tex-ttfutils"; $Coll{"libwww"}="tex-basic"; $Coll{"lnexe"} ="tex-basic"; $Coll{"ltx2rtf"} ="tex-extrabin"; $Coll{"mag"} ="tex-extrabin"; $Coll{"makeindex"} ="tex-basic"; $Coll{"makeinfo"} ="tex-basic"; $Coll{"makempx"} ="tex-basic"; $Coll{"makempy"}="tex-basic"; $Coll{"metafun"}="metapost"; $Coll{"mex"} ="mex"; $Coll{"mex-pl"}="tex-langpolish"; $Coll{"mf"} ="tex-basic"; $Coll{"mf-nowin"}="tex-basic"; $Coll{"mft"} ="tex-fontbin"; $Coll{"mfw"} ="tex-basic"; $Coll{"mkfontdesc"} ="tex-basic"; $Coll{"mkindex"} ="tex-basic"; $Coll{"mkocp"} ="tex-omega"; $Coll{"mkofm"} ="tex-omega"; $Coll{"mktex"} ="tex-basic"; $Coll{"mktexdir"} ="tex-basic"; $Coll{"mktexfmt"}="tex-basic"; $Coll{"mktexlsr"} ="tex-basic"; $Coll{"mktexmf"} ="tex-basic"; $Coll{"mktexnam"} ="tex-basic"; $Coll{"mktexpk"} ="tex-basic"; $Coll{"mktextex"}="tex-basic"; $Coll{"mktextfm"} ="tex-basic"; $Coll{"mktexupd"} ="tex-basic"; $Coll{"mllatex"} ="mltex"; $Coll{"mltex"} ="mltex"; $Coll{"mmafm"}="tex-fontbin"; $Coll{"mmpfb"}="tex-fontbin"; $Coll{"mpost"} ="metapost"; $Coll{"mpto"} ="metapost"; $Coll{"mptopdf"}="tex-basic"; $Coll{"musixflx"} ="musixtex"; $Coll{"newer"} ="tex-basic"; $Coll{"nts"}="ntsbase"; $Coll{"odvicopy"} ="tex-omega"; $Coll{"odvips"} ="tex-omega"; $Coll{"odvitype"} ="tex-omega"; $Coll{"ofm2opl"} ="tex-omega"; $Coll{"omega"} ="tex-omega"; $Coll{"omfonts"} ="tex-omega"; $Coll{"opl2ofm"} ="tex-omega"; $Coll{"otangle"} ="tex-omega"; $Coll{"otp2ocp"} ="tex-omega"; $Coll{"outocp"} ="tex-omega"; $Coll{"ovf2ovp"} ="tex-omega"; $Coll{"ovp2ovf"} ="tex-omega"; $Coll{"owindvi"} ="tex-omega"; $Coll{"oxdvi"} ="tex-omega"; $Coll{"patgen"} ="tex-extrabin"; $Coll{"pdf2src"} ="tex-pdftex"; $Coll{"pdfclose"} ="tex-extrabin"; $Coll{"pdfclose"} ="tex-pdftex"; $Coll{"pdfcslatex"} ="cslatex"; $Coll{"pdfcslatexd"} ="cslatex"; $Coll{"pdfcslatexi"} ="cslatex"; $Coll{"pdfcslatexk"} ="cslatex"; $Coll{"pdfcsplain"} ="csplain"; $Coll{"pdfcsplaind"} ="csplain"; $Coll{"pdfcsplaini"} ="csplain"; $Coll{"pdfcsplaink"} ="csplain"; $Coll{"pdfdde"} ="tex-extrabin"; $Coll{"pdfeinitex"} ="tex-etex"; $Coll{"pdfelatex"} ="tex-etex"; $Coll{"pdfemex"}="tex-langpolish"; $Coll{"pdfemex-pl"}="tex-langpolish"; $Coll{"pdfetex"} ="tex-etex"; $Coll{"pdfevirtex"} ="tex-etex"; $Coll{"virpdfetex"} ="tex-etex"; $Coll{"inipdfetex"} ="tex-etex"; $Coll{"pdffonts"}="tex-basic"; $Coll{"olatex"}="tex-basic"; $Coll{"pdfimages"} ="tex-pdftex"; $Coll{"pdfinfo"} ="tex-pdftex"; $Coll{"pdfinitex"} ="tex-pdftex"; $Coll{"pdfjadetex"} ="jadetex"; $Coll{"pdflatex"} ="tex-pdftex"; $Coll{"pdfmex"} ="mex"; $Coll{"pdfmex-pl"}="tex-langpolish"; $Coll{"pdfopen"} ="tex-extrabin"; $Coll{"pdfplatex"} ="platex"; $Coll{"pdfplatex-pl"}="tex-langpolish"; $Coll{"pdftex"} ="tex-pdftex"; $Coll{"pdftexinfo"} ="texinfo"; $Coll{"pdftops"} ="tex-pdftex"; $Coll{"pdftosrc"} ="tex-pdftex"; $Coll{"pdftotext"} ="tex-pdftex"; $Coll{"pdfvirtex"} ="tex-pdftex"; $Coll{"pdfxmltex"} ="xmltex"; $Coll{"perl56"}="tex-basic"; $Coll{"pfb2pfa"} ="t1utils"; $Coll{"physe"} ="physe"; $Coll{"phyzzx"} ="phyzzx"; $Coll{"pk2bm"} ="tex-fontbin"; $Coll{"pkfix"} ="dvips"; $Coll{"pktogf"} ="tex-fontbin"; $Coll{"pktype"} ="tex-fontbin"; $Coll{"platex"} ="platex"; $Coll{"platex-pl"}="tex-langpolish"; $Coll{"pltotf"} ="tex-fontbin"; $Coll{"png2pnm"} ="tex-extrabin"; $Coll{"pnm2png"} ="tex-extrabin"; $Coll{"pooltype"} ="tex-extrabin"; $Coll{"ps2frag"} ="tex-extrabin"; $Coll{"ps2pk"} ="tex-fontbin"; $Coll{"psbook"} ="psutils"; $Coll{"pslatex"} ="tex-latex"; $Coll{"psmerge"} ="psutils"; $Coll{"psnup"} ="psutils"; $Coll{"psresize"} ="psutils"; $Coll{"psselect"} ="psutils"; $Coll{"pstoimg"}="tex-basic"; $Coll{"pstops"} ="psutils"; $Coll{"rdjpgcom"} ="tex-basic"; $Coll{"readlink"} ="tex-basic"; $Coll{"regex"} ="tex-basic"; $Coll{"rpng"} ="tex-extrabin"; $Coll{"rpng2"} ="tex-extrabin"; $Coll{"rubibtex"} ="cyrillic"; $Coll{"rumakeindex"} ="cyrillic"; $Coll{"runht"} ="tex4ht"; $Coll{"runperl"} ="tex-extrabin"; $Coll{"settcshtexpath"}="tex-basic"; $Coll{"settexpath"}="tex-basic"; $Coll{"showchar"} ="tex-extrabin"; $Coll{"sjisconv"} ="cjk"; $Coll{"sjislatex"} ="cjk"; $Coll{"sjisltx"} ="cjk"; $Coll{"sq"} ="tex-basic"; $Coll{"t1ascii"} ="t1utils"; $Coll{"t1asm"} ="t1utils"; $Coll{"t1binary"} ="t1utils"; $Coll{"t1disasm"} ="t1utils"; $Coll{"t1mac"} ="t1utils"; $Coll{"t1mapper"}="tex-basic"; $Coll{"t1unmac"} ="t1utils"; $Coll{"t4ht"} ="tex4ht"; $Coll{"tangle"} ="tex-extrabin"; $Coll{"tcdialog"}="tex-basic"; $Coll{"tex"} ="tex-basic"; $Coll{"tex4ht"} ="tex4ht"; $Coll{"texconfig"} ="tex-basic"; $Coll{"texdoc"} ="tex-basic"; $Coll{"texdoctk"} ="tex-basic"; $Coll{"texexec"} ="tex-basic"; $Coll{"texexpand"}="tex-basic"; $Coll{"texfind"}="tex-basic"; $Coll{"texfont"}="tex-basic"; $Coll{"texhash"} ="tex-basic"; $Coll{"texi2dvi"} ="texinfo"; $Coll{"texi2html"} ="texinfo"; $Coll{"texi2pdf"} ="texinfo"; $Coll{"texindex"} ="texinfo"; $Coll{"texinfo"} ="texinfo"; $Coll{"texlinks"} ="tex-basic"; $Coll{"texshow"} ="tex-basic"; $Coll{"texsis"} ="texsis"; $Coll{"text1"} ="text1"; $Coll{"texutil"} ="tex-basic"; $Coll{"tftopl"} ="tex-fontbin"; $Coll{"thaiconv"} ="cjk"; $Coll{"thumbpdf"} ="thumbpdf"; $Coll{"tie"} ="tex-extrabin"; $Coll{"tiff2png"} ="tex-pictures"; $Coll{"tl79bz2"}="tex-basic"; $Coll{"tl79etex"}="tex-etex"; $Coll{"tl79ft2"}="tex-basic"; $Coll{"tl79getu"}="tex-basic"; $Coll{"tl79geturl"}="tex-basic"; $Coll{"tl79jpeg"}="tex-basic"; $Coll{"tl79kpse"}="tex-basic"; $Coll{"tl79kpse.lib"}="tex-basic"; $Coll{"tl79mf"}="tex-basic"; $Coll{"tl79mktx"}="tex-basic"; $Coll{"tl79mp"}="tex-basic"; $Coll{"tl79omeg"}="tex-omega"; $Coll{"tl79pdfe"}="tex-pdftex"; $Coll{"tl79pdft"}="tex-pdftex"; $Coll{"tl79png"}="tex-basic"; $Coll{"tl79regex"}="tex-basic"; $Coll{"tl79regx"}="tex-basic"; $Coll{"tl79tex"}="tex-basic"; $Coll{"tl79ttf"}="tex-basic"; $Coll{"tl79unzp"}="tex-basic"; $Coll{"tl79xpat"}="tex-basic"; $Coll{"tl79zlib"}="tex-basic"; $Coll{"tl80bmeps"}="tex-basic"; $Coll{"tl80bz2"}="tex-basic"; $Coll{"tl80bzip2"}="tex-basic"; $Coll{"tl80eomega"}="tex-omega"; $Coll{"tl80etex"}="tex-etex"; $Coll{"tl80expat"}="tex-basic"; $Coll{"tl80ft2"}="tex-basic"; $Coll{"tl80getu"}="tex-basic"; $Coll{"vireomega"}="tex-omega"; $Coll{"inieomega"}="tex-omega"; $Coll{"tl80geturl"}="tex-basic"; $Coll{"tl80jpeg"}="tex-basic"; $Coll{"tl80kpse"}="tex-basic"; $Coll{"tl80kpse.lib"}="tex-basic"; $Coll{"tl80mf"}="tex-basic"; $Coll{"tl80mktex"}="tex-basic"; $Coll{"tl80mktx"}="tex-basic"; $Coll{"tl80mpost"}="metapost"; $Coll{"tl80omega"}="tex-omega"; $Coll{"tl80pdfetex"}="tex-pdftex"; $Coll{"tl80pdftex"}="tex-pdftex"; $Coll{"tl80png"}="tex-basic"; $Coll{"tl80regex"}="tex-basic"; $Coll{"tl80regx"}="tex-basic"; $Coll{"tl80tex"}="tex-basic"; $Coll{"tl80ttf"}="tex-basic"; $Coll{"tl80unzip"}="tex-basic"; $Coll{"tl80unzp"}="tex-basic"; $Coll{"tl80xpat"}="tex-basic"; $Coll{"tl80zlib"}="tex-basic"; $Coll{"ttf2afm"} ="tex-ttfutils"; $Coll{"ttf2pfb"} ="tex-ttfutils"; $Coll{"ttf2pk"} ="ttf2pk"; $Coll{"ttf2pt1"}="tex-ttfutils"; $Coll{"ttf2tex"}="tex-ttfutils"; $Coll{"ttf2tfm"} ="tex-ttfutils"; $Coll{"ttfdump"} ="tex-ttfutils"; $Coll{"unsq"} ="tex-basic"; $Coll{"unzip"}="tex-langpolish"; $Coll{"updmap"}="tex-basic"; $Coll{"vftovp"} ="tex-fontbin"; $Coll{"virmf"} ="tex-basic"; $Coll{"virmpost"} ="metapost"; $Coll{"viromega"} ="tex-omega"; $Coll{"virpdftex"} ="tex-pdftex"; $Coll{"virtex"} ="tex-basic"; $Coll{"vlna"}="tex-langczechslovak"; $Coll{"vptovf"} ="tex-fontbin"; $Coll{"weave"} ="tex-extrabin"; $Coll{"windvi"} ="tex-basic"; $Coll{"wpng"} ="tex-extrabin"; $Coll{"wrjpgcom"} ="tex-basic"; $Coll{"xdvi"} ="tex-basic"; $Coll{"xdvizilla"}="tex-basic"; $Coll{"xmltex"} ="xmltex"; $Coll{"zlib"} ="tex-basic"; foreach (sort keys %Coll) { $X=$Coll{$_}; $G{$X}=1; } foreach (sort keys %G) { open(BAR,">list.$_"); print BAR "\n"; close BAR; } opendir(DIR,"$Master/bin"); @dirs =grep(!/^\.\.?/,readdir(DIR)); foreach (@dirs) { &processdir($_); } closedir(DIR); foreach (sort keys %G) { open(BAR,">>list.$_"); print BAR "\n"; close BAR; } sub processdir { local($D) = @_; local @Groups, $Sizes; # chdir("$Master/bin/$D") || die "cannot open $Master/bin/$D"; opendir(DIR,"$Master/bin/$D"); @files =grep(!/^\.\.?/,readdir(DIR)); closedir(DIR); $N=0; foreach (sort keys %Groups) { $Groups{$_}=""; $Sizes{$_}=0; } foreach $File (@files) { ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = stat("$Master/bin/$D/$File"); $R=$File; $R=~ s/\.pl$//; $R=~ s/\.exe$//; $R=~ s/\.chm$//; $R=~ s/\.bin$//; $R=~ s/\.cmd$//; $R=~ s/\.bat$//; $R=~ s/\.dll$//; $R=~ s/\.ini$//; $R=~ s/\.tpl$//; $R=~ s/\.DLL$//; $R=~ s/\.HLP$//; $R=~ s/\.hlp$//; $L=$Coll{$R}; #print "$D $File -> $R\n"; if ($L eq "") { print "ERROR no classification [$L] for $R in $D\n" } $Sizes{$L}=$Sizes{$L} + $size; $Groups{$L}="bin/$D/$File\n" . $Groups{$L}; } print "make $D\n"; foreach (sort keys %Groups) { open(FOO, ">>list.$_") || die ("cannot write $_-$D.list"); print FOO "\n"; print FOO $Groups{$_}; print FOO "\n"; close FOO; } } sub foo { # build catalogue file open(TPM,">$Master/texmf-dist/tpm/package/$D.tpm") || die "cannot write $Master/texmf-dist/tpm/package/$D.tpm"; $Date=`date +%Y/%m/%d`; $Who=`whoami`; chop($Date); chop($Who); print TPM < $D systems 1 $Date $Who EOF foreach $file (@BinBasic) {print TPM "$file\n";} print TPM "texmf-dist/tpm/package/$D.tpm\n"; print TPM " \n"; print TPM " \n"; foreach $file (@BinRec ){print TPM "$file\n";} print TPM " \n"; print TPM " \n"; foreach $file (@Extrabin) {print TPM "$file\n";} print TPM " \n"; print TPM < EOF close(TPM); print "Wrote $Master/texmf-dist/tpm/package/$D.tpm\n"; print "Remaking lists files\n"; system "xsltproc /texlive/Build/cdbuild/tpm2list.xsl $Master/texmf-dist/tpm/package/$D.tpm"; return; } sub P4 { local($D) = @_; if (-f $D) { system("p4 -p sun.dante.de:1666 -c tex edit $D") } else { system("p4 -p sun.dante.de:1666 -c tex add $D") } }