813
Comment: svn-buildpackage tricks and stuff good to know about
|
3459
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
#language en ||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[it/svn-buildpackage|Italiano]]-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]|| ---- |
|
Line 9: | Line 12: |
* store the upstream tarball location in the SVN property svn-bp:origUrl (thins will allow a workflow like the one described in Self:Games/BuildProcess) * create debian/svn-deblayout files for all the packages in SVN and store all the URL fields: * trunkUrl * tagsUrl (use URI for authenticated users) * branchesUrl * store relative paths in the debian/svn-deblayout file: |
* storing layout information can be done in subversion properties of the debian/ directory * store the following information in the layout information (via svn-bp:* properties of the debian/ directory) * upstream tarball - layout information origUrl (thins will allow a workflow like the one described in [[Games/Development/BuildProcess]]) * set all the URL fields: * trunkUrl * tagsUrl (use URI for authenticated users) * branchesUrl * specify layout information by using relative paths == Examples == origUrl specification: {{{ eddy@bounty ~/usr/src/games/trunk/wormux $ svn pl debian/ | grep svn-bp svn-bp:origUrl eddy@bounty ~/usr/src/games/trunk/wormux $ svn pg svn-bp:origUrl debian/ http://pkg-games.alioth.debian.org/tarballs/wormux_0.7.9.orig.tar.gz }}} Relative information: |
Line 32: | Line 52: |
svn-buildpackage -d --svn-export }}} or {{{ |
|
Line 34: | Line 60: |
== Modifing easily packages which are partially imported (sources which have the mergeWithUpstream option set) == All of the following commands use the svn-do wrapper script which is present in /usr/bin/svn-do (in older versions svn-do was in /usr/share/svn-buildpackage/contrib/svn-do) {{{ # clean the tree (useful if this requires the full source tree) % svn-do debclean I: Exporting source tree via svn-buildpackage... [...] I: Running command: debclean [...] I: Copying back the debian/ tree... `debian/control' -> `/home/lool/svn/debian/pkg-gnome/desktop/unstable/nautilus-cd-burner/debian/control' }}} {{{ # use quilt to refresh a patch % QUILT_PATCHES=debian/patches svn-do \ sh -c "quilt push 002_static-linking-dont-build-perf.patch; quilt refresh" [...] I: Copying back the debian/ tree... [...] `debian/patches/002_static-linking-dont-build-perf.patch' -> `/home/lool/svn/debian/pkg-gnome/desktop/experimental/gtk+2.0/debian/patches/002_static-linking-dont-build-perf.patch' }}} {{{ # start a source editing session and decide later not to copy back the # debian/ tree % svn-do $SHELL [...] I: Running command: /bin/zsh % exit 1 E: command exited with 1; not copying back the debian/ tree. }}} {{{ # edit a patch in a CDBS' simple-patchsys based package % svn-do cdbs-edit-patch 02_pmount.patch [...] }}} == Development == svn-buildpackage is currently maintained as part of the collab-maint repository. To join the development team, check it out, join the channel #debian-svn-bp on OFTC, subscribe to PTS on [[http://packages.qa.debian.org/s/svn-buildpackage.html]]. Obtaining the current svn-buildpackage can be done via the following command: {{{ debcheckout svn-buildpackage }}} or, if you want to use authorized access (requires an account on Alioth): {{{ debcheckout -a svn-buildpackage }}} |
Abstract
svn-buildpackage is a tool which helps in maintainance of packages with Subversion.
Group maintainance HowTo
Rules:
- storing layout information can be done in subversion properties of the debian/ directory
- store the following information in the layout information (via svn-bp:* properties of the debian/ directory)
upstream tarball - layout information origUrl (thins will allow a workflow like the one described in Games/Development/BuildProcess)
- set all the URL fields:
- trunkUrl
- tagsUrl (use URI for authenticated users)
- branchesUrl
- specify layout information by using relative paths
Examples
origUrl specification:
eddy@bounty ~/usr/src/games/trunk/wormux $ svn pl debian/ | grep svn-bp svn-bp:origUrl eddy@bounty ~/usr/src/games/trunk/wormux $ svn pg svn-bp:origUrl debian/ http://pkg-games.alioth.debian.org/tarballs/wormux_0.7.9.orig.tar.gz
Relative information:
origDir=.. trunkDir=. buildArea=../build-area
Tricks
Just tag, no dependency checks
svn-buildpackage --svn-tag-only -d
Obtaining the unpacked source package without building
svn-buildpackage -d --svn-export
or
svn-buildpackage -d --svn-builder echo
Modifing easily packages which are partially imported (sources which have the mergeWithUpstream option set)
All of the following commands use the svn-do wrapper script which is present in /usr/bin/svn-do (in older versions svn-do was in /usr/share/svn-buildpackage/contrib/svn-do)
# clean the tree (useful if this requires the full source tree) % svn-do debclean I: Exporting source tree via svn-buildpackage... [...] I: Running command: debclean [...] I: Copying back the debian/ tree... `debian/control' -> `/home/lool/svn/debian/pkg-gnome/desktop/unstable/nautilus-cd-burner/debian/control'
# use quilt to refresh a patch % QUILT_PATCHES=debian/patches svn-do \ sh -c "quilt push 002_static-linking-dont-build-perf.patch; quilt refresh" [...] I: Copying back the debian/ tree... [...] `debian/patches/002_static-linking-dont-build-perf.patch' -> `/home/lool/svn/debian/pkg-gnome/desktop/experimental/gtk+2.0/debian/patches/002_static-linking-dont-build-perf.patch'
# start a source editing session and decide later not to copy back the # debian/ tree % svn-do $SHELL [...] I: Running command: /bin/zsh % exit 1 E: command exited with 1; not copying back the debian/ tree.
# edit a patch in a CDBS' simple-patchsys based package % svn-do cdbs-edit-patch 02_pmount.patch [...]
Development
svn-buildpackage is currently maintained as part of the collab-maint repository. To join the development team, check it out, join the channel #debian-svn-bp on OFTC, subscribe to PTS on http://packages.qa.debian.org/s/svn-buildpackage.html.
Obtaining the current svn-buildpackage can be done via the following command:
debcheckout svn-buildpackage
or, if you want to use authorized access (requires an account on Alioth):
debcheckout -a svn-buildpackage