[Pkg-ocaml-maint-commits] r1400 - trunk/policy
Ralf Treinen
treinen@costa.debian.org
Sun, 05 Jun 2005 17:38:30 +0000
Author: treinen
Date: 2005-06-05 17:38:30 +0000 (Sun, 05 Jun 2005)
New Revision: 1400
Added:
trunk/policy/svn-howto
Log:
first versin of an svn hwto
Added: trunk/policy/svn-howto
===================================================================
--- trunk/policy/svn-howto 2005-06-05 17:31:01 UTC (rev 1399)
+++ trunk/policy/svn-howto 2005-06-05 17:38:30 UTC (rev 1400)
@@ -0,0 +1,148 @@
+How to obtain a copy of the pkg-ocaml-maint svn archive
+=======================================================
+FIXME: to be filled in
+
+Structure of the pkg-ocaml-maint svn archive
+============================================
+
+We keep all files of the debian subdirectory under svn control, and
+upstream only as a compressed tarball. The rationale behind this is
+that changes to upstream files should be managed by the dpatch patch
+manager. Hence, all the diffs to upstream files are kept in a
+subdirectory of debian/, and it is not necessary to manage upstream on
+file-by-file basis.
+
+The structure of the pkg-ocaml-maint svn archive is as follows, where
+generic names are indicated in angular brackets < .. >, and where the
+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
+
+
+How to add a new package to the svn archive
+===========================================
+
+Place yourself in the directory trunk/packages of your working copy of
+the svn repository. Create a directory with the same name as your
+package (let's say, my-package), and subdirectories "upstream" and
+"trunk". Put the current upstream tarball in "upstream", and the
+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
+ ...
+ ...
+
+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
+========================================================
+
+Please see the svn-buildpackage documentation for complete
+information. The important issues here are :
+
+- Since we keep upstream as a tarball we have to use svn-buildpackage in
+ so-called merge mode. This means that, before compiling the package,
+ the debianized source tree is constructed by untarring the orig tar
+ ball, and then merging the contents of the trunk subdirectory in it.
+
+- The structure of our svn repository is not among the default structures
+ of svn-buildpackage. Hence, we have to override the default location of some
+ directories.
+
+Place yourself in trunk/packages/my_packages/trunk, and do the following:
+
+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
+mode as explained above.
+
+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
+
+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
+============================================
+
+Please refer to the svn-builpackage documentation for more complete
+information. Here is just a quick guide:
+
+All options, except those starting on --svn, are passed to
+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 will complain when your copy of the debian directory
+is not in sync with the repository. You may use the option
+"--svn-ignore-new" to override this behaviour. The package will be
+build in the directory ../build-area.
+
+If your package is ready for upload you may use the "--svn-tag" option
+for the final build. This will put a tag in the svn-repository on the
+current version, and add a new entry in the changlog to start working
+on the upcomming next version:
+
+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
+version in tags/packages/my_package. The tagging is done directly in the
+svn repository.
+
+
+
+
+
+
+
+
+
+