diff options
author | Karl Berry <karl@freefriends.org> | 2014-12-24 00:12:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-12-24 00:12:32 +0000 |
commit | 57cb67ae7c5220468344a53f91e761209f2befd0 (patch) | |
tree | 9b6fc6dbc42e2ac33bd2cd16f8b12e1f175796a5 | |
parent | ef31b48f807a4822060f948140ae8da734ee6d5f (diff) |
ctanify (23dec14)
git-svn-id: svn://tug.org/texlive/trunk@35888 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/ctanify/ctanify | 14 | ||||
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl | 411 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ctanify/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ctanify/ctanify.pdf | bin | 14747 -> 175732 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/ctanify.1 | 57 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/ctanify.man1.pdf | bin | 15625 -> 15543 bytes | |||
-rwxr-xr-x | Master/texmf-dist/scripts/ctanify/ctanify | 14 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkginfo | 22 |
9 files changed, 145 insertions, 377 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/ctanify/ctanify b/Build/source/texk/texlive/linked_scripts/ctanify/ctanify index 5fa852a8ca7..aa731ea4532 100755 --- a/Build/source/texk/texlive/linked_scripts/ctanify/ctanify +++ b/Build/source/texk/texlive/linked_scripts/ctanify/ctanify @@ -19,7 +19,7 @@ use warnings; use strict; # Define some global variables. -our $VERSION = "1.4"; # ctanify version number +our $VERSION = "1.5"; # ctanify version number my $progname = basename $0; # Name of this program my $pkgname; # Base name of the package to create my $miscify = 0; # 1=replace singletons with misc; 0=don't @@ -40,18 +40,24 @@ my $tdsoutdir; # Directory name where to output TDS tree # Associate file extensions with TDS directories. "%s" is replaced # with the package name. my %ext2tds = - ("afm" => "fonts/afm/public/%s", - "README" => "doc/latex/%s", + ("README" => "doc/latex/%s", + "afm" => "fonts/afm/public/%s", "bat" => "scripts/%s", + "bbx" => "tex/latex/%s", "bib" => "bibtex/bib/%s", "bst" => "bibtex/bst/%s", + "cbx" => "tex/latex/%s", "cls" => "tex/latex/%s", "dtx" => "source/latex/%s", "dvi" => "doc/latex/%s", "fd" => "tex/latex/%s", "ins" => "source/latex/%s", + "map" => "fonts/map/dvips/%s", "mf" => "fonts/source/public/%s", "mp" => "metapost/%s", + "ofm" => "fonts/ofm/public/%s", + "ovf" => "fonts/ovf/public/%s", + "ovp" => "fonts/ovp/public/%s", "pdf" => "doc/latex/%s", "pfb" => "fonts/type1/public/%s", "pfm" => "fonts/type1/public/%s", @@ -660,7 +666,7 @@ Scott Pakin, I<scott+ctify@pakin.org> =head1 COPYRIGHT AND LICENSE -Copyright 2013 Scott Pakin +Copyright 2014 Scott Pakin This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either S<version 1.3c> of this diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl index 808e9b21ccd..47aa78664d1 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl @@ -1,12 +1,12 @@ #!/usr/bin/env perl -# $Id: tlmgr.pl 35700 2014-11-30 18:34:08Z karl $ +# $Id: tlmgr.pl 35841 2014-12-16 19:11:15Z karl $ # # Copyright 2008-2014 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. -my $svnrev = '$Revision: 35700 $'; -my $datrev = '$Date: 2014-11-30 19:34:08 +0100 (Sun, 30 Nov 2014) $'; +my $svnrev = '$Revision: 35841 $'; +my $datrev = '$Date: 2014-12-16 20:11:15 +0100 (Tue, 16 Dec 2014) $'; my $tlmgrrevision; my $prg; if ($svnrev =~ m/: ([0-9]+) /) { @@ -130,6 +130,8 @@ sub main { "gui" => 1, "gui-lang" => "=s", "debug-translation" => 1, + "h|?" => 1, + "help" => 1, "location|repository|repo" => "=s", "machine-readable" => 1, "no-execute-actions" => 1, @@ -141,81 +143,71 @@ sub main { "usermode|user-mode" => 1, "usertree|user-tree" => "=s", "version" => 1, - "help" => 1, - "h|?" => 1); + ); my %actionoptions = ( - "get-mirror" => { }, - "option" => { }, - "conf" => { "conffile" => "=s", - "delete" => 1 }, - "version" => { }, - "repository" => { }, - "candidate" => { }, - "backup" => { "backupdir" => "=s", + "backup" => { "all" => 1, + "backupdir" => "=s", "clean" => ":-99", - "all" => 1, "dry-run|n" => 1 }, + "candidate" => { }, "check" => { "use-svn" => 1 }, - "generate" => { "localcfg" => "=s", - "dest" => "=s", + "conf" => { "conffile" => "=s", + "delete" => 1 }, + "dump-tlpdb" => { "local" => 1, + "remote" => 1 }, + "generate" => { "dest" => "=s", + "localcfg" => "=s", "rebuild-sys" => 1 }, + "get-mirror" => { }, "gui" => { "load" => 1 }, - "install" => { "no-depends" => 1, - "no-depends-at-all" => 1, + "info" => { "list" => 1, + "only-installed" => 1 }, + "install" => { "dry-run|n" => 1, "file" => 1, - "reinstall" => 1, "force" => 1, - "dry-run|n" => 1 }, + "no-depends" => 1, + "no-depends-at-all" => 1, + "reinstall" => 1}, + "option" => { }, "paper" => { "list" => 1 }, "path" => { "w32mode" => "=s" }, "pinning" => { "all" => 1 }, "platform" => { "dry-run|n" => 1 }, - "postaction" => { "w32mode" => "=s", - "all" => 1, - "fileassocmode" => "=i" }, + "postaction" => { "all" => 1, + "fileassocmode" => "=i", + "w32mode" => "=s"}, "recreate-tlpdb"=> { "platform|arch" => "=s" }, - "remove" => { "no-depends" => 1, - "no-depends-at-all" => 1, + "remove" => { "dry-run|n" => 1, "force" => 1, - "dry-run|n" => 1 }, + "no-depends" => 1, + "no-depends-at-all" => 1 }, "repository" => { "with-platforms" => 1 }, - "restore" => { "backupdir" => "=s", + "restore" => { "all" => 1, + "backupdir" => "=s", "dry-run|n" => 1, - "all" => 1, - "force" => 1 }, - "search" => { "global" => 1, - "word" => 1, + "force" => 1, }, + "search" => { "all" => 1, "file" => 1, - "keyword" => 1, - "list" => 1, - "all" => 1, - "characterization" => 1, - "functionality" => 1, - "taxonomy" => 1 }, - "info" => { "list" => 1, - "taxonomy" => 1, - "keyword" => 1, - "characterization" => 1, - "functionality" => 1, - "only-installed" => 1 }, - "dump-tlpdb" => { "local" => 1, - "remote" => 1 }, + "global" => 1, + "word" => 1 }, + "repository" => { }, "uninstall" => { "force" => 1 }, - "update" => { "no-depends" => 1, - "no-depends-at-all" => 1, - "all" => 1, - "self" => 1, + "update" => { "all" => 1, + "backup" => 1, + "backupdir" => "=s", + "dry-run|n" => 1, + "exclude" => "=s@", + "force" => 1, "list" => 1, "no-auto-remove" => 1, "no-auto-install" => 1, + "no-depends" => 1, + "no-depends-at-all" => 1, "reinstall-forcibly-removed" => 1, - "force" => 1, - "backupdir" => "=s", - "backup" => 1, - "exclude" => "=s@", - "dry-run|n" => 1 }, - ); + "self" => 1 }, + "version" => { }, + ); my %optarg; for my $k (keys %globaloptions) { @@ -1191,15 +1183,7 @@ sub action_dumptlpdb { # sub action_info { init_local_db(); - my $taxonomy; - if ($opts{"taxonomy"} || $opts{"characterization"} || $opts{"functionality"} - || $opts{"keyword"}) { - $taxonomy = load_taxonomy_datafile(); - if (!defined($taxonomy)) { - tlwarn("$prg: Cannot load taxonomy file, showing taxonomies not supported.\n"); - } - } - my ($what, @todo) = @ARGV; + my ($what,@todo) = @ARGV; # # tlmgr info # tlmgr info collection @@ -1213,7 +1197,7 @@ sub action_info { # we are still here, so $what is defined and neither collection nor scheme, # so assume the arguments are package names foreach my $ppp ($what, @todo) { - my ($pkg, $tag) = split '@', $ppp, 2; + my ($pkg, $tag) = split ('@', $ppp, 2); my $tlpdb = $localtlpdb; my $source_found; my $tlp = $localtlpdb->get_package($pkg); @@ -1365,36 +1349,6 @@ sub action_info { print "cat-license: ", $tlp->cataloguedata->{'license'}, "\n" if $tlp->cataloguedata->{'license'}; print "collection: ", @colls, "\n" if (@colls); - if ($opts{"keyword"} || $opts{"taxonomy"}) { - print "keywords: "; - if (defined($taxonomy->{'by-package'}{'keyword'}{$pkg})) { - print join(', ',@{$taxonomy->{'by-package'}{'keyword'}{$pkg}}), "\n"; - } else { - print "(none found)\n"; - } - } - if ($opts{"functionality"} || $opts{"taxonomy"}) { - print "function: "; - if (defined($taxonomy->{'by-package'}{'functionality'}{$pkg})) { - print join(', ',@{$taxonomy->{'by-package'}{'functionality'}{$pkg}}), "\n"; - } else { - print "(none found)\n"; - } - } - if ($opts{"characterization"} || $opts{"taxonomy"}) { - print "primary characterization: "; - if (defined($taxonomy->{'by-package'}{'primary'}{$pkg})) { - print $taxonomy->{'by-package'}{'primary'}{$pkg}, "\n"; - } else { - print "(none found)\n"; - } - print "secondary characterization: "; - if (defined($taxonomy->{'by-package'}{'secondary'}{$pkg})) { - print $taxonomy->{'by-package'}{'secondary'}{$pkg}, "\n"; - } else { - print "(none found)\n"; - } - } if ($opts{"list"}) { if ($tlp->category eq "Collection" || $tlp->category eq "Scheme") { # in the case of collections of schemes we list the deps @@ -1453,83 +1407,26 @@ sub action_info { } - -# taxonomy subroutines -# -sub load_taxonomy_datafile { - init_local_db(); - my $taxonomy; - my $fpath = $localtlpdb->root - . "/texmf-dist/scripts/texlive/var/texcatalogue.keywords"; - if (! -r $fpath) { - tlwarn("$prg: taxonomy file $fpath not readable: $!\n"); - return; - } - if (!open (TAXF, $fpath)) { - tlwarn("$prg: taxonomy file $fpath cannot be opened: $!\n"); - return; - } - # suck in the whole file contents - my @foo = <TAXF>; - close(TAXF); - my $foo = "@foo"; - no strict "vars"; - # the no strict "vars" is *ABSOLUTELY* necessary otherwise the file is - # not evaluated, no idea why! - eval "$foo"; - use strict "vars"; - return $taxonomy; -} - -sub walk_level_tree { - my $cp = shift; - my $prestring = shift; - my $print_packages = shift; - if (defined($cp->{'_packages_'})) { - print "$prestring\n"; - if ($print_packages) { - my @pkgs = sort @{$cp->{'_packages_'}}; - print "\t@pkgs\n"; - } - } - for my $cz (keys %$cp) { - if ($cz ne '_packages_') { - my $nextstring = "$prestring > $cz"; - my $np = $cp->{$cz}; - &walk_level_tree($np,$nextstring); - } - } -} - # SEARCH # sub action_search { - my $r = shift @ARGV; + my ($r) = @ARGV; my $ret = ""; my $tlpdb; - my $taxonomy; - # - if (!$opts{"list"} && (!defined($r) || !$r)) { - - tlwarn("$prg: nothing to search for.\n"); - return; - } - if ($opts{"extended"}) { - tlwarn("$prg: sorry, extended searching not implemented by now.\n"); - return; - } # check the arguments my $search_type_nr = 0; $search_type_nr++ if $opts{"file"}; - $search_type_nr++ if $opts{"taxonomy"}; - $search_type_nr++ if $opts{"characterization"}; - $search_type_nr++ if $opts{"functionality"}; - $search_type_nr++ if $opts{"keyword"}; $search_type_nr++ if $opts{"all"}; if ($search_type_nr > 1) { - tlwarn("$prg: please specify only one thing to search for!\n"); + tlwarn("$prg: please specify only one thing to search for\n"); + return; + } + # + if (!defined($r) || !$r) { + tlwarn("$prg: nothing to search for.\n"); return; } + init_local_db(); if ($opts{"global"}) { init_tlmedia_or_die(); @@ -1537,49 +1434,9 @@ sub action_search { } else { $tlpdb = $localtlpdb; } - my $search_characterization = - $opts{"characterization"} || $opts{"taxonomy"} || $opts{"all"}; - my $search_functionality = - $opts{"functionality"} || $opts{"taxonomy"} || $opts{"all"}; - my $search_keyword = - $opts{"keyword"} || $opts{"taxonomy"} || $opts{"all"}; - my $search_tlpdb = - $opts{"all"} || - !($opts{"taxonomy"} || $opts{"characterization"} || - $opts{"functionality"} || $opts{"keyword"}); - if ($opts{"all"} || $opts{"taxonomy"} || $opts{"characterization"} - || $opts{"functionality"} || $opts{"keyword"}) { - $taxonomy = load_taxonomy_datafile(); - if (!defined($taxonomy)) { - tlwarn("$prg: Cannot load taxonomy file;", - " searching/listing for taxonomies not supported.\n"); - return; - } - if ($opts{"list"}) { - if ($search_keyword) { - print "\f Keywords:\n"; - for (sort keys %{$taxonomy->{'by-taxonomy'}{'keyword'}}) { - print "\t$_\n"; - } - print "\n"; - } - if ($search_functionality) { - print "\f Functionalities:\n"; - &walk_level_tree($taxonomy->{'by-taxonomy'}{'functionality'}, "", 0); - print "\n"; - } - if ($search_characterization) { - # Assume all possible characterizations occur under the primary ones! - print "\f Characterizations:\n"; - &walk_level_tree($taxonomy->{'by-taxonomy'}{'primary'}, "", 0); - print "\n"; - } - return; - } - } foreach my $pkg ($tlpdb->list_packages) { my $tlp = $tlpdb->get_package($pkg); - if ($opts{"file"}) { + if ($opts{"file"} || $opts{"all"}) { my @files = $tlp->all_files; if ($tlp->relocated) { for (@files) { s:^$RelocPrefix/:$RelocTree/:; } @@ -1593,36 +1450,14 @@ sub action_search { } } else { next if ($pkg =~ m/\./); - # the other searching is done together - my $t = ""; - if ($search_keyword) { - $t = $t . join('\n', @{$taxonomy->{'by-package'}{'keyword'}{$pkg}}) - if (defined($taxonomy->{'by-package'}{'keyword'}{$pkg})); - } - if ($search_functionality) { - $t = $t.join('\n', @{$taxonomy->{'by-package'}{'functionality'}{$pkg}}) - if (defined($taxonomy->{'by-package'}{'functionality'}{$pkg})); - } - if ($search_characterization) { - $t = "$t$taxonomy->{'by-package'}{'primary'}{$pkg}\n" - if (defined($taxonomy->{'by-package'}{'primary'}{$pkg})); - $t = "$t$taxonomy->{'by-package'}{'secondary'}{$pkg}\n" - if (defined($taxonomy->{'by-package'}{'secondary'}{$pkg})); - } - if ($search_tlpdb) { - $t .= "$pkg\n"; - $t = "$t" . $tlp->shortdesc . "\n" - if (defined($tlp->shortdesc)); - $t = "$t" . $tlp->longdesc . "\n" - if (defined($tlp->longdesc)); - } - my $shortdesc = $tlp->shortdesc; - $shortdesc |= ""; + # glom description strings together for one search + my $t = "$pkg\n"; + $t = $t . $tlp->shortdesc . "\n" if (defined($tlp->shortdesc)); + $t = $t . $tlp->longdesc . "\n" if (defined($tlp->longdesc)); my $pat = $r; - if ($opts{"word"}) { - $pat = '\W' . $r . '\W'; - } + $pat = '\W' . $r . '\W' if ($opts{"word"}); if ($t =~ m/$pat/i) { + my $shortdesc = $tlp->shortdesc || ""; $ret .= " $pkg - $shortdesc\n"; } } @@ -6587,18 +6422,6 @@ not be used; only locally installed packages, collections, or schemes are listed. (Does not work for listing of packages for now) -=item B<--taxonomy> - -=item B<--keyword> - -=item B<--functionality> - -=item B<--characterization> - -In addition to the normal data displayed, also display information for -given packages from the corresponding taxonomy (or all of them). See -L</TAXONOMIES> below for details. - =back @@ -7038,66 +6861,35 @@ otherwise, all operations will fail! =head3 search [I<option>...] --file I<what> -=head3 search [I<option>...] --taxonomy I<what> - -=head3 search [I<option>...] --keyword I<what> - -=head3 search [I<option>...] --functionality I<what> - -=head3 search [I<option>...] --characterization I<what> - =head3 search [I<option>...] --all I<what> By default, search the names, short descriptions, and long descriptions of all locally installed packages for the argument I<what>, interpreted -as a regular expression. +as a (Perl) regular expression. Options: =over 4 -=item B<--global> - -Search the TeX Live Database of the installation medium, instead of the -local installation. - -=item B<--word> - -Restrict the search to match only full words. For example, searching for -C<table> with this option will not output packages containing the -word C<tables> (unless they also contain the word C<table> on its own). - -=item B<--list> - -If a search for any (or all) taxonomies is done, by specifying one of -the taxonomy options below, then instead of searching for packages, list -the entire corresponding taxonomy (or all of them). See -L</TAXONOMIES> below. - -=back - -Other search options are selected by specifying one of the following: - -=over 4 - =item B<--file> List all filenames containing I<what>. -=item B<--taxonomy> - -=item B<--keyword> +=item B<--all> -=item B<--functionality> +Search everything: package names, descriptions and filenames. -=item B<--characterization> +=item B<--global> -Search in the corresponding taxonomy (or all) instead of the package -descriptions. See L</TAXONOMIES> below. +Search the TeX Live Database of the installation medium, instead of the +local installation. -=item B<--all> +=item B<--word> -Search for package names, descriptions, and taxonomies, but not files. +Restrict the search of package names and descriptions (but not +filenames) to match only full words. For example, searching for +C<table> with this option will not output packages containing the word +C<tables> (unless they also contain the word C<table> on its own). =back @@ -7409,52 +7201,6 @@ switches between the full GUI and a simplified GUI with only the important and mostly used settings. -=head1 TAXONOMIES - -tlmgr allows searching and listing of various categorizations, which we -call I<taxonomies>, as provided by an enhanced TeX Catalogue (available -for testing at L<http://az.ctan.org>). This is useful when, for -example, you don't know a specific package name but have an idea of the -functionality you need; or when you want to see all packages relating to -a given area. - -There are three different taxonomies, specified by the following -options: - -=over 4 - -=item C<--keyword> - -The keywords, as specified at L<http://az.ctan.org/keyword>. - -=item C<--functionality> - -The ``by-topic'' categorization created by J\"urgen Fenn, as specified -at L<http://az.ctan.org/characterization/by-function>. - -=item C<--characterization> - -Both the primary and secondary functionalities, as specified at -L<http://az.ctan.org/characterization/choose_dimen>. - -=item C<--taxonomy> - -Operate on all the taxonomies. - -=back - -The taxonomies are updated nightly and stored within TeX Live, so -Internet access is not required to search them. - -Examples: - - tlmgr search --taxonomy exercise # check all taxonomies for "exercise" - tlmgr search --taxonomy --word table # check for "table" on its own - tlmgr search --list --keyword # dump entire keyword taxonomy - tlmgr show --taxonomy pdftex # show pdftex package information, - # including all taxonomy entries - - =head1 MULTIPLE REPOSITORIES The main TeX Live repository contains a vast array of packages. @@ -7595,10 +7341,9 @@ above. =item Match -Select packages matching for a specific pattern. By default, this uses -the same algorithm as C<tlmgr search>, i.e., searches everything: -descriptions, taxonomies, and/or filenames. You can also select any -subset for searching. +Select packages matching for a specific pattern. By default, this +searches both descriptions and filenames. You can also select a subset +for searching. =item Selection diff --git a/Master/texmf-dist/doc/latex/ctanify/README b/Master/texmf-dist/doc/latex/ctanify/README index ff190b15477..e09ebb434a3 100644 --- a/Master/texmf-dist/doc/latex/ctanify/README +++ b/Master/texmf-dist/doc/latex/ctanify/README @@ -35,7 +35,7 @@ ctanify.pdf ctanify documentation (PDF format) Copyright and License ===================== -Copyright 2013 Scott Pakin +Copyright 2014 Scott Pakin This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c of this license diff --git a/Master/texmf-dist/doc/latex/ctanify/ctanify.pdf b/Master/texmf-dist/doc/latex/ctanify/ctanify.pdf Binary files differindex 51e54ce3d0e..12e196f9cef 100644 --- a/Master/texmf-dist/doc/latex/ctanify/ctanify.pdf +++ b/Master/texmf-dist/doc/latex/ctanify/ctanify.pdf diff --git a/Master/texmf-dist/doc/man/man1/ctanify.1 b/Master/texmf-dist/doc/man/man1/ctanify.1 index feedc6799b9..7cd33a886eb 100644 --- a/Master/texmf-dist/doc/man/man1/ctanify.1 +++ b/Master/texmf-dist/doc/man/man1/ctanify.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== @@ -38,6 +38,8 @@ . ds PI \(*p . ds L" `` . ds R" '' +. ds C` +. ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. @@ -48,17 +50,24 @@ .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" .. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} .\} +.rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -124,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CTANIFY 1" -.TH CTANIFY 1 "2013-06-18" "v1.4" "" +.TH CTANIFY 1 "2014-12-22" "v1.5" "" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -152,7 +161,7 @@ ctanify they want to distribute via the Comprehensive TeX Archive Network (\s-1CTAN\s0). Given a list of filenames, \fBctanify\fR creates a tarball (a \&\fI.tar.gz\fR file) with the files laid out in \s-1CTAN\s0's preferred -structure. The tarball additionally contains a \s-1ZIP\s0 (\fI.zip\fR) file +structure. The tarball additionally contains a \s-1ZIP \s0(\fI.zip\fR) file with copies of all files laid out in the standard TeX Directory Structure (\s-1TDS\s0), which facilitates inclusion of the package in the TeX Live distribution. @@ -178,7 +187,7 @@ automatically includes all files mentioned in a \fI.ins\fR file. .IP "\fB\-t\fR \fIfilespec\fR, \fB\-\-tdsonly\fR=\fIfilespec\fR" 5 .IX Item "-t filespec, --tdsonly=filespec" Specify a subset of the files named on the command line to include -only in the \s-1TDS\s0 \s-1ZIP\s0 file, not in the \s-1CTAN\s0 package directory. +only in the \s-1TDS ZIP\s0 file, not in the \s-1CTAN\s0 package directory. Wildcards are allowed (quoted if necessary), and \fB\-\-tdsonly\fR can be used multiple times on the same command line. .PP @@ -193,7 +202,7 @@ The following options are unlikely to be necessary in ordinary usage. They are provided for special circumstances that may arise. .IP "\fB\-d\fR \fIdirname\fR, \fB\-\-tdsdir\fR=\fIdirname\fR" 5 .IX Item "-d dirname, --tdsdir=dirname" -Instead of creating a tarball for \s-1CTAN\s0, merely create the package \s-1TDS\s0 +Instead of creating a tarball for \s-1CTAN,\s0 merely create the package \s-1TDS\s0 tree rooted in directory \fIdirname\fR. .IP "\fB\-nou\fR, \fB\-\-no\-unixify\fR" 5 .IX Item "-nou, --no-unixify" @@ -221,7 +230,7 @@ This message is typically caused by a \fI.ins\fR file that generates \&\fIfilename\fR but that has not already been run through \fItex\fR or \&\fIlatex\fR to actually produce \fIfilename\fR. \fBctanify\fR does not automatically run \fItex\fR or \fIlatex\fR; this needs to be done manually -by the user. See \*(L"\s-1CAVEATS\s0\*(R" for more information. +by the user. See \*(L"\s-1CAVEATS\*(R"\s0 for more information. .ie n .IP """Modified \f(CIfilename\f(CW to use Unix line endings (use \-\-no\-unixify to prevent this)""" 5 .el .IP "\f(CWModified \f(CIfilename\f(CW to use Unix line endings (use \-\-no\-unixify to prevent this)\fR" 5 .IX Item "Modified filename to use Unix line endings (use --no-unixify to prevent this)" @@ -243,13 +252,13 @@ the command line\*(--that \s-1CTAN\s0 prefers not receiving. These include files whose names start with "\fI.\fR\*(L" (Unix hidden files), end in \*(R"\fI~\fR" (Emacs automatic backups), or that come from a \fI\s-1CVS\s0\fR or \fI.svn\fR directory (version-control metadata files). If there's a good reason -to submit such files to \s-1CTAN\s0 (and there rarely is), the \fB\-\-no\-skip\fR +to submit such files to \s-1CTAN \s0(and there rarely is), the \fB\-\-no\-skip\fR option can be used to prevent \fBctanify\fR from ignoring them. .ie n .IP """CTAN prefers having only PDF documentation (re: \f(CIfilename\f(CW)""" 5 .el .IP "\f(CWCTAN prefers having only PDF documentation (re: \f(CIfilename\f(CW)\fR" 5 .IX Item "CTAN prefers having only PDF documentation (re: filename)" Because of the popularity of the \s-1PDF\s0 format, \s-1CTAN\s0 wants to have as -much documentation as possible distributed in \s-1PDF\s0. The preceding +much documentation as possible distributed in \s-1PDF. \s0 The preceding message asks the user to replace any PostScript or \s-1DVI\s0 documentation with \s-1PDF\s0 if possible. (\fBctanify\fR will still include PostScript and \&\s-1DVI\s0 documentation in the tarball; the preceding message is merely a @@ -261,10 +270,10 @@ polite request.) extensions. For example, all \fI.sty\fR files are placed in \&\fItex/latex/\fIpackage-name\fI\fR. If \fBctanify\fR does not know where to put a file it does not put it anywhere. See the last paragraph of -\&\*(L"\s-1OPTIONS\s0\*(R" for an explanation of how to specify explicitly a file's +\&\*(L"\s-1OPTIONS\*(R"\s0 for an explanation of how to specify explicitly a file's target location in the \s-1TDS\s0 tree. For common file extensions that happen to be absent from \fBctanify\fR's table, consider also notifying -\&\fBctanify\fR's author at the address shown below under \*(L"\s-1AUTHOR\s0\*(R". +\&\fBctanify\fR's author at the address shown below under \*(L"\s-1AUTHOR\*(R"\s0. .SH "EXAMPLES" .IX Header "EXAMPLES" .SS "The Common Case" @@ -328,7 +337,7 @@ package directory, not the documentation directory. \&\fBctanify\fR is written in Perl and needs a Perl installation to run. .IP "\fItar\fR, \fIgzip\fR" 5 .IX Item "tar, gzip" -\&\fBctanify\fR requires the \s-1GNU\s0 \fItar\fR and \fIgzip\fR programs to create a +\&\fBctanify\fR requires the \s-1GNU \s0\fItar\fR and \fIgzip\fR programs to create a compressed tarball (\fI.tar.gz\fR). .IP "\fIzip\fR" 5 .IX Item "zip" @@ -343,7 +352,7 @@ It was deemed better to do nothing than to risk overwriting existing \&\fI.sty\fR (or other) files or to include outdated generated files in the tarball. In short, before running \fBctanify\fR you should manually process any \fI.ins\fR files and otherwise generate any files that should -be sent to \s-1CTAN\s0. +be sent to \s-1CTAN.\s0 .PP \&\fBctanify\fR has been tested only on Linux. It may work on \s-1OS\s0\ X. It probably does not work on Windows. Volunteers willing to help port @@ -353,15 +362,15 @@ probably does not work on Windows. Volunteers willing to help port \&\fItar\fR\|(1), \&\fIzip\fR\|(1), \&\fIlatex\fR\|(1), -Guidelines for uploading TDS-Packaged materials to \s-1CTAN\s0 -(http://www.ctan.org/TDS\-guidelines.html <http://www.ctan.org/TDS-guidelines.html>), +Guidelines for uploading TDS-Packaged materials to \s-1CTAN +\&\s0(<http://www.ctan.org/TDS\-guidelines.html>), A Directory Structure for TeX Files (<http://tug.org/tds/>), .SH "AUTHOR" .IX Header "AUTHOR" Scott Pakin, \fIscott+ctify@pakin.org\fR .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" -Copyright 2013 Scott Pakin +Copyright 2014 Scott Pakin .PP This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version\ 1.3c of this @@ -369,7 +378,7 @@ license or (at your option) any later version. The latest version of this license is in .Sp .RS 4 -http://www.latex\-project.org/lppl.txt <http://www.latex-project.org/lppl.txt> +<http://www.latex\-project.org/lppl.txt> .RE .PP and version\ 1.3c or later is part of all distributions of LaTeX diff --git a/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf b/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf Binary files differindex 112d3ef1d9a..e625b56bb00 100644 --- a/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf diff --git a/Master/texmf-dist/scripts/ctanify/ctanify b/Master/texmf-dist/scripts/ctanify/ctanify index 5fa852a8ca7..aa731ea4532 100755 --- a/Master/texmf-dist/scripts/ctanify/ctanify +++ b/Master/texmf-dist/scripts/ctanify/ctanify @@ -19,7 +19,7 @@ use warnings; use strict; # Define some global variables. -our $VERSION = "1.4"; # ctanify version number +our $VERSION = "1.5"; # ctanify version number my $progname = basename $0; # Name of this program my $pkgname; # Base name of the package to create my $miscify = 0; # 1=replace singletons with misc; 0=don't @@ -40,18 +40,24 @@ my $tdsoutdir; # Directory name where to output TDS tree # Associate file extensions with TDS directories. "%s" is replaced # with the package name. my %ext2tds = - ("afm" => "fonts/afm/public/%s", - "README" => "doc/latex/%s", + ("README" => "doc/latex/%s", + "afm" => "fonts/afm/public/%s", "bat" => "scripts/%s", + "bbx" => "tex/latex/%s", "bib" => "bibtex/bib/%s", "bst" => "bibtex/bst/%s", + "cbx" => "tex/latex/%s", "cls" => "tex/latex/%s", "dtx" => "source/latex/%s", "dvi" => "doc/latex/%s", "fd" => "tex/latex/%s", "ins" => "source/latex/%s", + "map" => "fonts/map/dvips/%s", "mf" => "fonts/source/public/%s", "mp" => "metapost/%s", + "ofm" => "fonts/ofm/public/%s", + "ovf" => "fonts/ovf/public/%s", + "ovp" => "fonts/ovp/public/%s", "pdf" => "doc/latex/%s", "pfb" => "fonts/type1/public/%s", "pfm" => "fonts/type1/public/%s", @@ -660,7 +666,7 @@ Scott Pakin, I<scott+ctify@pakin.org> =head1 COPYRIGHT AND LICENSE -Copyright 2013 Scott Pakin +Copyright 2014 Scott Pakin This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either S<version 1.3c> of this diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 505268716e3..b0bf8447fae 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -440,7 +440,7 @@ my @TLP_working = qw( rviewport rvwrite ryethesis sa-tikz sageep sanskrit sanskrit-t1 sansmath sansmathaccent sansmathfonts sapthesis sasnrdisplay sauerj - sauterfonts savefnmark savesym savetrees + sauter sauterfonts savefnmark savesym savetrees scale scalebar scalerel scanpages schemabloc schemata sclang-prettifier schule schulschriften schwalbe-chess sciposter screenplay scrjrnl diff --git a/Master/tlpkg/bin/tlpkginfo b/Master/tlpkg/bin/tlpkginfo index 1243c6ed7d4..4dd5e86671a 100755 --- a/Master/tlpkg/bin/tlpkginfo +++ b/Master/tlpkg/bin/tlpkginfo @@ -179,21 +179,23 @@ sub find_ctan_dir { if $me =~ /^hyphen-/ && ! $ctan_dir; } - # For cm, we just want the mf subdir of fonts/cm. if ($me eq "cm") { + # For cm, we just want the mf subdir of fonts/cm. $ctan_dir .= "/mf"; - } - # For mathspic, we cannot use the catalogue directory: - # we want to ignore the dos/ subdir and just go with the perl/. - if ($me eq "mathspic") { + } elsif ($pkgname eq "cs") { + # For cs, we need to unpack from multiple tarballs, + # so copy the entire cstex directory. + $ctan_dir = "$CTAN/macros/cstex/base"; + + } elsif ($me eq "mathspic") { + # For mathspic, we cannot use the catalogue directory: + # we want to ignore the dos/ subdir and just go with the perl/. $ctan_dir .= "/perl"; - } - # For cs, we need to unpack from multiple tarballs, - # so copy the entire cstex directory. - if ($pkgname eq "cs") { - $ctan_dir = "$CTAN/macros/cstex/base"; + } elsif ($me eq "sauter") { + # and for sauter, just base. + $ctan_dir .= "/base"; } # prepend ctan root if not an absolute dir (this happens when we make |