The Dinner project is interesting from the build and packaging point of view.
- dinnerd is a simple standalone application, which has no dependencies (beyond libc and running on a Unix like system)
- libdinner is a simple library, with no dependencies.
- hungryhacker is a standalone application that depends on libdinner. So one can experiment with separate build and runtime depencies.
There is also a sample shell script in the sources, that can be installed as part of the package.
- vdinner is a standalone application that also has external dependencies (GLUT).
The project is split in 4 different git repositories. This also allows to setup an exercise on using git submodules to manage the whole project.
Depending on the choice of the build tools, one need to add a mechanisme to be able to find libdinner as a build-time and run-time dependency for hungryhacker and vdinner.
The project can also be used to show challenges in builing binary packages for various systems. libdinner packages can be split into runtime and development sub-packages.