[Pkg-ocaml-maint-commits] r1507 - trunk/policy
Stefano Zacchiroli
zack at costa.debian.org
Fri Jul 29 10:51:36 UTC 2005
Author: zack
Date: 2005-07-29 10:51:34 +0000 (Fri, 29 Jul 2005)
New Revision: 1507
Modified:
trunk/policy/svn-howto
Log:
- cosmetic changes
- added tips about dpatch-edit-patch and --svn-dont-clean
Modified: trunk/policy/svn-howto
===================================================================
--- trunk/policy/svn-howto 2005-07-29 10:38:29 UTC (rev 1506)
+++ trunk/policy/svn-howto 2005-07-29 10:51:34 UTC (rev 1507)
@@ -17,35 +17,33 @@
contents of subdirectories not directly relevant for package management
are not detailed:
+ tags
+ packages
+ <package1>
+ <version1>
+ <version2>
+ ...
+ <package2>
+ <version1>
+ ...
+ ...
+ projects
+ test
+ trunk
+ packages
+ <package1>
+ trunk
+ debian
+ upstream
+ <upstream-tarball-version1>
+ <upstream-tarball-version2>
+ ...
+ <package2>
+ ...
+ policy
+ projects
+ tools
-tags
- packages
- <package1>
- <version1>
- <version2>
- ...
- <package2>
- <version1>
- ...
- ...
- projects
-test
-trunk
- packages
- <package1>
- trunk
- debian
- upstream
- <upstream-tarball-version1>
- <upstream-tarball-version2>
- ...
- <package2>
- ...
- policy
- projects
- tools
-
-
How to add a new package to the svn archive
===========================================
@@ -56,24 +54,23 @@
current debian directory with all its relevant files in "trunk". This
should now look like this:
-trunk/packages/my_package
- upstream
- my_package_1.2.3.orig.tar.gz
- trunk
- debian
- changelog
- control
- copyright
- patches
- 00_list
- 01_patch1.dpatch
- ...
- ...
+ trunk/packages/my_package
+ upstream
+ my_package_1.2.3.orig.tar.gz
+ trunk
+ debian
+ changelog
+ control
+ copyright
+ patches
+ 00_list
+ 01_patch1.dpatch
+ ...
+ ...
If everything is in order you can do a "svn add my_package" from the
"trunk/packages" directory, and eventually "svn commit".
-
How to set up your package for use with svn-buildpackage
========================================================
@@ -91,7 +88,7 @@
Place yourself in trunk/packages/my_packages/trunk, and do the following:
-svn propset mergeWithUpstream 1 debian
+ svn propset mergeWithUpstream 1 debian
This registers the property "mergeWithUpstream" with the current
directory, such that svn-buildpackage knows that it has to use merge
@@ -99,15 +96,14 @@
Create a file debian/svn-deblayout with the following contents:
-origDir=../upstream
-origUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/my_package/upstream
-tagsUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/tags/packages/my_package
-
+ origDir=../upstream
+ origUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/my_package/upstream
+ tagsUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/tags/packages/my_package
+
Remember that "my_package" has to be replaced by the name of your
actual package. svn-buildpackage will not include this file in the
source package when actually building the package.
-
How to build a package with svn-buildpackage
============================================
@@ -118,7 +114,7 @@
dpkg-buildpackage. Hence, basic usage should be something like this
(from the trunk/packages/my_package/trunk directory) :
-svn-buildpackage -rfakeroot -uc -us
+ svn-buildpackage -rfakeroot -uc -us
svn-buildpackage will complain when your copy of the debian directory
is not in sync with the repository. You may use the option
@@ -130,7 +126,7 @@
current version, and add a new entry in the changlog to start working
on the upcomming next version:
-svn-buildpackage --svn-tag
+ svn-buildpackage --svn-tag
Provided you have commited all your changes to the svn repository, this
will after a successful build of the package create a tag for the current
@@ -142,11 +138,33 @@
Some useful aliases took from the svn-buildpackage HOWTO:
- alias svn-b='svn-buildpackage -rfakeroot -us -uc --svn-ignore'
- alias svn-bt='svn-buildpackage -rfakeroot --svn-tag'
+ alias svn-b='svn-buildpackage -rfakeroot --svn-dont-clean -us -uc --svn-ignore'
+ alias svn-bt='svn-buildpackage -rfakeroot --svn-dont-clean --svn-tag'
The former ("svn-b") is to be used for test builds, while you are
working on your package; while the latter ("svn-bt") is to be used at
the end, after you commit your changes and just before uploading a new
version of the package to the debian archive.
+Adding -k<your gpg id> to the svn-bt alias may also be useful when working on
+collaboratively maintained packages:
+
+ alias svn-bt='svn-buildpackage -rfakeroot -k<gpgid> --svn-dont-clean --svn-tag'
+
+Dpatch
+======
+
+dpatch will work properly ad package build time with the svn structure
+described above since all the build process will be carried on in a fresh
+directory. However, invoking debian/rules with the "clean" target in the trunk/
+dir will fail since dpatch is unable to deapply patches, passing
+--svn-dont-clean to svn-buildpackage fix this misbehaviour (aliases suggested
+above alredy include this flag).
+
+If you want to use dpatch-edit-patch to handle patches, you will need to invoke
+it in "debian only mode" (-b flag, see man dpatch-edit-patch) and to tell him
+where to find the upstream tarball. Adding the following line to your
+~/.dpatch.conf will be enough:
+
+ conf_origtargzpath=../upstream
+
More information about the Pkg-ocaml-maint-commits
mailing list