[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.
+
+
+
+
+
+ 
+
+
+
+