Building man pages with Debian packaging scripts
I wrote my own backup script, and I switched from Archlinux to Debian in my home network. So now I need to package my program in .deb
format in order to deploy it. Learning Debian packaging is a bit intimidating, but I’m starting to really appreciate the intelligence and “magic” in Debian development tools.
One specific task that took me a long time to figure out the best way to do is how to build a man page from RestructuredText format using Debian build scripts. Here’s what I came up with:
# debian/rules
# Here's the standard minimal recipe for a Python project.
%:
dh $@ --with python3 --buildsystem=pybuild
# Here I describe how to build the manpage.
# backup.1.rst is included with the source code.
backup.1.gz: backup.1.rst
rst2man backup.1.rst | gzip > backup.1.gz
# Here I override dh_auto_build just to add a dependency on backup.1.gz
# nothing else is customized.
override_dh_auto_build: backup.1.gz
dh_auto_build
Then I let dh_installman
know that backup.1.gz
is a man page that needs to be installed:
# debian/python3-backup.manpages
backup.1.gz
…where python3-backup
is the name of my package.
Send me an email if it helps or if you know an even better way to do it!