[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: