diff --git a/db2html b/db2html
new file mode 100755
index 0000000000000000000000000000000000000000..ca94b82364bfc433a9e39efd4b7607bcb789a8cb
--- /dev/null
+++ b/db2html
@@ -0,0 +1,59 @@
+#! /bin/sh
+
+ADMON_GRAPHICS=/usr/share/sgml/docbook/dsssl-stylesheets/images/*.gif
+
+output=docbook2html-dir
+skip=0
+dbdircleanup=1
+outputdone=0
+for arg in "$@"
+do
+ if [ $skip -gt 0 ]
+ then
+ skip=$(($skip - 1))
+ continue
+ fi
+ case $arg in
+ -h|--help|-v|--version) break
+ ;;
+ -n|--nostd|-u|--nochunks) ;;
+ -o|--output) outputdone=1
+ ;;
+
+ -*) skip=1
+ ;;
+ *) dbdircleanup=0
+ if [ ${outputdone} -eq 1 ];
+ then
+ output="$(echo $arg | sed 's,\.sgml$,,;s,\.sgm$,,;s,\.xml,,')"
+ outputfile="$basename "$output""
+ outputdone=2
+ elif [ ${outputdone} -eq 2 ];
+ then
+ outputfile="$(echo $arg | sed 's,\.sgml$,,;s,\.sgm$,,;s,\.xml,,' | \
+ rev | cut -d'/' -f1 | rev)"
+ else
+ output="$(echo $arg | sed 's,\.sgml$,,;s,\.sgm$,,;s,\.xml,,')"
+ outputfile=$(basename "$output")
+ fi
+ ;;
+ esac
+done
+
+if [ ${dbdircleanup} -eq 0 ];
+then
+ echo "Output is $output/$outputfile.html"
+fi
+if [ -d ${output} ]
+then
+ rm -rf ${output}.junk
+ mv ${output} ${output}.junk
+fi
+mkdir ${output}
+mkdir ${output}/stylesheet-images
+cp ${ADMON_GRAPHICS} ${output}/stylesheet-images
+jw -f docbook -b html -o ${output} "$@"
+if [ ${dbdircleanup} -eq 1 ];
+then
+ rm -rf ${output}
+fi
diff --git a/docbook-utils-0.6.14.tar.gz b/docbook-utils-0.6.14.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..832747cb7060dce6586a51191ff3fc27870b2f08
Binary files /dev/null and b/docbook-utils-0.6.14.tar.gz differ
diff --git a/docbook-utils.spec b/docbook-utils.spec
new file mode 100644
index 0000000000000000000000000000000000000000..b4aab52dd2ea265380d72b4b8fece8492424cefa
--- /dev/null
+++ b/docbook-utils.spec
@@ -0,0 +1,122 @@
+%define anolis_release 1
+Name: docbook-utils
+Version: 0.6.14
+Release: %{anolis_release}%{?dist}
+
+Summary: Shell scripts for managing DocBook documents
+URL: http://sources.redhat.com/docbook-tools/
+
+License: GPLv2+
+
+Requires: docbook-style-dsssl >= 1.72
+Requires: docbook-dtds
+Requires: perl-SGMLSpm >= 1.03ii
+Requires: which grep gawk
+Requires: text-www-browser
+
+# In the absence of an already-installed text-www-browser, prefer lynx
+Suggests: lynx
+
+BuildRequires: perl-generators
+BuildRequires: perl-SGMLSpm, openjade, docbook-style-dsssl
+BuildRequires: make
+
+BuildArch: noarch
+Source0: ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/%{name}-%{version}.tar.gz
+Source1: db2html
+Source2: gdp-both.dsl
+#We will ship newer version of docbook2man-spec.pl for better handling of docbook2man conversion
+#You could check it at http://sourceforge.net/projects/docbook2x/
+Source3: docbook2man-spec.pl
+
+Obsoletes: stylesheets < %{version}-%{release}
+Provides: stylesheets = %{version}-%{release}
+
+%description
+This package contains scripts are for easy conversion from DocBook
+files to other formats (for example, HTML, RTF, and PostScript), and
+for comparing SGML files.
+
+%package pdf
+Requires: texlive-jadetex >= 7
+Requires: docbook-utils = %{version}
+Requires: tex(dvips)
+Requires: texlive-collection-fontsrecommended
+Requires: texlive-collection-htmlxml
+License: GPL+
+Obsoletes: stylesheets-db2pdf <= %{version}-%{release}
+Provides: stylesheets-db2pdf = %{version}-%{release}
+Summary: A script for converting DocBook documents to PDF format
+URL: http://sources.redhat.com/docbook-tools/
+
+%description pdf
+This package contains a script for converting DocBook documents to
+PDF format.
+
+%prep
+%setup -q
+
+%build
+./configure --prefix=%{_prefix} --mandir=%{_mandir} --libdir=%{_libdir}
+make %{?_smp_mflags}
+
+%install
+export DESTDIR=$RPM_BUILD_ROOT
+make install prefix=%{_prefix} mandir=%{_mandir} docdir=/tmp
+for util in dvi html pdf ps rtf
+do
+ ln -s docbook2$util $RPM_BUILD_ROOT%{_bindir}/db2$util
+ ln -s jw.1.gz $RPM_BUILD_ROOT/%{_mandir}/man1/db2$util.1
+done
+ln -s jw.1.gz $RPM_BUILD_ROOT/%{_mandir}/man1/docbook2txt.1
+# db2html is not just a symlink, as it has to create the output directory
+rm -f $RPM_BUILD_ROOT%{_bindir}/db2html
+install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/db2html
+install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/sgml/docbook/utils-%{version}/docbook-utils.dsl
+install -p -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/sgml/docbook/utils-%{version}/helpers/docbook2man-spec.pl
+
+rm -rf $RPM_BUILD_ROOT/tmp
+
+%files
+%doc README COPYING TODO
+%{_bindir}/jw
+%{_bindir}/docbook2html
+%{_bindir}/docbook2man
+%{_bindir}/docbook2rtf
+%{_bindir}/docbook2tex
+%{_bindir}/docbook2texi
+%{_bindir}/docbook2txt
+%attr(0755,root,root) %{_bindir}/db2html
+%{_bindir}/db2rtf
+%{_bindir}/sgmldiff
+%{_datadir}/sgml/docbook/utils-%{version}
+%{_mandir}/*/db2dvi.*
+%{_mandir}/*/db2html.*
+%{_mandir}/*/db2ps.*
+%{_mandir}/*/db2rtf.*
+%{_mandir}/*/docbook2html.*
+%{_mandir}/*/docbook2rtf.*
+%{_mandir}/*/docbook2man.*
+%{_mandir}/*/docbook2tex.*
+%{_mandir}/*/docbook2texi.*
+%{_mandir}/*/docbook2txt.*
+%{_mandir}/*/jw.*
+%{_mandir}/*/sgmldiff.*
+%{_mandir}/*/*-spec.*
+
+%files pdf
+%{_bindir}/docbook2pdf
+%{_bindir}/docbook2dvi
+%{_bindir}/docbook2ps
+%{_bindir}/db2dvi
+%{_bindir}/db2pdf
+%{_bindir}/db2ps
+%{_mandir}/*/db2pdf.*
+%{_mandir}/*/docbook2pdf.*
+%{_mandir}/*/docbook2dvi.*
+%{_mandir}/*/docbook2ps.*
+
+%changelog
+* Thu Mar 10 2022 mgb01105731 - 0.6.14-1
+- Init from upstream version 0.6.14
+
diff --git a/docbook2man-spec.pl b/docbook2man-spec.pl
new file mode 100755
index 0000000000000000000000000000000000000000..58939cb28fc817079d017d6c40df23ef3ef2b6ae
--- /dev/null
+++ b/docbook2man-spec.pl
@@ -0,0 +1,1564 @@
+=head1 NAME
+
+docbook2man-spec.pl - convert DocBook RefEntries to Unix manpages
+
+=head1 SYNOPSIS
+
+The sgmlspl script from the SGMLSpm Perl module must be used to run
+this script. Use it like this:
+
+nsgmls some-docbook-document.sgml | sgmlspl docbook2man-spec.pl
+
+See man page or included DocBook documentation for details.
+
+=head1 DESCRIPTION
+
+This is a sgmlspl spec file that produces Unix-style
+man pages from DocBook RefEntry markup.
+
+=head1 COPYRIGHT
+
+Copyright (C) 1998-2001 Steve Cheng
+
+Copyright (C) 1999 Thomas Lockhart
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+You should have received a copy of the GNU General Public License along with
+this program; see the file COPYING. If not, please write to the Free
+Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+
+=cut
+
+# $Id: docbook2man-spec.pl,v 1.11 2010/10/04 10:23:31 ovasik Exp $
+
+use SGMLS; # Use the SGMLS package.
+use SGMLS::Output; # Use stack-based output.
+use SGMLS::Refs;
+
+
+########################################################################
+# SGMLSPL script produced automatically by the script sgmlspl.pl
+#
+# Document Type: any, but processes only RefEntries
+# Edited by: me :)
+########################################################################
+
+
+$write_manpages = 0;
+$blank_xrefs = 0;
+
+$default_sect = "1";
+$default_date = `date "+%d %B %Y"`;
+$cite_numeral_only = 1;
+
+while (@ARGV) {
+ my $arg = shift @ARGV;
+ if ($arg eq "--section") {
+ $default_sect = shift @ARGV || die "$arg requires an argument\n";
+ } elsif ($arg eq "--date") {
+ $default_date = shift @ARGV || die "$arg requires an argument\n";
+ } elsif ($arg eq "--lowercase") {
+ $lowercase_names = 1;
+ } elsif ($arg eq "--preserve-case") {
+ $lowercase_names = 0;
+ } elsif ($arg eq "--cite-numeral-only") {
+ $cite_numeral_only = 1;
+ } elsif ($arg eq "--nocite-numeral-only") {
+ $cite_numeral_only = 0;
+ } elsif ($arg eq "--help") {
+ print "Usage: $0",
+ " [ --section