diff options
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/ctanify/ctanify | 36 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ctanify/README (renamed from Master/texmf-dist/doc/support/ctanify/README) | 0 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ctanify/ctanify.pdf (renamed from Master/texmf-dist/doc/support/ctanify/ctanify.pdf) | bin | 14809 -> 14801 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/ctanify.1 | 24 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/ctanify.man1.pdf | bin | 15798 -> 15617 bytes | |||
-rwxr-xr-x | Master/texmf-dist/scripts/ctanify/ctanify | 36 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 |
7 files changed, 66 insertions, 31 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/ctanify/ctanify b/Build/source/texk/texlive/linked_scripts/ctanify/ctanify index 9084e6f85ab..32dcee305ea 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.2"; # ctanify version number +our $VERSION = "1.3"; # 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 @@ -36,12 +36,13 @@ my $pkgdir = ""; # Absolute directory of the package directory my $zipname; # Name of the TDS zip file my $tarname; # Name of the package tar file my $tdsoutdir; # Directory name where to output TDS tree -my $usagestr = "Usage: ${progname} [--help] [--version] [--pkgname=<package>] [--[no]auto] [--[no]skip] [--[no]unixify] [--tdsonly=<filespec> ...] filename[=<dirname>] ...\n"; # Associate file extensions with TDS directories. "%s" is replaced # with the package name. my %ext2tds = ("afm" => "fonts/afm/public/%s", + "README" => "doc/latex/%s", + "bat" => "scripts/%s", "bib" => "bibtex/bib/%s", "bst" => "bibtex/bst/%s", "cls" => "tex/latex/%s", @@ -55,7 +56,8 @@ my %ext2tds = "pfb" => "fonts/type1/public/%s", "pfm" => "fonts/type1/public/%s", "ps" => "doc/latex/%s", - "README" => "doc/latex/%s", + "py" => "scripts/%s", + "sh" => "scripts/%s", "sty" => "tex/latex/%s", "tfm" => "fonts/tfm/public/%s", "txt" => "doc/latex/%s", @@ -220,11 +222,27 @@ if ($skipdroppings) { foreach my $fname (@manifest) { next if defined $file2tds{$fname}; my $fext = ($fname =~ m|([^./]+)$| && $1); - if (!defined $ext2tds{$fext}) { - warn "${progname}: Not including $fname in the TDS tree (unknown extension)\n"; - next; + if (defined $ext2tds{$fext}) { + # Most files -- determine the directory based on the file extension. + $file2tds{$fname} = sprintf $ext2tds{$fext}, $pkgname; + } + elsif ($fext =~ /^(\d+)[a-z]*$/i) { + # Man page (e.g., "ls.1" or "File::Temp.3pm"). + $file2tds{$fname} = "doc/man/man$1"; + } + else { + # Read the file to determine if it's a Unix script (starts with "#!"). + open(SCRIPT, "<", $fname) || die "${progname}: Failed to open $fname ($!)\n"; + my $shebang; + read(SCRIPT, $shebang, 2) || die "${progname}: Failed to read $fname ($!)\n"; + close SCRIPT; + if ($shebang eq "#!") { + $file2tds{$fname} = "scripts/$pkgname"; + } + else { + warn "${progname}: Not including $fname in the TDS tree (unknown extension)\n"; + } } - $file2tds{$fname} = sprintf $ext2tds{$fext}, $pkgname; } # Create a working directory and populate it with TDS files. @@ -616,8 +634,8 @@ tarball. In short, before running B<ctanify> you should manually process any F<.ins> files and otherwise generate any files that should be sent to CTAN. -B<ctanify> has been tested only on Linux. It may work on S<MacOS X>. -It probably does not work on Windows. Volunteers willing to help port +B<ctanify> has been tested only on Linux. It may work on S<OS X>. It +probably does not work on Windows. Volunteers willing to help port B<ctanify> to other platforms are extremely welcome. diff --git a/Master/texmf-dist/doc/support/ctanify/README b/Master/texmf-dist/doc/latex/ctanify/README index ff190b15477..ff190b15477 100644 --- a/Master/texmf-dist/doc/support/ctanify/README +++ b/Master/texmf-dist/doc/latex/ctanify/README diff --git a/Master/texmf-dist/doc/support/ctanify/ctanify.pdf b/Master/texmf-dist/doc/latex/ctanify/ctanify.pdf Binary files differindex 64caca9618e..94ca8a80615 100644 --- a/Master/texmf-dist/doc/support/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 caecf4691f8..9185aa942ea 100644 --- a/Master/texmf-dist/doc/man/man1/ctanify.1 +++ b/Master/texmf-dist/doc/man/man1/ctanify.1 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CTANIFY 1" -.TH CTANIFY 1 "2013-05-14" "v1.2" "" +.TH CTANIFY 1 "2013-05-17" "v1.3" "" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -148,13 +148,13 @@ ctanify [\fB\-\-version\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" -\&\fBctanify\fR is intended for developers who have a L\h'-0.36'\v'-0.15'\s-2A\s+2\v'0.15'\h'-0.15'T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X package that -they want to distribute via the Comprehensive T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Archive Network +\&\fBctanify\fR is intended for developers who have a LaTeX package that +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 -with copies of all files laid out in the standard T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Directory -Structure (\s-1TDS\s0), which facilitates inclusion of the package in the T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X +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. .SH "OPTIONS" .IX Header "OPTIONS" @@ -290,7 +290,6 @@ prebuilt documentation, if any: \& 1957 source/latex/mypackage/mypackage.ins \& 1725 tex/latex/mypackage/mypackage.sty .Ve -.Ve .PP \&\fBctanify\fR outputs the size in bytes of the resulting tarball, each file within it, and each file within the contained \s-1ZIP\s0 file. In the @@ -314,7 +313,7 @@ alternative. .IX Subsection "Advanced Usage" \&\fBctanify\fR assumes that PostScript files are documentation and therefore stores them under \fIdoc/latex/\fIpackage-name\fI/\fR in the \s-1TDS\s0 -tree within the \s-1ZIP\s0 File. Suppose, however, that a L\h'-0.36'\v'-0.15'\s-2A\s+2\v'0.15'\h'-0.15'T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X package uses +tree within the \s-1ZIP\s0 File. Suppose, however, that a LaTeX package uses a set of PostScript files to control \fBdvips\fR's output. In this case, \&\fBctanify\fR must be told to include those PostScript files in the package directory, not the documentation directory. @@ -322,7 +321,6 @@ package directory, not the documentation directory. .Vb 1 \& $ ctanify mypackage.ins "mypackage*.ps=tex/latex/mypackage" .Ve -.Ve .SH "FILES" .IX Header "FILES" .IP "\fIperl\fR" 5 @@ -347,8 +345,8 @@ 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. .PP -\&\fBctanify\fR has been tested only on Linux. It may work on MacOS\ X. -It probably does not work on Windows. Volunteers willing to help port +\&\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 \&\fBctanify\fR to other platforms are extremely welcome. .SH "SEE ALSO" .IX Header "SEE ALSO" @@ -357,7 +355,7 @@ It probably does not work on Windows. Volunteers willing to help port \&\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>), -A Directory Structure for T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Files (<http://tug.org/tds/>), +A Directory Structure for TeX Files (<http://tug.org/tds/>), .SH "AUTHOR" .IX Header "AUTHOR" Scott Pakin, \fIscott+ctify@pakin.org\fR @@ -366,11 +364,11 @@ Scott Pakin, \fIscott+ctify@pakin.org\fR Copyright 2013 Scott Pakin .PP This work may be distributed and/or modified under the conditions of -the L\h'-0.36'\v'-0.15'\s-2A\s+2\v'0.15'\h'-0.15'T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X Project Public License, either version\ 1.3c of this +the LaTeX Project Public License, either version\ 1.3c of this license or (at your option) any later version. The latest version of this license is in .PP http://www.latex\-project.org/lppl.txt <http://www.latex-project.org/lppl.txt> .PP -and version\ 1.3c or later is part of all distributions of L\h'-0.36'\v'-0.15'\s-2A\s+2\v'0.15'\h'-0.15'T\h'-0.1667'\v'0.2'E\v'-0.2'\h'-0.125'X +and version\ 1.3c or later is part of all distributions of LaTeX version 2008/05/04 or later. 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 6801ca10ccd..3801316d4da 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 9084e6f85ab..32dcee305ea 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.2"; # ctanify version number +our $VERSION = "1.3"; # 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 @@ -36,12 +36,13 @@ my $pkgdir = ""; # Absolute directory of the package directory my $zipname; # Name of the TDS zip file my $tarname; # Name of the package tar file my $tdsoutdir; # Directory name where to output TDS tree -my $usagestr = "Usage: ${progname} [--help] [--version] [--pkgname=<package>] [--[no]auto] [--[no]skip] [--[no]unixify] [--tdsonly=<filespec> ...] filename[=<dirname>] ...\n"; # Associate file extensions with TDS directories. "%s" is replaced # with the package name. my %ext2tds = ("afm" => "fonts/afm/public/%s", + "README" => "doc/latex/%s", + "bat" => "scripts/%s", "bib" => "bibtex/bib/%s", "bst" => "bibtex/bst/%s", "cls" => "tex/latex/%s", @@ -55,7 +56,8 @@ my %ext2tds = "pfb" => "fonts/type1/public/%s", "pfm" => "fonts/type1/public/%s", "ps" => "doc/latex/%s", - "README" => "doc/latex/%s", + "py" => "scripts/%s", + "sh" => "scripts/%s", "sty" => "tex/latex/%s", "tfm" => "fonts/tfm/public/%s", "txt" => "doc/latex/%s", @@ -220,11 +222,27 @@ if ($skipdroppings) { foreach my $fname (@manifest) { next if defined $file2tds{$fname}; my $fext = ($fname =~ m|([^./]+)$| && $1); - if (!defined $ext2tds{$fext}) { - warn "${progname}: Not including $fname in the TDS tree (unknown extension)\n"; - next; + if (defined $ext2tds{$fext}) { + # Most files -- determine the directory based on the file extension. + $file2tds{$fname} = sprintf $ext2tds{$fext}, $pkgname; + } + elsif ($fext =~ /^(\d+)[a-z]*$/i) { + # Man page (e.g., "ls.1" or "File::Temp.3pm"). + $file2tds{$fname} = "doc/man/man$1"; + } + else { + # Read the file to determine if it's a Unix script (starts with "#!"). + open(SCRIPT, "<", $fname) || die "${progname}: Failed to open $fname ($!)\n"; + my $shebang; + read(SCRIPT, $shebang, 2) || die "${progname}: Failed to read $fname ($!)\n"; + close SCRIPT; + if ($shebang eq "#!") { + $file2tds{$fname} = "scripts/$pkgname"; + } + else { + warn "${progname}: Not including $fname in the TDS tree (unknown extension)\n"; + } } - $file2tds{$fname} = sprintf $ext2tds{$fext}, $pkgname; } # Create a working directory and populate it with TDS files. @@ -616,8 +634,8 @@ tarball. In short, before running B<ctanify> you should manually process any F<.ins> files and otherwise generate any files that should be sent to CTAN. -B<ctanify> has been tested only on Linux. It may work on S<MacOS X>. -It probably does not work on Windows. Volunteers willing to help port +B<ctanify> has been tested only on Linux. It may work on S<OS X>. It +probably does not work on Windows. Volunteers willing to help port B<ctanify> to other platforms are extremely welcome. diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index bafdc23b133..cc977a177e6 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1119,6 +1119,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'context' => '&POSTcontext', 'context-games' => '&POSTcontext_games', 'coordsys' => '&POSTcoordsys', + 'ctanify' => '&POST_do_man', 'cs' => '&POSTcs', 'cslatex' => '&POST_cstexpkgs', 'csplain' => '&POST_cstexpkgs', |