Package-friendly Software

If you oppose the idea of making your software easy to install, please watch this video from the FOSDEM '18 conference, How To Make Package Managers Cry.

Modularity is the Key

TBD

All You Need is a Simple Makefile

TBD

Use Conventional Tools

TBD

Archiving Standards

TBD

Respect the Environment

Look for dependencies ONLY where told to. Do not hard-code search paths for libraries, etc.

Use standard compiler variables such as provided as environment variables or make variables.

CC, CFLAGS, CXX, CXXFLAGS, FC, FFLAGS, CPP (this is the C preprocessor, not C++ compiler!), CPPFLAGS

Install the Same Files Everywhere

TBD

Versioning and Distribution Files

Semantic Versioning

A Simple Example
Debian Package

TBD

FreeBSD Port

TBD

MacPort

TBD

Pkgsrc Package

TBD