summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/ctanify/ctanify36
-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)bin14809 -> 14801 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/ctanify.124
-rw-r--r--Master/texmf-dist/doc/man/man1/ctanify.man1.pdfbin15798 -> 15617 bytes
-rwxr-xr-xMaster/texmf-dist/scripts/ctanify/ctanify36
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
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
index 64caca9618e..94ca8a80615 100644
--- a/Master/texmf-dist/doc/support/ctanify/ctanify.pdf
+++ b/Master/texmf-dist/doc/latex/ctanify/ctanify.pdf
Binary files differ
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
index 6801ca10ccd..3801316d4da 100644
--- a/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/ctanify.man1.pdf
Binary files differ
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',