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 66 67 68 69 70 71 72 73 74 75 76 77 78
|
This package use gitpkg over quilt over git svn.
Please note that this package use repack made by uscan in order to avoid copyright problem.
See debian/copyright field file-excluded for more info and uscan(1) manual.
[quick install]
* clone repo
git clone debian-vcs
git config gitpkg.orig-compressor xz
git config gitpkg.deb-export-hook /usr/share/gitpkg/hooks/quilt-patches-deb-export-hook
git config gitpkg.pre-export-hook /usr/share/gitpkg/hooks/pristine-tar-pre-export-hook
* new upstream version (or use the script under debian/script under the last commited debian version)
uscan
git checkout -b upstream/6.7.7.0 # create an upstream branch for revision 6.7.7.0
rm -rf * # clean up directory tree
tar --strip 1 -xaf ../imagemagick_6.7.7.0.orig.tar.bz2 # extract origin
git add . # add everything
git commit -a -m "add uptream tar.bz2"
pristine-tar commit ../someorign.xz upstream/6.7.7.0 # use pristine tar
git checkout -b debian-patches/6.7.7.0-1
git checkout debian/6.7.6.8-1 # checkout previous debian tree
git checkout -b debian/6.7.7.0-1 # create new debian branch
git checkout debian/6.7.6.8-1 # checkout previous debian tree
git merge --no-commit upstream/6.7.7.0 # merge but without commiting
find ./* -path './debian' -prune -o -path './.git' -prune -o -exec rm -rf '{}' + # remove all except debian and git
tar --strip 1 -xaf ../someorign.xz # use upstream
git add .
git commit -a -m 'merge with upstream' # emulate git theirs but safer
* use patch from debian branches and rebase
git checkout debian-patches/$(version -1)
git branch debian-patches/$(version)
git checkout debian-patches/$(version)
git rebase upstream/$version
* package for debian
gitpkg debian/$version upstream/$version
[gitpkg]
This is controlled by a file debian/source/git-patches. Each line contains a range suitable for passing to git-format-patch(1).
The variables UPSTREAM_VERSION and DEB_VERSION are replaced with values taken from debian/changelog.
Note that $UPSTREAM_VERSION is the first part of $DEB_VERSION
An example is:
upstream/$UPSTREAM_VERSION..patches/$DEB_VERSION
upstream/$UPSTREAM_VERSION..embedded-libs/$DEB_VERSION
This tells gitpkg to export the given two ranges of commits to debian/patches while generating the source package.
Each commit becomes a patch in debian/patches, with names generated from the commit messages. In this example, we get 5 patches from the two ranges.
0001-expand-pattern-in-no-java-rule.patch
0002-fix-dd_free_global_constants.patch
0003-Backported-patch-for-CPlusPlus-name-mangling-guesser.patch
0004-Use-system-copy-of-nauty-in-apps-graph.patch
0005-Comment-out-jreality-installation.patch
Thanks to the wonders of 3.0 (quilt) packages, these are applied when the source package is unpacked.
This package uses quilt to manage all modifications to the upstream
source. Changes are stored in the source package as diffs in
debian/patches and applied during the build.
Moreinformation: man gitpkg
[quilt]
This package uses quilt to manage all modifications to the upstream
source. Changes are stored in the source package as diffs in
debian/patches and applied during the build.
More information: /usr/share/doc/quilt/README.source
-- Bastien Roucariès <roucaries.bastien+debian@gmail.com>, Wed, 11 Jul 2012 17:57:00 +0200
|