Intro to Debian Packages
(very) Basic Debian Package Introduction
Note from Ben: I do not claim to be an expert packaging programs fro Debian / Ubuntu. I am putting what I know here because I think it is enough to get a handle on what we need to do for the release of Xubuntu 12.04. As interns our job in the packaging process is not all that complicated, and this should help...
Debian Packages, the Essentials
Debian packages are pretty much just like any other package format out there. Inside they contain files which are copied to the appropriate folders in the filesystem upon install.
But How Are The Files Copied?
It's actually very simple. When creating a package, a very specific directory structure is created, it looks like this:
my-package-1.0/ DEBIAN/ DEBIAN/control etc/ etc/foo usr/ usr/share/ usr/share/doo
It's creating a ghost version of the real / filesystem, with just the files that need to be installed. So, if we created a package from the above example and installed it, file "foo" would appear in /etc/ and "doo" would appear in /usr/share/. The DEBIAN folder is not installed, it contains files that described the package and how it relates to the repository.
How does this relate?
The package for our customizations of Xfce looks little bit like this:
freegeek-default-settings/ DEBIAN/ etc/ etc/xdg/ etc/xdg/xdg-freegeek/ ... usr/ usr/share/ usr/share/xsessions/ usr/share/xsessions/freegeek-session.desktop
All we care about is the folder xdg-freegeek. We makes changes its files. Test them with a simply built package, send the files on to be built into the final packages. Piece of cake.