Mailinglist Archive: opensuse-buildservice (295 mails)

< Previous Next >
Re: [opensuse-buildservice] Making debian builds easier
  • From: Andrew Beekhof <abeekhof@xxxxxxx>
  • Date: Tue, 13 Mar 2007 13:04:51 +0100
  • Message-id: <9F7D0CA3-729E-4BEB-8405-CB8E6F283967@xxxxxxx>

On Mar 13, 2007, at 12:57 PM, Andrew Beekhof wrote:

some questions below...

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.

is this functionality available for local builds with osc?

ignore this question, i wrote part of this email before i started experimenting

(answer: it is, you just need the updated build rpms)


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.

a small clarification, debian.{X} should be contain the complete contents that you want to be in debian/{X}
it is copied directly to debian/{X}

- 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.

i'm getting:

processing specfile /home/beekhof/suse/server:ha-clustering/ heartbeat/heartbeat_2.0.9.dsc...
running changelog2spec --target debian --file /home/beekhof/suse/ server:ha-clustering/heartbeat/heartbeat_2.0.9.dsc
don't know how to convert changelog to format 'debian'

is that normal? or am i doing something thats not yet supported?


Any more suggestions?

Cheers,
Michael.

--
Michael Schroeder mls@xxxxxxx
SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-buildservice +unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-buildservice +help@xxxxxxxxxxxx


--
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


--
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 >