[Pkg-fonts-devel] fontforge packaging in git: caveats, instructions, good news, and next steps

Martin Erik Werner martinerikwerner at gmail.com
Mon Mar 12 05:20:39 UTC 2012

On Sun, 2012-03-11 at 01:27 -0500, Daniel Kahn Gillmor wrote:
> Hi debian font folks--
> i've just updated our fontforge packaging to use git, derived from
> upstream's git.  I'm prepared to try to upload a package for it to
> unstable, if folks are comfortable with it.  Please let me know!
> Caveats:
>  * upstream repo contains files that aren't (and have never been) in a
>    released version.  So i'm building off of an "upstream-cleaned"
>    branch, generated by removing a standard list of files from the true
>    upstream link.  It's pretty janky, but the process for the future is
>    something like the following:
>     git checkout upstream
>     git remote update
>     git merge upstream/master
>     git checkout -b cleaning.tmp
>     git rm Readme.VMS aclocal.m4 admintools cidmap cidmapsrc config.guess config.sub fonttools gtkui htdocs ltmain.sh mac-Resources test
>     git commit -m 'remove unpackaged upstream files'
>     git tag fontforge/0.0.$(date +%Y%m%d)+git
>     git checkout upstream-cleaned
>     git merge fontforge/0.0.$(date +%Y%m%d)+git
>     git branch -d cleaning.tmp
>    Then, if that all looks reasonably clean, check out master, merge it
>    with upstream-cleaned, update debian/changelog, and git-buildpackage

> Instructions to get started locally:
>    git clone git://git.debian.org/pkg-fonts/fontforge.git
>    cd fontforge
>    git-buildpackage -uc -us
>  If you have commit rights to pkg-fonts, you can set yourself up for
>  pushing with:
>   git config remote.origin.pushurl ssh://git.debian.org/git/pkg-fonts/fontforge

I'd do the git bit something like this, for setting up and working with
the upstream tracking after clone:

git clone git://git.debian.org/pkg-fonts/fontforge.git
# or  git clone ssh+git://git.debian.org/git/pkg-fonts/fontforge.git
git remote add ff-upstream
git fetch ff-upstream

git checkout upstream
git branch --set-upstream upstream ff-upstream/master
git pull

git checkout upstream-cleaned
git merge -s ours upstream
# merge strategy 'ours' should ensure that when upstream have changes to
# the files we deleted, the merge conflict is resolved in the favour of
# our deletion
git tag fontforge/0.0.$(date +%Y%m%d)+git

git checkout master
git merge upstream-cleaned
dch -i
git commit -am"Update changelog"

!!! A big word of warning when you are pushing the upstream commits into
alioth and have commit-announces to pkg-fonts-commits enabled:
Commit announces' "From:" field is based on the committer's email, and
will bounce back to this email if it is not subscribed to the list. So
if you push 2543 commits from upstream fontforge to alioth, you may end
up with an equivalent amount of bounce emails sent to said upstream
committers (yes, I found this out the bad way). The way around this is
to temporarily disable these announces when you push stuff that's on the
'upstream' branch (in this case).

Martin Erik Werner <martinerikwerner at gmail.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/pkg-fonts-devel/attachments/20120312/2df7a39f/attachment.pgp>

More information about the Pkg-fonts-devel mailing list