Skip to main content

Project Packaging Changes

I am currently updating the scripts and configuration used to manage my open-source software projects, and I think it is a good time to change something that has been bothering me for years. My projects currently use a directory named dist to organize configuration files for distribution of the project. Unfortunately, Cabal uses this directory name as the (default) build directory. I have not had problems because I use the “v2” commands, which use dist-newstyle instead, but it is probably wise for me to change my conventions to avoid future problems.

What conventions do other people use? The Debian package configuration files have generic names, making them unfortunately difficult to search for. I hoped that a GitHub search for files named control containing the exact string Standards-Version: could help me find repositories with Debian package configuration, but my GitHub search seems to ignore the filename as well as search for “standard version” instead of the exact string specified, producing unrelated results.

A Google search was much more effective. It seems that most projects simply put Debian package configuration in a debian or dpkg directory, but most do not have configuration for other types of distribution. Some (other) directory names that I found are the following (in alphabetical order):

I do not like buildutils because it does not accurately describe the content of the directory in my projects. I do not like distro, which is the common abbreviation for the noun distribution, because I expect some projects to have configuration for other types of software distribution in the future. The others listed are based on the word “package.” I have previously avoided this terminology for the same reason. It is not as specific as distro, however, so perhaps it is the best of these choices.

I brainstormed about ideas before performing this search, and I have been leaning toward using the pkg directory name. The project that I use to build the packages is called docker-pkg, after all. I plan on proceeding with this directory name. Note that this will be a breaking change to the make-deb.sh and make-rpm.sh scripts.

Author

Travis Cardwell

Published

Tags