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.