1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
* Packaging workflow
This package should be ready to build when the source package is
unpackaged via "dpkg-source -x".
The master branch is a (patches applied) debianized source tree, and
should be buildable by any number of tools (including
dpkg-buildpackage).
I use git-debrebase to manage patches, and dgit to upload.
* New upstream version
I'm trying to keep both upstream commits (because they are useful to
cherry-pick) and upstream tarballs (because upstream mutates things
when making the tarball).
** Update upstream branch
- git checkout upstream
- git merge -s recursive -X theirs vXXXX
# where vXXXX is an upstream tag. Since v5.0.1, these tags should all be on
# upstream branch stable.
- optionally auto resolve file deletion conflicts:
- git status -s | egrep '^(DU|UA| U|U |UD)' | cut -c4- | xargs git rm --ignore-unmatch DUMMY$$
- git commit
** Import upstream tarball
We do a manual import, because e.g. git-import-orig wants to merge
into master. I have a git alias [1] which does most of this
- git checkout upstream
- git clean -fxd
- git ls-files -z | xargs -0 rm -f
- tar --strip-components=1 -zxf $tarball
- git add -A
- git commit -m 'Importing '`basename $tarball`
- pristine-tar commit $tarball
** Update dfsg branch (used to track deletions for dfsg reasons)
- git checkout dfsg
- git merge upstream
- probably the same conflicts with deletions exist here, which can
be resolved as above.
- git tag upstream/$version+dfsg1
** Merge dfsg to master
** Make a tarball
- git deborig
- pristine-tar commit ../racket_$version+dfsg1.origin.tar.xz
Notes:
[1] My git alias to import tarballs is
[alias]
import-tgz = "!f() { if [ -f $1 ]; then git clean -fxd; git ls-files -z | xargs -0 rm -f; tar --strip-components=1 -zxvf $1 ; git add -A; git commit -m'Importing '`basename $1`; else echo "missing tarball $1"; fi; }; f"
|