# Get the source tarball
cd
test -f installed/xmlto-0.0.28.tar.bz2 &&
mv installed/xmlto-0.0.28.tar.bz2 .
test ! -f xmlto-0.0.28.tar.bz2 &&
wget https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.bz2
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "xmlto-*" -exec rm -r {} \;
tar xjvf ~/xmlto-0.0.28.tar.bz2
cd xmlto-0.0.28
test $UID = 0 && chown -R root:root .
# Configure the build
# Use prefix /usr to match the path of Slackware's linuxdoc-tools package
./configure --prefix=/usr --docdir=/usr/doc/xmlto-0.0.28 --mandir=/usr/man
# Build it
make
# Become root to install it
su
# Rather than butchering the linuxdoc-tools package, which includes several
# pieces of software, clean up old xmlto version files only to avoid
# conflicts
rm -f /usr/bin/xmlif /usr/bin/xmlto
find /usr/doc -maxdepth 1 -type d -name "xmlto-*" -exec rm -r {} \;
rm -f /usr/man/man1/xmlif.1* /usr/man/man1/xmlto.1*
test -d /usr/share/xmlto && rm -r /usr/share/xmlto
# Install it
make install
# Become your non-root user again
exit
# Save the tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/xmlto-*.tar.*
mv xmlto-0.0.28.tar.bz2 installed/
# If you ever want to uninstall xmlto, this should do it:
cd
su
test -d src/xmlto-* && ( cd src/xmlto-* ; make uninstall )
for pfx in /usr /usr/local; do
( cd ${pfx}/bin ; rm -f xmlif xmlto )
( cd ${pfx}/man/man1 ; rm -f xmlto.1 xmlif.1 )
test -d ${pfx}/share/xmlto && rm -r ${pfx}/share/xmlto
done
exit
find ~/src -maxdepth 1 -type d -name "xmlto-*" -exec rm -r {} \;
rm -f ~/installed/xmlto-*.tar.*