Debian Source Format for data files

These are rough notes for a source format for data files. The main aim of this is to have the data only once in the archive, as the binary package and as part of the source package.

The Format field in the .dsc will be "3.0 (deb-directly)" (or something similar).

The .dsc references a debian.tar.gz and one or more .deb files as Files.

Extraction:

Extracts the debian.tar.gz as usual.

Extracts foo_ver_all.deb (filesystem archive only) in foo/

Source package build (dpkg-source -b):

.deb must already exist in parent directory

verify that .deb filesystem archive is identical to foo/

Binary package builds:

debian/rules file does whatever is necessary to produce .deb in .., just as with any other package. If the .deb contains nothing but the data directory, some dh_data helper command can DTRT. Otherwise (perhaps some of the data .deb needs to be autogenerated from the rest of the data) the rules takes care of it. Likewise the rules handles changelog etc.

Downsides:

After modifying data in the package, need to do a binary package build step before we can build a correct source package.

* Not true; building the source packages will imply generating the .deb; doing a binary build will not build anything. In particular, will not create a new .deb.