aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Ružička <jakub.ruzicka@nic.cz>2021-04-09 16:35:10 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2021-05-19 17:22:11 +0200
commit60167856af243f5683840d7365493ed0b3fa6cd0 (patch)
tree9a7ca5b19488c60a0a481f578fccdcd9a69f8a58
parent329d6e3fbc5a09a9bc8800bd8a5d239dec1a3d24 (diff)
downloadbird-60167856af243f5683840d7365493ed0b3fa6cd0.tar.gz
docs: disable docs subpackage to fix FTBFS
Adressing following FTBFS on all older debian/ubuntu distros: Can't locate LinuxDocTools/Data/Latin1ToSgml.pm in @INC (you may need to install the LinuxDocTools::Data::Latin1ToSgml module)
-rw-r--r--distro/pkg/deb/bird2-doc.docs4
-rw-r--r--distro/pkg/deb/control15
-rw-r--r--distro/pkg/deb/patches/0001-Sync-the-linuxdoc-mangled-files-with-linuxdoc-tools_.patch1394
-rw-r--r--distro/pkg/deb/patches/series1
-rwxr-xr-xdistro/pkg/deb/rules1
-rw-r--r--distro/pkg/rpm/bird.spec6
6 files changed, 1 insertions, 1420 deletions
diff --git a/distro/pkg/deb/bird2-doc.docs b/distro/pkg/deb/bird2-doc.docs
deleted file mode 100644
index 4c0c6465..00000000
--- a/distro/pkg/deb/bird2-doc.docs
+++ /dev/null
@@ -1,4 +0,0 @@
-obj/doc/bird*.html
-obj/doc/bird.pdf
-obj/doc/prog*.html
-obj/doc/prog.pdf
diff --git a/distro/pkg/deb/control b/distro/pkg/deb/control
index 4935c696..879c1d6e 100644
--- a/distro/pkg/deb/control
+++ b/distro/pkg/deb/control
@@ -8,11 +8,9 @@ Build-Depends: bison,
libncurses5-dev,
libreadline-dev | libreadline6-dev | libreadline5-dev,
libssh-gcrypt-dev,
- linuxdoc-tools-latex,
m4,
opensp,
quilt,
- texlive-latex-extra,
xsltproc
Maintainer: Jakub Ružička <jakub.ruzicka@nic.cz>
Uploaders: Ondřej Surý <ondrej@debian.org>
@@ -31,7 +29,6 @@ Depends: adduser,
${misc:Depends},
${shlibs:Depends}
Conflicts: bird
-Suggests: bird2-doc
Description: Internet Routing Daemon
BIRD is an Internet routing daemon with full support for all the major
routing protocols. It allows redistribution between protocols with a
@@ -41,15 +38,3 @@ Description: Internet Routing Daemon
BIRD supports IPv4 and IPv6 versions of OSPF, RIP, BGP and Babel routing
protocols. It also supports supplementary protocols like BFD, RPKI-Router
and IPv6 router advertisements.
-
-Package: bird2-doc
-Architecture: all
-Section: doc
-Depends: ${misc:Depends}
-Description: Internet Routing Daemon - documentation
- BIRD is an Internet routing daemon with full support for all the major
- routing protocols. It allows redistribution between protocols with a
- powerful route filtering syntax and an easy-to-use configuration
- interface.
- .
- This package provides the user and developer documentation.
diff --git a/distro/pkg/deb/patches/0001-Sync-the-linuxdoc-mangled-files-with-linuxdoc-tools_.patch b/distro/pkg/deb/patches/0001-Sync-the-linuxdoc-mangled-files-with-linuxdoc-tools_.patch
deleted file mode 100644
index 9ac96817..00000000
--- a/distro/pkg/deb/patches/0001-Sync-the-linuxdoc-mangled-files-with-linuxdoc-tools_.patch
+++ /dev/null
@@ -1,1394 +0,0 @@
-From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= <ondrej@debian.org>
-Date: Mon, 11 May 2020 10:27:06 +0200
-Subject: Sync the linuxdoc mangled files with linuxdoc-tools_0.9.73-2
-
----
- doc/LinuxDocTools.pm | 903 ++++++++++++++++++++++++++-------------------------
- doc/sgml2html | 77 +++--
- doc/sgml2latex | 77 +++--
- doc/sgml2txt | 77 +++--
- 4 files changed, 611 insertions(+), 523 deletions(-)
-
-diff --git a/doc/LinuxDocTools.pm b/doc/LinuxDocTools.pm
-index d32f317..c035f62 100644
---- a/doc/LinuxDocTools.pm
-+++ b/doc/LinuxDocTools.pm
-@@ -1,21 +1,19 @@
--#! /usr/bin/perl
-+#! /usr/bin/perl
- #
- # LinuxDocTools.pm
- #
--# $Id$
--#
--# LinuxDoc-Tools driver core. This contains all the basic functionality
--# we need to control all other components.
--#
--# Copyright 1996, Cees de Groot.
--# Copyright 2000, Taketoshi Sano
--#
--# THIS VERSION HAS BEEN HACKED FOR BIRD BY MARTIN MARES
-+# LinuxDoc-Tools driver core. This contains all the basic
-+# functionality we need to control all other components.
- #
-+# Copyright 1996, Cees de Groot.
-+# Copyright 2000, Taketoshi Sano
-+# Copyright 2006-2020, Agustin Martin
-+# -------------------------------------------------------------------
- package LinuxDocTools;
-
--require 5.004;
-+require 5.006;
- use strict;
-+use LinuxDocTools::Data::Latin1ToSgml qw{ldt_latin1tosgml};
-
- =head1 NAME
-
-@@ -33,8 +31,8 @@ LinuxDocTools - SGML conversion utilities for LinuxDoc DTD.
- =head1 DESCRIPTION
-
- The LinuxDocTools package encapsulates all the functionality offered by
--LinuxDoc-Tools. It is used, of course, by LinuxDoc-Tools;
--but the encapsulation should provide for a simple interface for other users as well.
-+LinuxDoc-Tools. It is used, of course, by LinuxDoc-Tools;
-+but the encapsulation should provide for a simple interface for other users as well.
-
- =head1 FUNCTIONS
-
-@@ -42,21 +40,24 @@ but the encapsulation should provide for a simple interface for other users as w
-
- =cut
-
--use DirHandle;
--use File::Basename;
--use File::Find;
- use File::Copy;
--use FileHandle;
--use IPC::Open2;
--use Cwd;
-+use File::Temp qw(tempdir);
-+use File::Basename qw(fileparse);
- use LinuxDocTools::Lang;
--use LinuxDocTools::Utils qw(process_options usage cleanup trap_signals remove_tmpfiles create_temp);
-+use LinuxDocTools::Utils qw(
-+ cleanup
-+ create_temp
-+ ldt_log
-+ remove_tmpfiles
-+ trap_signals
-+ usage
-+ );
- use LinuxDocTools::Vars;
-
- sub BEGIN
- {
- #
-- # Make sure we're always looking here. Note that "use lib" adds
-+ # Make sure we're always looking here. Note that "use lib" adds
- # on the front of the search path, so we first push dist, then
- # site, so that site is searched first.
- #
-@@ -64,54 +65,127 @@ sub BEGIN
- use lib "$main::DataDir/site";
- }
-
-+# -------------------------------------------------------------------
-+sub ldt_searchfile {
-+ # -----------------------------------------------------------------
-+ # Look for a readable file in the locations. Return first math.
-+ # -----------------------------------------------------------------
-+ my $files = shift;
-+ foreach my $file ( @$files ){
-+ return $file if -r $file;
-+ }
-+}
-+
-+# -------------------------------------------------------------------
-+sub ldt_getdtd_v1 {
-+ # -----------------------------------------------------------------
-+ # Get the dtd
-+ # -----------------------------------------------------------------
-+ my $file = shift;
-+ my $error_header = "LinuxdocTools::ldt_getdtd_v1";
-+ my $dtd;
-+
-+ open ( my $FILE, "< $file")
-+ or die "$error_header: Could not open \"$file\" for reading. Aborting ...\n";
-+
-+ while ( <$FILE> ) {
-+ tr/A-Z/a-z/;
-+ # check for [<!doctype ... system] type definition
-+ if ( /<!doctype\s*(\w*)\s*system/ ) {
-+ $dtd = $1;
-+ last;
-+ # check for <!doctype ... PUBLIC ... DTD ...
-+ } elsif ( /<!doctype\s*\w*\s*public\s*.*\/\/dtd\s*(\w*)/mi ) {
-+ $dtd = $1;
-+ last;
-+ # check for <!doctype ...
-+ # PUBLIC ... DTD ...
-+ # (multi-line version)
-+ } elsif ( /<!doctype\s*(\w*)/ ) {
-+ $dtd = "precheck";
-+ next;
-+ } elsif ( /\s*public\s*.*\/\/dtd\s*(\w*)/ && $dtd eq "precheck" ) {
-+ $dtd = $1;
-+ last;
-+ }
-+ }
-+ close $FILE;
-+
-+ return $dtd;
-+}
-+
-+# -------------------------------------------------------------------
-+sub ldt_getdtd_v2 {
-+ # -----------------------------------------------------------------
-+ # Second way of getting dtd, fron nsgmls output.
-+ # -----------------------------------------------------------------
-+ my $preaspout = shift;
-+ my $error_header = "LinuxdocTools::ldt_getdtd_v2";
-+ my $dtd2;
-+
-+ open (my $TMP,"< $preaspout")
-+ or die "%error_header: Could not open $preaspout for reading. Aborting ...\n";
-+ while ( defined ($dtd2 = <$TMP>) && ! ( $dtd2 =~ /^\(/) ) { };
-+ close $TMP;
-+ $dtd2 =~ s/^\(//;
-+ $dtd2 =~ tr/A-Z/a-z/;
-+ chomp $dtd2;
-+ return $dtd2;
-+}
-+
-+# -------------------------------------------------------------------
-+
- =item LinuxDocTools::init
-
- Takes care of initialization of package-global variables (which are actually
- defined in L<LinuxDocTools::Vars>). The package-global variables are I<$global>,
- a reference to a hash containing numerous settings, I<%Formats>, a hash
- containing all the formats, and I<%FmtList>, a hash containing the currently
--active formats for help texts.
-+active formats for help texts.
-
- Apart from this, C<LinuxDocTools::init> also finds all distributed and site-local
- formatting backends and C<require>s them.
-
- =cut
-
--sub init
--{
-+# -------------------------------------------------------------------
-+sub init {
-+# -------------------------------------------------------------------
- trap_signals;
-
-- #
-- # Register the ``global'' pseudoformat. Apart from the global settings,
-- # we also use $global to keep the global variable name space clean;
-- # everything that we need to provide to other modules is stuffed
-- # into $global.
-- #
-- $global = {};
-- $global->{NAME} = "global";
-- $global->{HELP} = "";
-- $global->{OPTIONS} = [
-- { option => "backend", type => "l",
-- 'values' => [ "html", "info", "latex",
-- "lyx", "rtf", "txt", "check" ],
-- short => "B" },
-- { option => "papersize", type => "l",
-- 'values' => [ "a4", "letter" ], short => "p" },
-- { option => "language", type => "l",
-- 'values' => [ @LinuxDocTools::Lang::Languages ], short => "l" },
-- { option => "charset", type => "l",
-- 'values' => [ "latin", "ascii", "nippon", "euc-kr" ], short => "c" },
-- { option => "style", type => "s", short => "S" },
-- { option => "tabsize", type => "i", short => "t" },
--# { option => "verbose", type => "f", short => "v" },
-- { option => "debug", type => "f", short => "d" },
-- { option => "define", type => "s", short => "D" },
-- { option => "include", type => "s", short => "i" },
-- { option => "pass", type => "s", short => "P" }
-- ];
-+ # Register the ``global'' pseudoformat. Apart from the global settings, we
-+ # also use $global to keep the global variable name space clean everything
-+ # that we need to provide to other modules is stuffed into $global.
-+ $global = {};
-+ $global->{NAME} = "global";
-+ $global->{HELP} = "";
-+ $global->{OPTIONS} = [
-+ { option => "backend",
-+ type => "l",
-+ 'values' => [ "html", "info", "latex", "lyx", "rtf", "txt", "check" ],
-+ short => "B" },
-+ { option => "papersize",
-+ type => "l",
-+ 'values' => [ "a4", "letter" ],
-+ short => "p" },
-+ { option => "language",
-+ type => "l",
-+ 'values' => [ @LinuxDocTools::Lang::Languages ],
-+ short => "l" },
-+ { option => "charset", type => "l",
-+ 'values' => [ "latin", "ascii", "nippon", "euc-kr" , "utf-8"],
-+ short => "c" },
-+ { option => "style", type => "s", short => "S" },
-+ { option => "tabsize", type => "i", short => "t" },
-+ # { option => "verbose", type => "f", short => "v" },
-+ { option => "debug", type => "f", short => "d" },
-+ { option => "define", type => "s", short => "D" },
-+ { option => "include", type => "s", short => "i" },
-+ { option => "pass", type => "s", short => "P" }
-+ ];
- $global->{backend} = "linuxdoc";
- $global->{papersize} = "a4";
-- $global->{language} = "en";
-+ $global->{language} = '';
- $global->{charset} = "ascii";
- $global->{style} = "";
- $global->{tabsize} = 8;
-@@ -119,11 +193,24 @@ sub init
- $global->{define} = "";
- $global->{debug} = 0;
- $global->{include} = "";
-+ $global->{logfile} = '';
- $global->{pass} = "";
- $global->{InFiles} = [];
-+ $global->{fmtlist} = ""; # List of loaded fmt files
- $Formats{$global->{NAME}} = $global; # All formats we know.
- $FmtList{$global->{NAME}} = $global; # List of formats for help msgs.
-
-+ $global->{sgmlpre} = "$main::AuxBinDir/sgmlpre";
-+ my $error_header = "LinuxdocTools::init";
-+
-+ if ( -e "/etc/papersize" ){
-+ open (my $PAPERSIZE,"< /etc/papersize") ||
-+ die "$error_header: Count not open \"/etc/papersize\" for reading\n";
-+ chomp (my $paper = <$PAPERSIZE>);
-+ $global->{papersize} = "letter" if ( $paper eq "letter");
-+ close $PAPERSIZE;
-+ }
-+
- # automatic language detection: disabled by default
- # {
- # my $lang;
-@@ -137,42 +224,39 @@ sub init
- # }
- # }
-
-- #
-- # Used when the format is "global" (from sgmlcheck).
-- #
-+ # -------------------------------------------------------------------
- $global->{preNSGMLS} = sub {
-- $global->{NsgmlsOpts} .= " -s ";
-+ # -----------------------------------------------------------------
-+ # Define a fallback preNSGMLS. Used when the format is "global"
-+ # (from sgmlcheck).
-+ # -----------------------------------------------------------------
-+ $global->{NsgmlsOpts} .= " -s ";
- $global->{NsgmlsPrePipe} = "cat $global->{file}";
- };
-
-- #
-- # Build up the list of formatters.
-- #
-- my $savdir = cwd;
-- my %Locs;
-- chdir "$main::DataDir/dist";
-- my $dir = new DirHandle(".");
-- die "Unable to read directory $main::DataDir/dist: $!" unless defined($dir);
-- foreach my $fmt (grep(/^fmt_.*\.pl$/, $dir->read()))
-- {
-- $Locs{$fmt} = "dist";
-- }
-- $dir->close();
-- chdir "$main::DataDir/site";
-- $dir = new DirHandle(".");
-- die "Unable to read directory $main::DataDir/site: $!" unless defined($dir);
-- foreach my $fmt (grep(/^fmt_.*\.pl$/, $dir->read()))
-- {
-- $Locs{$fmt} = "site";
-+ # We need to load all fmt files here, so the allowed options for all
-+ # format are put into $global and a complete usage message is built,
-+ # including options for all formats.
-+ my %locations = ();
-+ foreach my $path ("$main::DataDir/site",
-+ "$main::DataDir/dist",
-+ "$main::DataDir/fmt"){
-+ foreach my $location (<$path/fmt_*.pl>){
-+ my $fmt = $location;
-+ $fmt =~ s/^.*_//;
-+ $fmt =~ s/\.pl$//;
-+ $locations{$fmt} = $location unless defined $locations{$fmt};
-+ }
- }
-- $dir->close();
-- foreach my $fmt (keys %Locs)
-- {
-- require $fmt;
-+
-+ foreach my $fmt ( keys %locations ){
-+ $global->{fmtlist} .= " Loading $locations{$fmt}\n";
-+ require $locations{$fmt};
- }
-- chdir $savdir;
- }
-
-+# ------------------------------------------------------------------------
-+
- =item LinuxDocTools::process_options ($0, @ARGV)
-
- This function contains all initialization that is bound to the current
-@@ -181,91 +265,113 @@ should be used (ld2txt activates the I<txt> backend) and parses the
- options array. It returns an array of filenames it encountered during
- option processing.
-
--As a side effect, the environment variables I<SGMLDECL> and
--I<SGML_CATALOG_FILES> are modified.
-+As a side effect, the environment variable I<SGML_CATALOG_FILES> is
-+modified and, once I<$global->{format}> is known, I<SGMLDECL> is set.
-
- =cut
-
--sub process_options
--{
-- my $progname = shift;
-- my @args = @_;
-+# -------------------------------------------------------------------
-+sub process_options {
-+ # -----------------------------------------------------------------
-+ my $progname = shift;
-+ my @tmpargs = @_;
-+ my @args = ();
-+ my $format = '';
-+ my $msgheader = "LinuxDocTools::process_options";
-+
-+ # Try getting the format. We need to do this here so process_options
-+ # knows which is the format and which format options are allowed
-+
-+ # First, see if we have an explicit backend option by looping over command line.
-+ # Do not shift in the while condition itself, 0 in options like '-s 0' will
-+ # otherwise stop looping
-+ while ( @tmpargs ){
-+ $_ = shift @tmpargs;
-+ if ( s/--backend=// ){
-+ $format = $_;
-+ } elsif ( $_ eq "-B" ){
-+ $format = shift @tmpargs;
-+ } else {
-+ push @args, $_;
-+ }
-+ }
-
-- #
-- # Deduce the format from the caller's file name
-- #
-- my ($format, $dummy1, $dummy2) = fileparse ($progname, "");
-- $global->{myname} = $format;
-- $format =~ s/sgml2*(.*)/$1/;
-+ unless ( $format ){
-+ my ($tmpfmt, $dummy1, $dummy2) = fileparse($progname, "");
-+ if ( $tmpfmt =~ s/^sgml2// ) { # Calling program through sgml2xx symlinks
-+ $format = $tmpfmt;
-+ } elsif ( $tmpfmt eq "sgmlcheck" ) { # Calling program through sgmlcheck symlink
-+ $format = "global";
-+ }
-+ }
-
-- #
-- # check the option "--backend / -B"
-- #
-- if ($format eq "linuxdoc") {
-- my @backends = @args;
-- my $arg;
-- while (@backends) {
-- $arg = shift @backends;
-- if ($arg eq "-B") {
-- $arg = shift @backends;
-- $format = $arg;
-- last;
-- }
-- if ( $arg =~ s/--backend=(.*)/$1/ ) {
-- $format = $arg;
-- last;
-- }
-+ if ( $format ) {
-+ if ( $format eq "check" ){
-+ $format = "global";
-+ } elsif ( $format eq "latex" ){
-+ $format = "latex2e";
-+ }
-+ $FmtList{$format} = $Formats{$format} or
-+ usage("$format: Unknown format");
-+ $global->{format} = $format;
-+ } else {
-+ usage("");
-+ }
-+
-+ # Parse all the options from @args, and return files.
-+ my @files = LinuxDocTools::Utils::process_options(@args);
-+
-+ # Check the number of given files
-+ $#files > -1 || usage("No filenames given");
-+
-+ # Normalize language string
-+ $global->{language} = Any2ISO($global->{language})
-+ if ( defined $global->{language} );
-+
-+ # Fine tune japanese and korean charsets when not utf-8
-+ if ($global->{charset} ne "utf-8") {
-+ if ($global->{language} eq "ja" ){
-+ $global->{charset} = "nippon";
-+ } elsif ($global->{language} eq "ko"){
-+ if ($global->{format} eq "groff") {
-+ $global->{charset} = "latin1";
-+ } else {
-+ $global->{charset} = "euc-kr";
- }
-+ }
- }
-
-- $format = "global" if $format eq "check";
-- usage ("") if $format eq "linuxdoc";
-- $format = "latex2e" if $format eq "latex";
-- $FmtList{$format} = $Formats{$format} or
-- usage ("$global->{myname}: unknown format");
-- $global->{format} = $format;
-+ # Setup the SGML environment.
-+ my @sgmlcatalogs =
-+ (# SGML iso-entities catalog location in Debian sgml-data package
-+ "$main::isoentities_prefix/share/sgml/entities/sgml-iso-entities-8879.1986/catalog",
-+ # SGML iso-entities catalog location in ArchLinux, Fedora and Gentoo
-+ "$main::isoentities_prefix/share/sgml/sgml-iso-entities-8879.1986/catalog",
-+ # SGML iso-entities catalog location when installed from linuxdoc-tools
-+ "$main::isoentities_prefix/share/sgml/iso-entities-8879.1986/iso-entities.cat",
-+ # dtd/catalog for SGML-Tools
-+ "$main::DataDir/linuxdoc-tools.catalog",
-+ # The super catalog
-+ "/etc/sgml/catalog");
-
-- #
-- # Parse all the options.
-- #
-- my @files = LinuxDocTools::Utils::process_options (@args);
-- $global->{language} = Any2ISO ($global->{language});
-- #
-- # check the number of given files
-- $#files > -1 || usage ("no filenames given");
-+ @sgmlcatalogs = ($ENV{SGML_CATALOG_FILES}, @sgmlcatalogs) if defined $ENV{SGML_CATALOG_FILES};
-
-- #
-- # Setup the SGML environment.
-- # (Note that Debian package rewrite path to catalog of
-- # iso-entities using debian/rules so that it can use
-- # entities from sgml-data pacakge. debian/rules also
-- # removes iso-entites sub directory after doing make install.)
-- #
-- $ENV{SGML_CATALOG_FILES} .= (defined $ENV{SGML_CATALOG_FILES} ? ":" : "") .
-- "$main::prefix/share/sgml/sgml-iso-entities-8879.1986/catalog:" .
-- "$main::prefix/share/sgml/entities/sgml-iso-entities-8879.1986/catalog";
-- $ENV{SGML_CATALOG_FILES} .= ":$main::DataDir/linuxdoc-tools.catalog";
-- $ENV{SGML_CATALOG_FILES} .= ":$main::/etc/sgml.catalog";
-- if (-f "$main::DataDir/dtd/$format.dcl")
-- {
-- $ENV{SGMLDECL} = "$main::DataDir/dtd/$format.dcl";
-- }
-- elsif (-f "$main::DataDir/dtd/$global->{style}.dcl")
-- {
-- $ENV{SGMLDECL} = "$main::DataDir/dtd/$global->{style}.dcl";
-- }
-- elsif (-f "$main::DataDir/dtd/sgml.dcl")
-- {
-- $ENV{SGMLDECL} = "$main::DataDir/dtd/sgml.dcl";
-- }
-+ $ENV{SGML_CATALOG_FILES} = join(':', @sgmlcatalogs);
-
-- #
-- # OK. Give the list of files we distilled from the options
-- # back to the caller.
-- #
-+ # Set to one of these if readable, nil otherwise
-+ $ENV{SGMLDECL} = ldt_searchfile(["$main::DataDir/dtd/$global->{format}.dcl",
-+ "$main::DataDir/dtd/$global->{style}.dcl",
-+ "$main::DataDir/dtd/sgml.dcl"]);
-+
-+ # Show the list of loaded fmt_*.pl files if debugging
-+ print STDERR $global->{fmtlist} if $global->{debug};
-+
-+ # Return the list of files to be processed
- return @files;
- }
-
-+# -------------------------------------------------------------------
-+
- =item LinuxDocTools::process_file
-
- With all the configuration done, this routine will take a single filename
-@@ -294,330 +400,243 @@ etcetera. See the code for details.
-
- =cut
-
--sub process_file
--{
-- my $file = shift (@_);
-- my $saved_umask = umask;
-+# -------------------------------------------------------------------
-+sub process_file {
-+ # ----------------------------------------------------------------
-+ my $file = $global->{origfile} = shift (@_);
-+ my $saved_umask = umask;
-+ my $error_header = "LinuxdocTools::process_file";
-+ my $fmtopts = $Formats{$global->{format}};
-
- print "Processing file $file\n";
- umask 0077;
-
-- my ($filename, $filepath, $filesuffix) = fileparse ($file, "\.sgml");
-- my $tmpnam = $filepath . '/' . $filename;
-- $file = $tmpnam . $filesuffix;
-- -f $file || $file =~ /.*.sgml$/ || ($file .= '.sgml');
-- -f $file || ($file = $tmpnam . '.SGML');
-- -f $file || die "Cannot find $file\n";
-+ my ($filename, $filepath, $filesuffix) = fileparse($file, "\.sgml");
- $global->{filename} = $filename;
-- $global->{file} = $file;
- $global->{filepath} = $filepath;
-+ $global->{file} = ldt_searchfile(["$filepath/$filename.sgml",
-+ "$filepath/$filename.SGML"])
-+ or die "$error_header: Cannot find $file. Aborting ...\n";
-+
-+ my $dtd = ldt_getdtd_v1("$global->{file}");
-+ print STDERR "DTD: " . $dtd . "\n" if $global->{debug};
-+
-+ # -- Prepare temporary directory
-+ my $tmpdir = $ENV{'TMPDIR'} || '/tmp';
-+ $tmpdir = tempdir("linuxdoc-tools.XXXXXXXXXX", DIR => "$tmpdir");
-+
-+ # -- Set common base name for temp files and temp file names
-+ my $tmpbase = $global->{tmpbase} = $tmpdir . '/sgmltmp.' . $filename;
-+ my $precmdout = "$tmpbase.01.precmdout";
-+ my $nsgmlsout = "$tmpbase.02.nsgmlsout"; # Was $tmpbase.1
-+ my $preaspout = "$tmpbase.03.preaspout"; # Was $tmpbase.2
-+ my $aspout = "$tmpbase.04.aspout"; # Was $tmpbase.3
-+
-+ # -- Set $global->{logfile} and initialize logfile.
-+ $global->{logfile} = "$tmpbase.$global->{format}.log";
-+ open (my $LOGFILE, ">", "$global->{logfile}")
-+ or die "$error_header: Could not open \"$global->{logfile}\" logfile for write.\n";
-+ print $LOGFILE "--- Opening \"$global->{logfile}\" logfile ---\n";
-+ close $LOGFILE;
-+
-+ # -- Write info about some global options
-+ ldt_log "--- Begin: Info about global options";
-+ foreach ( sort keys %$global ){
-+ next if m/fmtlist|InFiles|OPTIONS/;
-+ ldt_log "$_: $global->{$_}";
-+ }
-+ ldt_log "--- End: Info about global options";
-+ ldt_log "$global->{fmtlist}";
-+
-+ # -- Write info about some backend options
-+ ldt_log "--- Begin: Info about backend options";
-+ foreach ( sort keys %$fmtopts ){
-+ next if m/fmtlist|InFiles|OPTIONS/;
-+ ldt_log "$_: $fmtopts->{$_}";
-+ }
-+ ldt_log "--- End: Info about backend options";
-
-- my $tmp = new FileHandle "<$file";
-- my $dtd;
-- while ( <$tmp> )
-- {
-- tr/A-Z/a-z/;
-- # check for [<!doctype ... system] type definition
-- if ( /<!doctype\s*(\w*)\s*system/ )
-- {
-- $dtd = $1;
-- last;
-- }
-- # check for <!doctype ... PUBLIC ... DTD ...
-- if ( /<!doctype\s*\w*\s*public\s*.*\/\/dtd\s*(\w*)/mi )
-- {
-- $dtd = $1;
-- last;
-- }
-- # check for <!doctype ...
-- # PUBLIC ... DTD ...
-- # (multi-line version)
-- if ( /<!doctype\s*(\w*)/ )
-- {
-- $dtd = "precheck";
-- next;
-- }
-- if ( /\s*public\s*.*\/\/dtd\s*(\w*)/ && $dtd eq "precheck" )
-- {
-- $dtd = $1;
-- last;
-- }
-- }
-- $tmp->close;
-- if ( $global->{debug} )
-- {
-- print "DTD: " . $dtd . "\n";
-+ # Set up the preprocessing command. Conditionals have to be
-+ # handled here until they can be moved into the DTD, otherwise
-+ # a validating SGML parser will choke on them.
-+
-+ # -- Check if output option for latex is pdf or not
-+ if ($global->{format} eq "latex2e") {
-+ if ($Formats{$global->{format}}{output} eq "pdf") {
-+ $global->{define} .= " pdflatex=yes";
- }
-- $global->{dtd} = $dtd;
-+ }
-
-- # prepare temporary directory
-- my $tmpdir = $ENV{'TMPDIR'} || '/tmp';
-- $tmpdir = $tmpdir . '/' . 'linuxdoc-dir-' . $$;
-- mkdir ($tmpdir, 0700) ||
-- die " - temporary files can not be created, aborted - \n";
-+ # -- Set the actual pre-processing command
-+ my($precmd) = "| $global->{sgmlpre} output=$global->{format} $global->{define}";
-+ ldt_log " ${error_header}::precmd:\n $precmd";
-
-- my $tmpbase = $global->{tmpbase} = $tmpdir . '/sgmltmp.' . $filename;
-+ # -- Make sure path of file to be processed is in SGML_SEARCH_PATH
- $ENV{"SGML_SEARCH_PATH"} .= ":$filepath";
-
-- #
-- # Set up the preprocessing command. Conditionals have to be
-- # handled here until they can be moved into the DTD, otherwise
-- # a validating SGML parser will choke on them.
-- #
-- # check if output option for latex is pdf or not
-- if ($global->{format} eq "latex2e")
-- {
-- if ($Formats{$global->{format}}{output} eq "pdf")
-- {
-- $global->{define} .= " pdflatex=yes";
-- }
-- }
-- #
-+ # -- You can hack $NsgmlsOpts here, etcetera.
-+ $global->{NsgmlsOpts} .= "-D $main::prefix/share/sgml -D $main::DataDir";
-+ $global->{NsgmlsOpts} .= "-i$global->{include}" if ($global->{include});
-+
-+ # If a preNSGMLS function is defined in the fmt file, pipe its output to $FILE,
-+ # otherwise just open $global->{file} as $IFILE
-+ # -----------------------------------------------------------------
-+ ldt_log "- PreNsgmls stage started.";
-+ my $IFILE;
-+ if ( defined $Formats{$global->{format}}{preNSGMLS} ) {
-+ $global->{NsgmlsPrePipe} = &{$Formats{$global->{format}}{preNSGMLS}};
-+ ldt_log " ${error_header}::NsgmlsPrePipe: $global->{NsgmlsPrePipe} |";
-+ open ($IFILE,"$global->{NsgmlsPrePipe} |")
-+ || die "$error_header: Could not open pipe from $global->{NsgmlsPrePipe}. Aborting ...\n";
-+ } else {
-+ ldt_log " ${error_header}: No prepipe. Just opening \"$global->{file}\" for read";
-+ open ($IFILE,"< $global->{file}")
-+ || die "$error_header: Could not open $global->{file} for reading. Aborting ...\n";
-+ }
-
-- local $ENV{PATH} = "$ENV{PATH}:/usr/lib/linuxdoc-tools";
-- my($precmd) = "|sgmlpre output=$global->{format} $global->{define}";
-+ # -- Create a temp file with $precmd output
-+ my $precmd_command = "$precmd > $precmdout";
-+ ldt_log " ${error_header}::precmd_command:\n $precmd_command";
-
-- #
-- # You can hack $NsgmlsOpts here, etcetera.
-- #
-- $global->{NsgmlsOpts} .= "-D $main::prefix/share/sgml -D $main::DataDir";
-- $global->{NsgmlsOpts} .= "-i$global->{include}" if ($global->{include});
-- $global->{NsgmlsPrePipe} = "NOTHING";
-- if ( defined $Formats{$global->{format}}{preNSGMLS} )
-- {
-- $global->{NsgmlsPrePipe} = &{$Formats{$global->{format}}{preNSGMLS}};
-- }
-+ open (my $PRECMDOUT, "$precmd_command")
-+ or die "$error_header: Could not open pipe to $precmdout. Aborting ...\n";
-
-- #
-- # Run the prepocessor and nsgmls.
-- #
-- my ($ifile, $writensgmls);
-+ # -- Convert latin1 chars to sgml entities for html backend
-+ if ( $global->{format} eq "html"
-+ && $global->{charset} eq "latin" ) {
-+ ldt_log " ${error_header}: Converting latin1 chars to sgml entities for html backend";
-+ print $PRECMDOUT ldt_latin1tosgml($IFILE);
-+ } else {
-+ copy($IFILE,$PRECMDOUT);
-+ }
-
-- if ($global->{NsgmlsPrePipe} eq "NOTHING")
-- {
-- $ifile = new FileHandle $file;
-- }
-- else
-- {
-- $ifile = new FileHandle "$global->{NsgmlsPrePipe}|";
-- }
-+ close $IFILE;
-+ close $PRECMDOUT;
-+ ldt_log "- PreNsgmls stage finished.";
-
-- create_temp("$tmpbase.1");
-- $writensgmls = new FileHandle
-- "$precmd|$main::progs->{NSGMLS} $global->{NsgmlsOpts} $ENV{SGMLDECL} >\"$tmpbase.1\"";
-- if ($global->{charset} eq "latin")
-- {
-- while (<$ifile>)
-- {
-- # Outline these commands later on - CdG
-- #change latin1 characters to SGML
-- #by Farzad Farid, adapted by Greg Hankins
-- s//\&Agrave;/g;
-- s//\&Aacute;/g;
-- s//\&Acirc;/g;
-- s//\&Atilde;/g;
-- s//\&Auml;/g;
-- s//\&Aring;/g;
-- s//\&AElig;/g;
-- s//\&Ccedil;/g;
-- s//\&Egrave;/g;
-- s//\&Eacute;/g;
-- s//\&Ecirc;/g;
-- s//\&Euml;/g;
-- s//\&Igrave;/g;
-- s//\&Iacute;/g;
-- s//\&Icirc;/g;
-- s//\&Iuml;/g;
-- s//\&Ntilde;/g;
-- s//\&Ograve;/g;
-- s//\&Oacute;/g;
-- s//\&Ocirc;/g;
-- s//\&Otilde;/g;
-- s//\&Ouml;/g;
-- s//\&Oslash;/g;
-- s//\&Ugrave;/g;
-- s//\&Uacute;/g;
-- s//\&Ucirc;/g;
-- s//\&Uuml;/g;
-- s//\&Yacute;/g;
-- s//\&THORN;/g;
-- s//\&szlig;/g;
-- s//\&agrave;/g;
-- s//\&aacute;/g;
-- s//\&acirc;/g;
-- s//\&atilde;/g;
-- s//\&auml;/g;
-- s//\&aring;/g;
-- s//\&aelig;/g;
-- s//\&ccedil;/g;
-- s//\&egrave;/g;
-- s//\&eacute;/g;
-- s//\&ecirc;/g;
-- s//\&euml;/g;
-- s//\&igrave;/g;
-- s//\&iacute;/g;
-- s//\&icirc;/g;
-- s//\&iuml;/g;
-- s//\&mu;/g;
-- s//\&eth;/g;
-- s//\&ntilde;/g;
-- s//\&ograve;/g;
-- s//\&oacute;/g;
-- s//\&ocirc;/g;
-- s//\&otilde;/g;
-- s//\&ouml;/g;
-- s//\&oslash;/g;
-- s//\&ugrave;/g;
-- s//\&uacute;/g;
-- s//\&ucirc;/g;
-- s//\&uuml;/g;
-- s//\&yacute;/g;
-- s//\&thorn;/g;
-- s//\&yuml;/g;
-- print $writensgmls $_;
-- }
-- }
-- else
-- {
-- while (<$ifile>)
-- {
-- print $writensgmls $_;
-- }
-- }
-- $ifile->close;
-- $writensgmls->close;
--
-- #
-- # Special case: if format is global, we're just checking.
-- #
-- $global->{format} eq "global" && cleanup;
-+ ldt_log "- Nsgmls stage started.";
-
-- #
-- # If the output file is empty, something went wrong.
-- #
-- ! -e "$tmpbase.1" and die "can't create file - exiting";
-- -z "$tmpbase.1" and die "SGML parsing error - exiting";
-- if ( $global->{debug} )
-- {
-- print "Nsgmls stage finished.\n";
-- }
-+ # -- Pass apropriate envvars to nsgmls to better deal with utf-8
-+ my $NSGMLS_envvars = ($global->{charset} eq "utf-8")
-+ ? "SP_CHARSET_FIXED=yes SP_ENCODING=utf-8" : "";
-+
-+ # -- Process with nsgmls.
-+ my $nsgmls_command = "$NSGMLS_envvars $main::progs->{NSGMLS} $global->{NsgmlsOpts} $ENV{SGMLDECL} $precmdout > $nsgmlsout";
-+ ldt_log " ${error_header}::nsgmls_command:\n $nsgmls_command";
-+ system($nsgmls_command) == 0
-+ or die "${error_header}: Error: \"$nsgmls_command\" failed with exit status: ",$? >> 8,"\n";
-+
-+ # -- Special case: if format is global, we're just checking.
-+ cleanup if ( $global->{format} eq "global");
-+
-+ # -- If output file does not exists or is empty, something went wrong.
-+ if ( ! -e "$nsgmlsout" ) {
-+ die "$error_header: Can't create file $nsgmlsout. Aborting ...\n";
-+ } elsif ( -z "$nsgmlsout" ){
-+ die "$error_header: $nsgmlsout empty, SGML parsing error. Aborting ...\n";
-+ }
-+
-+ print "- Nsgmls stage finished.\n" if $global->{debug};
-+ ldt_log "- Nsgmls stage finished.";
-
-- #
- # If a preASP stage is defined, let the format handle it.
-- #
-- # preASP ($inhandle, $outhandle);
-- #
-- my $inpreasp = new FileHandle "<$tmpbase.1";
-- my $outpreasp = new FileHandle "$tmpbase.2",O_WRONLY|O_CREAT|O_EXCL,0600;
-- if (defined $Formats{$global->{format}}{preASP})
-- {
-- &{$Formats{$global->{format}}{preASP}}($inpreasp, $outpreasp) == 0 or
-- die "error pre-processing $global->{format}.\n";
-- }
-- else
-- {
-- copy ($inpreasp, $outpreasp);
-- }
-- $inpreasp->close;
-- $outpreasp->close;
-- ! -e "$tmpbase.2" and die "can't create file - exiting";
-+ # --------------------------------------------------------
-+ ldt_log "- PreASP stage started.";
-+ open (my $PREASP_IN, "< $nsgmlsout")
-+ or die "$error_header: Could not open $nsgmlsout for reading. Aborting ...\n";
-+ open (my $PREASP_OUT, "> $preaspout")
-+ or die "$error_header: Could not open $preaspout for writing. Aborting ...\n";
-+
-+ if (defined $Formats{$global->{format}}{preASP}) {
-+ # Usage: preASP ($INHANDLE, $OUTHANDLE);
-+ &{$Formats{$global->{format}}{preASP}}($PREASP_IN, $PREASP_OUT) == 0
-+ or die "$error_header: Error pre-processing $global->{format}.\n";
-+ } else {
-+ copy ($PREASP_IN, $PREASP_OUT);
-+ }
-
-- if ( $global->{debug} )
-- {
-- print "PreASP stage finished.\n";
-- }
-+ close $PREASP_IN;
-+ close $PREASP_OUT;
-+
-+ die "$error_header: Can't create $preaspout file. Aborting ...\n"
-+ unless -e "$preaspout";
-+
-+ print "- PreASP stage finished.\n" if ( $global->{debug} );
-+ ldt_log "- PreASP stage finished.";
-+
-+ # Run sgmlsasp, with an optional style if specified.
-+ # -----------------------------------------------------------
-+ ldt_log "- ASP stage started.";
-+ my $dtd2 = ldt_getdtd_v2($preaspout)
-+ or die "$error_header: Could not read dtd from $preaspout. Aborting ...\n";
-+
-+ ldt_log " $error_header: dtd_v1: $dtd, dtd_v2: $dtd2, both must match, dtd_v2 prevails";
-+ unless ( $dtd eq $dtd2 ){
-+ print STDERR "Warning: Two different values for dtd, dtd1: $dtd, dtd2: $dtd2\n";
-+ $dtd = $dtd2;
-+ }
-+
-+ $global->{'dtd'} = $dtd;
-
-- #
-- # Run sgmlsasp, with an optional style if specified.
-- #
- # Search order:
- # - datadir/site/<dtd>/<format>
- # - datadir/dist/<dtd>/<format>
-- # So we need to fetch the doctype from the intermediate.
-- #
-- # Note: this is a very simplistic check - but as far as I know,
-- # it is correct. Am I right?
-- #
-- my $tmp = new FileHandle "<$tmpbase.2";
-- my $dtd;
-- while ( ($dtd = <$tmp>) && ! ( $dtd =~ /^\(/) ) { };
-- $tmp->close;
-- $dtd =~ s/^\(//;
-- $dtd =~ tr/A-Z/a-z/;
-- chop $dtd;
-- $global->{dtd} = $dtd;
--
-- my $style = "";
-- if ($global->{style})
-- {
-- $style = "$main::DataDir/site/$dtd/$global->{format}/$global->{style}mapping";
-- -r $style or
-- $style = "$main::DataDir/dist/$dtd/$global->{format}/$global->{style}mapping";
-- }
-- my $mapping = "$main::DataDir/site/$dtd/$global->{format}/mapping";
-- -r $mapping or $mapping = "$main::DataDir/dist/$dtd/$global->{format}/mapping";
-
-- $global->{charset} = "nippon" if ($global->{language} eq "ja");
-- #
-- # we don't have Korean groff so charset should be latin1.
-- #
-- if ($global->{language} eq "ko")
-- {
-- if ($global->{format} eq "groff")
-- {
-- $global->{charset} = "latin1";
-- }
-- else
-- {
-- $global->{charset} = "euc-kr";
-- }
-- }
--
-- if ($global->{format} eq "groff" or $global->{format} eq "latex2e")
-- {
-- if ($dtd eq "linuxdoctr")
-- {
-- $mapping = "$main::DataDir/dist/$dtd/$global->{format}/tr-mapping";
-- }
-- }
-+ my $style = ($global->{style}) ?
-+ ldt_searchfile(["$main::DataDir/site/$dtd/$global->{format}/$global->{style}mapping",
-+ "$main::DataDir/dist/$dtd/$global->{format}/$global->{style}mapping",
-+ "$main::DataDir/mappings/$global->{format}/$global->{style}mapping"])
-+ :
-+ '';
-
-- create_temp("$tmpbase.3");
-- system ("$main::progs->{SGMLSASP} $style $mapping <\"$tmpbase.2\" |
-- expand -$global->{tabsize} >\"$tmpbase.3\"");
-- ! -e "$tmpbase.3" and die "can't create file - exiting";
-+ my $mapping = ldt_searchfile(["$main::DataDir/site/$dtd/$global->{format}/mapping",
-+ "$main::DataDir/dist/$dtd/$global->{format}/mapping",
-+ "$main::DataDir/mappings/$global->{format}/mapping"])
-+ or die "$error_header: Could not find mapping file for $dtd/$global->{format}. Aborting ...\n";
-
-+ $mapping = "$style $mapping" if $style;
-
-- if ( $global->{debug} )
-- {
-- print "ASP stage finished.\n";
-+ if ($global->{format} eq "groff"){
-+ if ($dtd eq "linuxdoctr") {
-+ $mapping = "$main::DataDir/mappings/$global->{format}/tr-mapping";
- }
-+ }
-+
-+ my $sgmlsasp_command = "$main::progs->{SGMLSASP} $mapping < $preaspout |
-+ expand -t $global->{tabsize} > $aspout";
-+ ldt_log " ${error_header}::sgmlsasp_command:\n $sgmlsasp_command";
-+ system ($sgmlsasp_command) == 0
-+ or die "$error_header: Error running $sgmlsasp_command. Aborting ...\n";
-+
-+ die "$error_header: Can't create $aspout file. Aborting ...\n"
-+ unless -e "$aspout";
-+
-+ print "- ASP stage finished.\n" if ( $global->{debug} );
-+ ldt_log "- ASP stage finished.";
-
-- #
- # If a postASP stage is defined, let the format handle it.
-- # It should leave whatever it thinks is right based on $file.
-- #
-- # postASP ($inhandle)
-- #
-+ # ----------------------------------------------------------------
-+ ldt_log "- postASP stage started.";
- umask $saved_umask;
-- my $inpostasp = new FileHandle "<$tmpbase.3";
-- if (defined $Formats{$global->{format}}{postASP})
-- {
-- &{$Formats{$global->{format}}{postASP}}($inpostasp) == 0 or
-- die "error post-processing $global->{format}.\n";
-- }
-- $inpostasp->close;
--
-- if ( $global->{debug} )
-- {
-- print "postASP stage finished.\n";
-- }
-
-- #
-- # All done, remove the temporaries.
-- #
-- if( !$global->{debug} ) {
-- remove_tmpfiles($tmpbase);
-+ open (my $INPOSTASP, "< $aspout" )
-+ or die "$error_header: Could not open $aspout for reading. Aborting ...\n";
-+ if (defined $Formats{$global->{format}}{postASP}) {
-+ # Usage: postASP ($INHANDLE)
-+ # Should leave whatever it thinks is right based on $INHANDLE.
-+ &{$Formats{$global->{format}}{postASP}}($INPOSTASP) == 0
-+ or die "$error_header: Error post-processing $global->{format}. Aborting ...\n";
- }
-+ close $INPOSTASP;
-+
-+ print "- postASP stage finished.\n" if ( $global->{debug} );
-+ ldt_log "- postASP stage finished.";
-+
-+ # -- Reset $global->{logfile} for next file
-+ $global->{logfile} = '';
-+
-+ # -- All done, remove the temporaries.
-+ remove_tmpfiles($tmpbase) unless ( $global->{debug} );
- }
-
- =pod
-@@ -629,7 +648,7 @@ sub process_file
- Documentation for various sub-packages of LinuxDocTools.
-
- =head1 AUTHOR
--SGMLTools are written by Cees de Groot, C<E<lt>cg@cdegroot.comE<gt>>,
-+SGMLTools are written by Cees de Groot, C<E<lt>cg@cdegroot.comE<gt>>,
- and various SGML-Tools contributors as listed in C<CONTRIBUTORS>.
- Taketoshi Sano C<E<lt>sano@debian.org<gt>> rename to LinuxDocTools.
-
-diff --git a/doc/sgml2html b/doc/sgml2html
-index ea8e8c9..98a688c 100755
---- a/doc/sgml2html
-+++ b/doc/sgml2html
-@@ -1,53 +1,76 @@
- #!/usr/bin/perl
- #
--# sgmltools.in
--#
--# $Id$
--#
--# SGML-Tools driver. Calls all other SGML-Tools components, contains
--# configuration information, etcetera.
-+# linuxdoc.in
- #
-+# LinuxDoc-Tools driver. Calls all other LinuxDoc-Tools components,
-+# contains configuration information, etcetera.
-+# -------------------------------------------------------------------
-+
- package main;
-
--sub BEGIN
--{
-+sub BEGIN {
- require 5.004;
- }
-+
- use strict;
-
--use vars qw($prefix $DataDir $BinDir $progs);
-+use vars qw($prefix
-+ $isoentities_prefix
-+ $DataDir
-+ $AuxBinDir
-+ $progs);
-
- use FindBin;
-
--$prefix = "/usr";
--$DataDir = "$FindBin::Bin/sbase";
--$BinDir = "/usr/bin";
-+$prefix = "/usr";
-+$isoentities_prefix = "/usr";
-+$DataDir = "$FindBin::Bin/sbase";
-+$AuxBinDir = "/usr/lib/linuxdoc-tools";
-
- use lib "/usr/share/linuxdoc-tools";
--use lib "/usr/perl5";
--use lib "/usr/lib/perl5";
- use lib "/usr/share/perl5";
--$progs = {
-- "NSGMLS" => "/usr/bin/nsgmls",
-- "SGMLSASP" => "/usr/bin/sgmlsasp",
-- "GROFF" => "/usr/bin/groff",
-+
-+# ---------------------------------------------------------------------
-+sub ldt_which {
-+# ---------------------------------------------------------------------
-+# ---------------------------------------------------------------------
-+ die "ldt_which: No filename(s) array given. Aborting ...\n" unless scalar @_;
-+
-+ foreach my $file ( @_ ){
-+ if ( $file =~ m/\// ) {
-+ return $file if -x $file;
-+ } else {
-+ foreach my $path ( split(':',$ENV{'PATH'}) ){
-+ $path =~ s/\/+$//;
-+ return $file if -x "$path/$file";
-+ }
-+ }
-+ }
-+ die "No executable found in path for (", join(' ',@_) ,"). Aborting ...\n";
-+}
-+
-+$progs = {
-+ "SGMLSASP" => ldt_which("sgmlsasp"),
-+ "NSGMLS" => ldt_which("nsgmls","onsgmls"),
-+ "GROFF" => ldt_which("groff"),
- "GROFFMACRO" => "-ms",
-- "AWK" => "/usr/share/linuxdoc-tools/awkwhich"
-+# "NKF" => "@NKF@"
- };
-
--if (! -x $progs->{"NSGMLS"})
-- { $progs->{"NSGMLS"} = "/usr/bin/onsgmls"; }
--
- $ENV{"SGML_CATALOG_FILES"} = "$DataDir/dtd/catalog" .
- (defined $ENV{SGML_CATALOG_FILES} ? ":$ENV{SGML_CATALOG_FILES}" : "");
-
- require "$FindBin::Bin/LinuxDocTools.pm";
- &LinuxDocTools::init;
-
--my @FileList = LinuxDocTools::process_options ("html", @ARGV);
--for my $curfile (@FileList)
-- {
-- LinuxDocTools::process_file ($curfile);
-- }
-+my @FileList = LinuxDocTools::process_options ($0, @ARGV);
-+
-+foreach my $curfile (@FileList) {
-+ &LinuxDocTools::process_file ($curfile);
-+}
-
- exit 0;
-+
-+# Local Variables:
-+# mode: perl
-+# End:
-diff --git a/doc/sgml2latex b/doc/sgml2latex
-index 79c6df0..98a688c 100755
---- a/doc/sgml2latex
-+++ b/doc/sgml2latex
-@@ -1,53 +1,76 @@
- #!/usr/bin/perl
- #
--# sgmltools.in
--#
--# $Id$
--#
--# SGML-Tools driver. Calls all other SGML-Tools components, contains
--# configuration information, etcetera.
-+# linuxdoc.in
- #
-+# LinuxDoc-Tools driver. Calls all other LinuxDoc-Tools components,
-+# contains configuration information, etcetera.
-+# -------------------------------------------------------------------
-+
- package main;
-
--sub BEGIN
--{
-+sub BEGIN {
- require 5.004;
- }
-+
- use strict;
-
--use vars qw($prefix $DataDir $BinDir $progs);
-+use vars qw($prefix
-+ $isoentities_prefix
-+ $DataDir
-+ $AuxBinDir
-+ $progs);
-
- use FindBin;
-
--$prefix = "/usr";
--$DataDir = "$FindBin::Bin/sbase";
--$BinDir = "/usr/bin";
-+$prefix = "/usr";
-+$isoentities_prefix = "/usr";
-+$DataDir = "$FindBin::Bin/sbase";
-+$AuxBinDir = "/usr/lib/linuxdoc-tools";
-
- use lib "/usr/share/linuxdoc-tools";
--use lib "/usr/perl5";
--use lib "/usr/lib/perl5";
- use lib "/usr/share/perl5";
--$progs = {
-- "NSGMLS" => "/usr/bin/nsgmls",
-- "SGMLSASP" => "/usr/bin/sgmlsasp",
-- "GROFF" => "/usr/bin/groff",
-+
-+# ---------------------------------------------------------------------
-+sub ldt_which {
-+# ---------------------------------------------------------------------
-+# ---------------------------------------------------------------------
-+ die "ldt_which: No filename(s) array given. Aborting ...\n" unless scalar @_;
-+
-+ foreach my $file ( @_ ){
-+ if ( $file =~ m/\// ) {
-+ return $file if -x $file;
-+ } else {
-+ foreach my $path ( split(':',$ENV{'PATH'}) ){
-+ $path =~ s/\/+$//;
-+ return $file if -x "$path/$file";
-+ }
-+ }
-+ }
-+ die "No executable found in path for (", join(' ',@_) ,"). Aborting ...\n";
-+}
-+
-+$progs = {
-+ "SGMLSASP" => ldt_which("sgmlsasp"),
-+ "NSGMLS" => ldt_which("nsgmls","onsgmls"),
-+ "GROFF" => ldt_which("groff"),
- "GROFFMACRO" => "-ms",
-- "AWK" => "/usr/share/linuxdoc-tools/awkwhich"
-+# "NKF" => "@NKF@"
- };
-
--if (! -x $progs->{"NSGMLS"})
-- { $progs->{"NSGMLS"} = "/usr/bin/onsgmls"; }
--
- $ENV{"SGML_CATALOG_FILES"} = "$DataDir/dtd/catalog" .
- (defined $ENV{SGML_CATALOG_FILES} ? ":$ENV{SGML_CATALOG_FILES}" : "");
-
- require "$FindBin::Bin/LinuxDocTools.pm";
- &LinuxDocTools::init;
-
--my @FileList = LinuxDocTools::process_options ("latex", @ARGV);
--for my $curfile (@FileList)
-- {
-- LinuxDocTools::process_file ($curfile);
-- }
-+my @FileList = LinuxDocTools::process_options ($0, @ARGV);
-+
-+foreach my $curfile (@FileList) {
-+ &LinuxDocTools::process_file ($curfile);
-+}
-
- exit 0;
-+
-+# Local Variables:
-+# mode: perl
-+# End:
-diff --git a/doc/sgml2txt b/doc/sgml2txt
-index 013479f..98a688c 100755
---- a/doc/sgml2txt
-+++ b/doc/sgml2txt
-@@ -1,53 +1,76 @@
- #!/usr/bin/perl
- #
--# sgmltools.in
--#
--# $Id$
--#
--# SGML-Tools driver. Calls all other SGML-Tools components, contains
--# configuration information, etcetera.
-+# linuxdoc.in
- #
-+# LinuxDoc-Tools driver. Calls all other LinuxDoc-Tools components,
-+# contains configuration information, etcetera.
-+# -------------------------------------------------------------------
-+
- package main;
-
--sub BEGIN
--{
-+sub BEGIN {
- require 5.004;
- }
-+
- use strict;
-
--use vars qw($prefix $DataDir $BinDir $progs);
-+use vars qw($prefix
-+ $isoentities_prefix
-+ $DataDir
-+ $AuxBinDir
-+ $progs);
-
- use FindBin;
-
--$prefix = "/usr";
--$DataDir = "$FindBin::Bin/sbase";
--$BinDir = "/usr/bin";
-+$prefix = "/usr";
-+$isoentities_prefix = "/usr";
-+$DataDir = "$FindBin::Bin/sbase";
-+$AuxBinDir = "/usr/lib/linuxdoc-tools";
-
- use lib "/usr/share/linuxdoc-tools";
--use lib "/usr/perl5";
--use lib "/usr/lib/perl5";
- use lib "/usr/share/perl5";
--$progs = {
-- "NSGMLS" => "/usr/bin/nsgmls",
-- "SGMLSASP" => "/usr/bin/sgmlsasp",
-- "GROFF" => "/usr/bin/groff",
-+
-+# ---------------------------------------------------------------------
-+sub ldt_which {
-+# ---------------------------------------------------------------------
-+# ---------------------------------------------------------------------
-+ die "ldt_which: No filename(s) array given. Aborting ...\n" unless scalar @_;
-+
-+ foreach my $file ( @_ ){
-+ if ( $file =~ m/\// ) {
-+ return $file if -x $file;
-+ } else {
-+ foreach my $path ( split(':',$ENV{'PATH'}) ){
-+ $path =~ s/\/+$//;
-+ return $file if -x "$path/$file";
-+ }
-+ }
-+ }
-+ die "No executable found in path for (", join(' ',@_) ,"). Aborting ...\n";
-+}
-+
-+$progs = {
-+ "SGMLSASP" => ldt_which("sgmlsasp"),
-+ "NSGMLS" => ldt_which("nsgmls","onsgmls"),
-+ "GROFF" => ldt_which("groff"),
- "GROFFMACRO" => "-ms",
-- "AWK" => "/usr/share/linuxdoc-tools/awkwhich"
-+# "NKF" => "@NKF@"
- };
-
--if (! -x $progs->{"NSGMLS"})
-- { $progs->{"NSGMLS"} = "/usr/bin/onsgmls"; }
--
- $ENV{"SGML_CATALOG_FILES"} = "$DataDir/dtd/catalog" .
- (defined $ENV{SGML_CATALOG_FILES} ? ":$ENV{SGML_CATALOG_FILES}" : "");
-
- require "$FindBin::Bin/LinuxDocTools.pm";
- &LinuxDocTools::init;
-
--my @FileList = LinuxDocTools::process_options ("txt", @ARGV);
--for my $curfile (@FileList)
-- {
-- LinuxDocTools::process_file ($curfile);
-- }
-+my @FileList = LinuxDocTools::process_options ($0, @ARGV);
-+
-+foreach my $curfile (@FileList) {
-+ &LinuxDocTools::process_file ($curfile);
-+}
-
- exit 0;
-+
-+# Local Variables:
-+# mode: perl
-+# End:
diff --git a/distro/pkg/deb/patches/series b/distro/pkg/deb/patches/series
deleted file mode 100644
index 3a10aac9..00000000
--- a/distro/pkg/deb/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-0001-Sync-the-linuxdoc-mangled-files-with-linuxdoc-tools_.patch
diff --git a/distro/pkg/deb/rules b/distro/pkg/deb/rules
index 5630ed1c..5b66d493 100755
--- a/distro/pkg/deb/rules
+++ b/distro/pkg/deb/rules
@@ -25,7 +25,6 @@ override_dh_auto_configure:
override_dh_auto_build:
dh_auto_build
- dh_auto_build -- docs
override_dh_auto_install:
dh_auto_install --destdir=debian/tmp
diff --git a/distro/pkg/rpm/bird.spec b/distro/pkg/rpm/bird.spec
index 1267cf9b..f56547bf 100644
--- a/distro/pkg/rpm/bird.spec
+++ b/distro/pkg/rpm/bird.spec
@@ -1,9 +1,5 @@
%global _hardened_build 1
-
-%if "x%{?suse_version}" == "x"
-# missing linuxdoc-tools and sgml-common on SUSE
-%define _without_doc 1
-%endif
+%global _without_doc 1
Name: bird
Version: {{ version }}