RFC: doc splitting and merge of htmlxml branch
Hi all!
Please take a look at the attached two patches. One implements the doc
splitting, ie that we can say
docsplitting;texlive-latex-recommended
int the config file and it will automatically create a package
texlive-latex-recommended-doc
that will ship only the documentaion files.
The other patch is the merge of the stuff in the htmlxml branch, BUT BUT
BUT: I am NOT convinced that this is a good idea to do anyway. jadetex
and xmltex is quite stabl, in the sense that no changes to the upstream
are to be expected. I see only complication in taking these under the
hood of texlive, since we are already maintainers of these two packages
anyway ... remember, xmltex and jadetex is maintained by
debian-tex-maint!
Thanks for any feerdback.
For the doc splitting I build test packages and they looked ok, but
didn't check in detail, I have to work here ;-)
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining <preining@logic.at> Vienna University of Technology
Debian Developer <preining@debian.org> Debian TeX Group
gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094
-------------------------------------------------------------------------------
SHENANDOAH (n.)
The infinite smugness of one who knows they are entitled to a place in
a nuclear bunker.
--- Douglas Adams, The Meaning of Liff
Index: all/debian/tpm2debcommon.pm
===================================================================
--- all/debian/tpm2debcommon.pm (revision 3046)
+++ all/debian/tpm2debcommon.pm (working copy)
@@ -246,6 +246,35 @@
}
}
}
+ # we do the doc splitting now
+ foreach my $coll (keys %{$TpmData{'TLCore'}}) {
+ if (is_blacklisted($coll,"")) { next; }
+ my ($bin_pkg) = tpm2debname("TLCore/$coll");
+ if (defined($Config{'docsplitting'}{$bin_pkg})) {
+ # first creat new bin package and add doc files
+ $TeXLive{'binary'}{"$bin_pkg-doc"}{'section'} = "Documentation" ; # ?????????????? RIGHT?
+ $TeXLive{'binary'}{"$bin_pkg-doc"}{'type'} = 'TLCore';
+ $TeXLive{'binary'}{"$bin_pkg-doc"}{'realtype'} = 'TLCore';
+ $TeXLive{'binary'}{"$bin_pkg-doc"}{'docfiles'} = $TeXLive{'binary'}{$bin_pkg}{'docfiles'};
+ $TeXLive{'binary'}{$bin_pkg}{'docfiles'} = undef;
+ $TeXLive{'binary'}{"$bin_pkg-doc"}{'license'} = $TpmData{'TLCore'}{$coll}{'License'};
+ $TeXLive{'binary'}{"$bin_pkg-doc"}{'title'} = "Documentation files for $bin_pkg";
+ # what else do we have to set here ????
+ # add a recommends
+ $TeXLive{'binary'}{$bin_pkg}{'recommends'} = [ @{$TeXLive{'binary'}{$bin_pkg}{'recommends'}}, "$bin_pkg-doc" ];
+ # add source mapping
+ my $srcpkg = $TeXLive{'binary'}{$bin_pkg}{'source_package'};
+ $TeXLive{'source'}{$srcpkg}{'binary_packages'} = [ @{$TeXLive{'source'}{$srcpkg}{'binary_packages'}}, "$bin_pkg-doc" ];
+ #
+ # now we have to move all the DocFiles of all INCLUDED
+ # package/tpms into $bin_pkg and remove them from the original
+ # packages
+ foreach my $incpkg (@{$TeXLive{'binary'}{$bin_pkg}{'includedpackages'}}) {
+ $TeXLive{'binary'}{"$bin_pkg-doc"}{'docfiles'} = [ @{$TeXLive{'binary'}{"$bin_pkg-doc"}{'docfiles'}}, @{$TeXLive{'binary'}{$incpkg}{'docfiles'}} ];
+ $TeXLive{'binary'}{$incpkg}{'docfiles'} = undef;
+ }
+ }
+ }
#
# Now for the source part
#
@@ -656,6 +685,11 @@
$Config{'title'}{$a} = "$b";
next;
}
+ if ($type eq "docsplitting") {
+ $opt_debug && print STDERR "\n";
+ $Config{'docsplitting'}{$a} = 1;
+ next;
+ }
if ($type eq "build-dep") {
my ($b) = @rest;
$opt_debug && print STDERR "b=$b.\n";
Index: all/debian/tpm2deb.cfg
===================================================================
--- all/debian/tpm2deb.cfg (revision 3046)
+++ all/debian/tpm2deb.cfg (working copy)
@@ -781,6 +781,25 @@
# aleph: Is both the (obsolete) name of a programming language, and of
# an omega variant
conflicts;texlive-omega;aleph
+#
+# docsplitting
+# texlive-base source package
+docsplitting;texlive-latex-base
+replaces;texlive-latex-base-doc;texlive-latex-base (<= 2007-11)
+docsplitting;texlive-latex-recommended
+replaces;texlive-latex-recommended-doc;texlive-latex-recommended (<= 2007-11)
+docsplitting;texlive-fonts-recommended
+replaces;texlive-fonts-recommended-doc;texlive-fonts-recommended (<= 2007-11)
+# texlive-extra
+docsplitting;texlive-latex-extra
+replaces;texlive-latex-extra-doc;texlive-latex-extra (<= 2007-3)
+docsplitting;texlive-pstricks
+replaces;texlive-pstricks-doc;texlive-pstricks (<= 2007-3)
+docsplitting;texlive-publishers
+replaces;texlive-publishers-doc;texlive-publishers (<= 2007-3)
+docsplitting;texlive-humanities
+replaces;texlive-humanities-doc;texlive-humanities (<= 2007-3)
+# other candidates: ...
#
# NON-FREE STUFF
#
Index: all/debian/CHANGES.packaging
===================================================================
--- all/debian/CHANGES.packaging (revision 3047)
+++ all/debian/CHANGES.packaging (working copy)
@@ -4,6 +4,10 @@
# $Id$
#
+2007-08-20
+ * implement doc splitting, so that we can build separate -doc packages
+ for every collection we want to [np]
+
2007-08-16
* fix FTBFS on hurd-i386, adding patch icu-powerpc-buildfix-patch from
Samuel Thibault (Closes: #437949) [np]
Index: texlive-extra/debian/changelog
===================================================================
--- texlive-extra/debian/changelog (revision 3046)
+++ texlive-extra/debian/changelog (working copy)
@@ -1,4 +1,4 @@
-texlive-extra (2007-4~1) unstable; urgency=low
+texlive-extra (2007.1-1~1) unstable; urgency=low
* add stricter dependencies to all packages: if in the final shipout
dep on a texlive package there is no version given, the value of
@@ -6,9 +6,18 @@
* move bigfoot from tl-humanities to tl-latex-extra (upstream move, too)
Add a tl-latex-extra replaces tl-humanities and a tl-latex-extra
recommends tl-humanities (Closes: #420394)
+ * Take over jadetex, xmltex and passivetex, with maintainers' approval
+ unless they are MIA: The new texlive-xml package declares
+ Conflicts/Replaces/Provides on these three packages.
- -- Norbert Preining <preining@debian.org> Tue, 10 Jul 2007 00:48:38 +0200
+ These formats and executables are already integrated upstream, but had
+ been left out of the generated orig.tar.gz, hence we need a new
+ upstream version. [fk]
+ * move xmlplay back to texlive-xml, and let this one replace
+ texlive-latex-extra (<= 2007-3) [np]
+ -- Norbert Preining <preining@debian.org> Mon, 20 Aug 2007 18:42:31 +0200
+
texlive-extra (2007-3) unstable; urgency=low
* Fix the friday 13 bugs: A bad coincidence combined a serious bug in
Index: tpm2deb-source.pl
===================================================================
--- tpm2deb-source.pl (revision 3046)
+++ tpm2deb-source.pl (working copy)
@@ -2,7 +2,8 @@
#
# tpm2deb-source.pl
# machinery to create debian packages from TeX Live depot
-# (c) 2005, 2006 Norbert Preining
+# (c) 2005, 2006, 2007 Norbert Preining
+# (c) 2006, 2007 Frank Küster
#
# $Id$
#
@@ -274,6 +275,7 @@
# don't regenerate an already existing tarball
if ( -f "${src_package}_${version}.orig.tar.gz" ) {
print "${src_package}_${version}.orig.tar.gz already exists, skipping.\n";
+ return 0;
}
#$texlivedest = "$tmpdir/Master";
@@ -293,8 +295,12 @@
#
# Here we have to start if it is a mapped source package
#
- # Norbert, 2 questions: 1. Shouldn't the condition be the other way round?
- # 2. How is arch ever set other than all?
+ # In the case that arch == all we include BinFiles, which are nothing
+ # else then scripts/links/whatever, but nothing compiled.
+ # For arch = any we compile the binaries ourself, so we leave them out
+ # (Note that $arch is set at the outermost foreach loop with
+ # $arch = get_arch($package)
+ # )
if ($arch eq "all") {
$types .= " BinFiles";
}
Index: TODO
===================================================================
--- TODO (revision 3046)
+++ TODO (working copy)
@@ -11,6 +11,12 @@
DONE
* merge the htmlxml branch and build texlive-htmlxml
+ should we really do this???
+ we have jadetex and passivetex taken over under debian-tex-maint
+ hood, and those packages are not likely to change at all, so
+ the only work would be to get the takeover, but that would induce
+ many changes for other packages (build-deps on jadetex).
+ Is it worth the pain?
* split -doc packages from all but the texlive-doc-* automatically
Index: all/debian/CHANGES.packaging
===================================================================
--- all/debian/CHANGES.packaging (revision 3047)
+++ all/debian/CHANGES.packaging (working copy)
@@ -4,6 +4,20 @@
# $Id$
#
+2007-08-20
+ (merge from htmlxml branch, all work done by fk)
+ * really use perl modules from /usr/share/tex-common in tpm2deb-bin.pl
+ * put the DEBHELPER tag before the post parts
+ * Take over jadetex, xmltex and passivetex, with maintainers' approval
+ unless they are MIA: The new texlive-xml package declares
+ Conflicts/Replaces/Provides on these three packages.
+
+ These formats and executables are already integrated upstream, but had
+ been left out of the generated orig.tar.gz, hence we need a new
+ upstream version.
+ * move xmlplay back to texlive-xml, and let this one replace
+ texlive-latex-extra (<= 2007-3) [np]
+
2007-08-16
* fix FTBFS on hurd-i386, adding patch icu-powerpc-buildfix-patch from
Samuel Thibault (Closes: #437949) [np]
Index: all/debian/tpm2deb.cfg
===================================================================
--- all/debian/tpm2deb.cfg (revision 3046)
+++ all/debian/tpm2deb.cfg (working copy)
@@ -39,7 +39,7 @@
# updated latest-version for texlive-lang, but NOT UPLOADED, and then
# you build texlive-base and upload it, IT WILL BREAK!
latest-version;texlive-base;2007-11
-latest-version;texlive-extra;2007
+latest-version;texlive-extra;2007.1
latest-version;texlive-bin;2007-13
latest-version;texlive-doc;2007
latest-version;texlive-lang;2007
@@ -49,9 +49,10 @@
name;collection-basicbin;texlive-base-bin;texlive-bin
name;collection-binextra;texlive-extra-utils;texlive-bin
name;collection-fontbin;texlive-font-utils;texlive-bin
-# htmlxml will not be build, but is replaced by xmtex, jadetex, and passivetex
-# see below
-#name;collection-htmlxml;texlive-htmlxml;texlive-bin
+# collection-htmlxml is now built as tl-xml to replace xmltex,
+# jadetex, and passivetex (not tex4ht). Missing Dep on kvoptions.sty
+name;collection-htmlxml;texlive-xml;texlive-extra
+depends;texlive-xml;texlive-latex-recommended
name;collection-metapost;texlive-metapost;texlive-bin
name;collection-omega;texlive-omega;texlive-bin
name;collection-xetex;texlive-xetex;texlive-bin
@@ -470,9 +471,11 @@
#move;mltex;texlive-formats-extra
depends;texlive-formats-extra;texlive-latex-base
####conflicts;texlive-formats-extra;tetex-bin (<= 3.0-13)
-# xmlplay *was* in texlive-htmlxml, but this is not build anymore, so move
-# it to latex-extra
-move;xmlplay;texlive-latex-extra
+# xmlplay originally was in texlive-htmlxml, but since this wasn't build
+# for a long time, it was moved to texlive-latex-extra. Now we build
+# texlive-xml and move it back there, since it depended anyway on xmltex.
+#move;xmlplay;texlive-latex-extra
+replaces;texlive-xml;texlive-latex-extra (<= 2007-3)
# move yi4latex, the only package missing in the latex-cjk stuff, to
# texlive-latex-extra
move;yi4latex;texlive-latex-extra
@@ -753,11 +756,19 @@
# this is its own collection which is not included, see NAME section above
recommends;texlive-full;latex-cjk-all (>= 4.6.0+cvs20060714-2)
#
-# jadetex, xmltex, passivetex
-# all packages which were contained in texlive-xmlhtml
-# this collection is not included, see NAME section above
-suggests;texlive-full;jadetex (>= 3.13-7.1)
-suggests;texlive-full;xmltex (>> 1.9-11.1), passivetex (>> 1.25-2)
+# jadetex, xmltex, passivetex takeover
+replaces;texlive-xml;jadetex
+conflicts;texlive-xml;jadetex
+provides;texlive-xml;jadetex
+replaces;texlive-xml;xmltex
+conflicts;texlive-xml;xmltex
+provides;texlive-xml;xmltex
+replaces;texlive-xml;passivetex
+conflicts;texlive-xml;passivetex
+provides;texlive-xml;passivetex
+# do not take over tex4ht
+blacklist;tpm;tex4ht;*
+blacklist;tpm;bin-tex4ht;*
#
# dviutils
# dviconcat and dviselect are in dvitutils
@@ -843,6 +854,11 @@
blacklist;file;bin/[^/]*/texsis
# tl-math-extra
blacklist;file;bin/[^/]*/amstex
+# tl-xml
+blacklist;file;bin/[^/]*/jadetex
+blacklist;file;bin/[^/]*/pdfjadetex
+blacklist;file;bin/[^/]*/xmltex
+blacklist;file;bin/[^/]*/pdfxmltex
# tl-lang-cz
blacklist;file;bin/[^/]*/cslatex
blacklist;file;bin/[^/]*/pdfcslatex
Index: all/debian/tpm2deb-bin.pl
===================================================================
--- all/debian/tpm2deb-bin.pl (revision 3046)
+++ all/debian/tpm2deb-bin.pl (working copy)
@@ -10,11 +10,9 @@
#
BEGIN { # get our other local perl modules.
- ($mydir = $0) =~ s,/[^/]*$,,;
- if ($mydir eq $0) { $mydir = `pwd` ; chomp($mydir); }
- if (!($mydir =~ m,/.*,,)) { $mmydir = `pwd`; chomp($mmydir); $mydir = "$mmydir/$mydir" ; }
- unshift (@INC, $mydir);
- unshift (@INC, "$mydir/../build/tools");
+ my $upstream_modules = "/usr/share/tex-common/";
+ unshift (@INC, "./debian");
+ unshift (@INC, $upstream_modules);
}
use strict "vars";
@@ -453,9 +451,9 @@
}
} unless ($type eq "prerm");
# add debhelper stuff and post-parts.
+ print MAINTSCRIPT "\n#DEBHELPER#\n";
merge_into("$debdest/$package.$type.post", MAINTSCRIPT);
merge_into("$debdest/$type.post", MAINTSCRIPT);
- print MAINTSCRIPT "\n#DEBHELPER#\n";
print MAINTSCRIPT "exit 0\n";
close MAINTSCRIPT;
}
Reply to: