manager git repository. (was Re: [SCM] bristol/master: Import Debian patch 0.60.11-3)

IOhannes m zmölnig (Debian/GNU) umlaeute at debian.org
Mon Oct 31 18:43:21 UTC 2016


On 10/31/2016 06:05 PM, Herbert Fortes wrote:
> Hi,
> 
> I am finally reading about how to manage a
> git repository in a way Debian Multimedia 
> Team do.
> 
> I am packaging dvd-slideshow (a team upload). It is a new release. I think
> I should use 'git import-orig --pristine-tar', but an 'uploader' already 
> started the work and the upstream version was imported already. The steps 
> until now:
> 
> Finalize
> Import Upstream version 0.8.6.1
> Merge tag 'uptream/0.8.6.1'
> (work in three patches)
> 
> 'git gui' is been a big help. Thanks.
> 
> What I need to do is work in debian directory (git checkout master):
> 
>  - refresh some more patches and 2 were created.
>  - edit:
>      - compat: 10

if possible i would stay at compat=9
it makes backporting much easier.
unless of course compat=10 makes the packaging *much* cleaner.

>      - control:
>          - Standards-Version
>          - Build-Depends
>          - Vcs*
>          - Depends

i'm not sure what you mean with this enumeration.
but yes, you should make sure that all these things are correct and
up-to-date.

>      - copyright: update

well, yes: if needed .-)

>      - dvd-slideshow.docs
>           - remove .html entry. These files have the same
>             information manpages have.
>      - rules
>           - remove entry about .html files.

i cannot make any meaningful comment on this (without cross-checking
with the actual package)

> 
> Working in debian directory I only need to 'git commit -a'
> each file I edited.

no, not really.
your commits should be *meaningful* chunks grouped by task.
e.g. if you update Standards-Version, B-D, Depends and Vcs-* stanzas,
all of them in debian/control, these changes have nothing in common
(although they all touch the same file).
you should thereore create multiple commits: 1 for updating the
standards-version, one of updating the vcs-* stanzas, one for updating
the B-Ds,...
also a commit could contain multiple files (e.g. raising compat level
would require an update to both d/compat and the B-D in d/control)

> 
> git-dch
> 
> git tag -s debian/0.8.6.1-1 -m "Debian release 0.8.6.1-1"
> git push origin master upstream pristine-tar --follow-tags --dry-run # to check
> 
> # if ok
> gbp buildpackage

no.
the git-tag should be created by the uploader, *when the package gets
uploaded*.
also "gbp buildpackage" can tag for you ("--git-tag" option), you
shouldn't create the tags manually (to not get epochs wrong).

so i would do:
1 create a new changelog entry with the new version (possibly using
'git-dch'; make sure to fix the generated changelog); leave the target
distribution at UNRELEASED.
2 commit the changelog: `git commit debian/changelog -m "updated changelog`)
3 build the package `gbp buildpackage`
4 run lintian (or have gbp do that for you)
5 if there are any build issues or lintian problems, fix them, commit
them; go back to #1
6 once the package creates cleanly, push your changes, and ask for review.
7 if needed, go back to #1
8 if everything is fine, fix the debian/changelog to its final form (and
set target distro to "unstable")
9 rebuild for a source-only upload (if applicable) and automatically
sign: `gbp buildpackage --git-tag --changes-option=-S`
10 upload/push


gfmfds
IOhannes

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20161031/83405feb/attachment.sig>


More information about the pkg-multimedia-maintainers mailing list