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

Then I let dh_installman know that backup.1.gz is a man page that needs to be installed:

# debian/python3-backup.manpages

…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!


Comment Atom Feed

There are no comments yet.

Add a Comment

You can use the Markdown syntax to format your comment.