All programs, themes, etc that are not part of upstream debian are built as packages this allows PrawnOS the following benefits:
Note that some packages that are available upstream, but only in unstable or testing repos or have fixes only in the unstable or testing repos are packaged as part of PrawnOS
By using packages for all parts of PrawnOS, updates are more straightforward. When an existing PrawnOS install has out of date packages, the user can then either build the new version themselves or get the update from the repo using the standard "apt upgrade"
Packages are stored under component of the final PrawnOS image they belong to Inside the package folder there are the following items:
makefile
src
.orig.tar.gz*
containing the package source..gitignore
to avoid commiting build artifacts, or unnecessary source filesThe contents of the src
are the following:
debian
folderIf the source is from an upstream package, and no PrawnOS specific patches are carried then only the debian
folder is in the src
folder
Most packages are built in a host architecture agnostic fashion using pbuilder. The only notable exceptions to this are font packages, which are not architecture dependent and the kernel package, which handles cross compilation manually without a chroot.
To build any package, navigate to that packages folder and run
make clean
make
the resulting .deb will be in that same folder when the build is complete
All packages can be built by running
make
from the packages directory
New packages, and package updates can upload to deb.prawnos.com
by maintainers
first by building and then running
make upload