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

Re: Question about git-buildpackage and DFSG-compliance



Hi Tim,

On Tue, Sep 23, 2014 at 03:29:12AM +0000, Potter, Tim (Cloud Services) wrote:
> Hi everyone.  I'm still a bit confused about how git-buildpackage works.
> I'm fixing a couple of lintian errors in ruby-qed due to the fact that a
> copy of jquery.js is included in the upstream source.  I've done some
> operations on the git repo as recommended by google but have ended up with
> "git-buildpackage ­us ­uc" creating the orig.tar.gz file from the wrong
> upstream tag.  Is there a trick or two that I've missed out somewhere?

> Before I started messing around the ruby-qed repo looked like this as it
> was originally created using gbp import-dsc:

> * branches: master, upstream, pristine-tar
> * tags: upstream/2.9.1
> * lots of files modified in debian/*

> Now I have tried to remove lib/document/jquery.js to fix the
> source-is-missing lintian error that has been there since the beginning.
> I did this:

> * create dfsg_clean branch off of the upstream branch
> * removed jquery.js from the dfsg_clean branch, committed and tagged this
> as upstream/2.9.1+dfsg
> * merged dfsg_clean into master
> * run git buildpackage --git-no-pristine-tar
> --git-upstream-branch=dfsg_clean --git-upstream-tree=branch -us ­uc to
> regenerate the orig.tar.gz file with query.js removed
> * updated the pristine-tar branch with this new orig.tar.gz file

This seems a possible working workflow.

> Finally I'm left with the same error when running git-buildpackage as the
> orig.tar.gz file is still being created from the upstream/2.9.1 tag and
> not upstream/2.9.1+dfsg.  I'm guessing that the Debian package builder
> isn't going to be able to pass an extra option to choose which tag to
> build from so I'm obviously missing something important to glue my
> DFSG-compatibility changes together.

> Does anyone have any helpful handy hints to solve this puzzle?

Have you updated the last changelog entry to have an upstream version
with the +dfsg suffix (something like 2.9.1+dfsg-1)? The tarball you
reimported in the pristine-tar branch does not have the +dfsg suffix.
From the team's Git repo for ruby-qed, I managed to build the +dfsg
version by:
- adding a +dfsg suffix to the upstream version number in the changelog
  entry
- regenerate a tarball with gbp buildpackage --git-no-pristine-tar
  (and reimport in the pristine-tar branch). I think it is even possible
  to mess around and modify/rename existing files in the pristine-tar
  branch.

If you want to automatically remove this file from later upstream
version, you can create a debian/gbp.conf file with:
---------8<-------------
[git-import-orig]
filter = ['lib/document/jquery.js']
filter-pristine-tar = True
---------->8------------
but the canonical recommended procedure seems to be now to use the
Files-Excluded: field in the debian/copyright file, for automatic
removal of files with uscan(1). See ruby-mail or ruby-hoe repositories
for examples.

Cheers,

Cédric

Attachment: signature.asc
Description: Digital signature


Reply to: