[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#737634: dpkg-dev: please reject native/non-native version when building native/non-native source packages



On Wed, 5 Feb 2014 12:21:30 +0000
Sam Hartman <hartmans@debian.org> wrote:

> >>>>> "Andreas" == Andreas Beckmann <anbe@debian.org> writes:
> 
>     Andreas> On 2014-02-05 10:57, Sam Hartman wrote:
>     >> tarballs useful; anyone who is likely to want to build this
>     >> from source probably has a copy of git and can checkout a tag.
> 
>     Andreas> Such a tag corresponds to an upstrema version?
> 
> yes.
> 
>     >> I'm happy to entertain other options rather than 3.0(native)
>     >> but my requirements are:
>     >> 
>     >> * support for upstream version * support for debian revision
>     >> 
>     >> * No need to have upstream sources available to
>     >> dpkg-buildpackage prior to running it
>     >> 
>     >> * No need to maintain .orig.tar.gz artifacts produced by
>     >> dpkg-source and keep the checksums of these artifacts
>     >> consistent between packages with the same upstream versions.
> 
>     Andreas> All this sounds like it can be done with git-buildpackage
>     Andreas> --git-pristine-tar --git-pristine-tar-commit. Can be set
>     Andreas> in debian/gbp.conf. And maybe dpkg-source
>     Andreas> --single-debian-patch.  
> 
> no, that means I have to maintain the artifact (namely the
> .orig.tar.gz).
> The archive software (both reprepro and dak were I to use that)
> require that the .orig.tar.gz not change checksums.

Using packages to support upstream development is a common problem and
this is exactly where things get awkward.

For my own role within an upstream team, I'm considering using
"unofficial" or "developer" upstream tarball releases. We'll probably
use a date based tag 2014.02 etc for the main monthly release.
Developer builds will have a shortened git hash appended (this happens
to match our existing deployment method) like 2014.02.234fdga2 and
incremental upstream releases will use tag.01 etc. so 2014.02.01

This has advantages that developers self-verify that the tarballs work
which finds problems due to new files not being included in the
tarball. It also retains the upstream packaging behaviour.

> I don't want my build machines to be able to push back to my master
> repository.
> Nor do I want to have to release upstream versions if I lose state on
> my build machines.
> So this violates my requirements because I have to maintain  an
> artifact of dpkg-source (the .orig.tar.gz) and makesure its checksum
> never changes.
> 
> Also, using git-buildpackage is difficult.
> The build is done by sbuild, which does not call git-buildpackage.

Not true. There are options to use debuild or pdebuild or
dpkg-buildpackage in-place.

e.g. I use:

[DEFAULT]
#builder = git-pbuilder
builder = debuild
cleaner = fakeroot debian/rules clean
pristine-tar = True

[git-buildpackage]
export-dir = ../build-area/
tarball-dir = ../tarballs/

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

Attachment: signature.asc
Description: PGP signature


Reply to: