Differences between revisions 2 and 10 (spanning 8 versions)
Revision 2 as of 2006-09-27 18:37:21
Size: 825
Editor: EddyPetrisor
Comment: wrong URL
Revision 10 as of 2010-10-04 02:17:05
Size: 3463
Editor: ?skizzhg
Comment:
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/Development/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
}}}

Translation(s): English - Italiano

(!) ?Discussion


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