Hi buildservice fanatics,
I've added some code to better integrate debian builds with rpm based builds. As you probably know, debian packages consist of exactly three parts (unless it's an "native debian" package"):
- the pristine tarball - a diff file - a dsc file
As rpm is much more flexible providing support for multiple patch files, I added some code that autogenerates the debian diff file from plain files, a tar ball, and a set of patches.
The generated diff file includes:
- all files of the form "debian.*", so you can use a plain "debian.rules" file in the source. - all files from a debian.tar tar file (possibly compressed). It is an error to provide a file both in the tarball and as debian.* file. - all patches from a "debian.series" file, or, if it doesn't exist, a "series" file. This file has the standard "quilt" format, i.e. each line consists of a patch file name and the patch arguments. The diff file generator parses the arguments for "-p" to strip off path components.
This allows you to structure your sources identical both for rpm and deb based systems, you can have
- the pristine tarball (no need to put .orig in the name, it'll get renamed to the "canonical" debian tar name automatically) - all the patches you need - the series file which provides the patch ordering and naming info - a debian.tar.gz file for things you don't have to touch often - debian.* files for files you often change
I also changed the changelog converter so that it understands the debian format, so you no longer need to keep two files up to date. Just make the debian change log the .changes file of the package, the converter automatically uses it as debian/changelog in the diff as long as there is no other changelog.
Any more suggestions?