Mailinglist Archive: opensuse-buildservice (295 mails)

< Previous Next >
Re: [opensuse-buildservice] Making debian builds easier
  • From: Andrew Beekhof <abeekhof@xxxxxxx>
  • Date: Thu, 8 Mar 2007 18:42:28 +0100
  • Message-id: <6DF220FD-29C0-4CC7-9B05-837577FA44C0@xxxxxxx>

On Mar 8, 2007, at 4:32 PM, Michael Schroeder wrote:


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?

really really awesome!

is there a project using this already that one can use as an example?


oh, and I heard a rumor that prefixing the distribution to the dsc file (ie. {distro}-{package}.dsc ) might allow us to account for differences^ between ubuntu and debian... do you know anything about this?


^ not all debian packages are available when building for ubuntu

--
Andrew Beekhof

SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG N├╝rnberg)


---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References