Mailinglist Archive: opensuse-buildservice (244 mails)

< Previous Next >
Re: [opensuse-buildservice] Improving debtransform
  • From: Martin Koegler <martin.koegler@xxxxxxxxx>
  • Date: Tue, 19 Jun 2012 21:17:44 +0200
  • Message-id: <20120619191743.GB7409@mail.zuhause>
On Mon, Jun 18, 2012 at 02:05:49PM +0200, Adrian Schröter wrote:
Am Montag, 18. Juni 2012, 09:08:08 schrieb Martin Koegler:
On Mon, Jun 18, 2012 at 08:18:33AM +0200, Jeremiah C. Foster wrote:
OBS offers source services to build packages out of a VCS. But for
dpkg-based distribution, the version number handling is not working.

The version number of the binary packages is derived from
debian/changelog file - updating this
file in the source package is currently not possible.

Therefore I tried to improve debtransform:

I'm not sure if you've seen the various Debian package modules kept for
building Debian packages on CPAN:

These tools may help you with creating and manipulating Debian control
files and other associated Debian packaging meta-data. The tools are
largely maintained by Damian Ivanov, a member of the Debian perl team and
a long time Debian contributor. They are object oriented which makes for
fairly easy re-use.

Even if you don't want to re-use the code, it might help to look at the
code to find an algorithm or a parsing strategy since these tools are
considered "correct" and produce good debs that can go through lintian

The module does not fit. debian/control just contains the list of binary
packages and their descriptions as well as various dependencies. Changing
this file shouldn't be necessary.

The current deficit of OBS is, that it can't produce debian packages from a
VCS with a consistant version number. To solve this problem,
OBS must be able to adapt the changelog.

Any self modification in the package build (as I currently use as a
workaround for my package) is not conforming to the various distributions
Such an approch has the additional problem, that you need to invent
something to pass the version number to the build.

The logical place for such modifications is in my option debtransform.
Regarding third party modules, I question, if OBS
want to add a runtime dependency for these to obs-build.

hm, wouldn't it make more sense to modify the changelog file during import if
new sources instead?

The current OBS implementation allows that the source package V1 generates
binaries with version V2. Having
debtransform "correct" not matching changelogs prevent such things.

Let's assume, OBS would offer a changelog generator: It's only output could be
a file named debian.changelog [debtransform does not allow
rename of individual files of the OBS sources]. There can be multiple dsc files
with different version numbers [eg. to force a package update
at distribution upgrade], but only one changelog - so the binary versions can
be different again.

debtransform will never be able to write a meaningfull changelog entry IMHO.

Generating changelogs is out of my scope - I just try to implement something
similar to set_version for debian changelogs.
is just a bug fix to prevent debtransform generating invalid diffs.
adds support for replacing file content [in my option, a useful extension to
debtransform, even if the changelog is generated by a source service].
is my first approach to update changelogs.

If the OBS people don't like this approach:
* extend set_version with support for debian changelog files
* create a new service

To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >