From: Stefano Zacchiroli Date: Tue, 5 Sep 2006 19:03:20 +0000 (+0000) Subject: added section about the best practice of specifying the XS-X-Vcs-Svn field in debian... X-Git-Tag: archive/raspbian/4.08.1-4+rpi1~3^2~623 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=696ac4e544fd2cba2045a07ce15ea34413d03ce0;p=ocaml.git added section about the best practice of specifying the XS-X-Vcs-Svn field in debian/control --- diff --git a/debian/changelog b/debian/changelog index fe1886d7..336c3b99 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,13 @@ -ocaml (3.09.3~rc1-1) experimental; urgency=low +ocaml (3.09.3~rc1-1) unstable; urgency=low * New upstream release candidate. - -- Julien Cristau Sat, 2 Sep 2006 10:38:43 +0200 + [ Stefano Zacchiroli ] + * Updated policy (now at version 0.7.1); changes: + - added a best-practice section about using the XS-X-Vcs-Svn field in + debian/control of OCaml related packages + + -- Stefano Zacchiroli Tue, 5 Sep 2006 12:06:25 +0200 ocaml (3.09.2-6) unstable; urgency=low diff --git a/debian/policy/appendix-svn.xml b/debian/policy/appendix-svn.xml index 50b1565b..80579f81 100644 --- a/debian/policy/appendix-svn.xml +++ b/debian/policy/appendix-svn.xml @@ -1,20 +1,74 @@ + +
+ Use SVN and let your users know about it + + (Hopefully) All OCaml-related Debian packages are maintained using a + centralized Subversion + (SVN for short) repository. This practice reduce the + efforts needed to contribute work inside &ocaml-force; and, in case of + need, provides a place where to massively perform changes to all + OCaml-related Debian packages. + + + Nonetheless, Debian users can benefit knowing we are using a SVN + repository (they can for instance subscribe to the RSS feed for changes + or have a place where to look for finding patches corresponding to bugs + tagged "pending" in the BTS). + + + For this reason it is recommended to add the + XS-X-Vcs-Svn field to the debian/control + of packages maintained in &ocaml-force; SVN repository. Its name + specifies that we are using Subversion as our Version Control System + (VCS); its value is the URL pointing to the package's + trunk directory. + + + The general scheme for using the field is thus: + + XS-X-Vcs-Svn: svn://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/PACKAGE_NAME + + + Usage example of the XS-X-Vcs-Svn field, from the + <application>findlib</application> package + + + Source: findlib + Section: devel + Priority: optional + Maintainer: Stefano Zacchiroli <zack@debian.org> + Build-Depends: debhelper (>> 4.0.0), ocaml (>= 3.09.2), m4, gawk | awk, dpatch, cdbs + Standards-Version: 3.7.2 + XS-X-Vcs-Svn: svn://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/findlib + + Package: ocaml-findlib + Section: devel + Architecture: any + Depends: ocaml-nox-${F:OCamlABI}, ${shlibs:Depends}, ${misc:Depends} + Description: Management tool for OCaml programming language libraries + ... + + + +
+
- How to obtain a copy of the SVN archive + How to obtain a copy of the SVN repository - You can obtain a copy of debian-ocaml-maint SVN archive by + You can obtain a copy of debian-ocaml-maint SVN repository by -svn co svn+ssh://svn.debian.org/svn/pkg-ocaml-maint + svn co svn+ssh://svn.debian.org/svn/pkg-ocaml-maint You must be member of the Debian - OCaml Task Force in order to have write access to this archive. + OCaml Task Force in order to have write access to the repository.
- Structure of the SVN archive + Structure of the SVN repository - We keep all files of the debian subdirectory under svn control, and + 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 @@ -23,7 +77,7 @@ svn co svn+ssh://svn.debian.org/svn/pkg-ocaml-maint - The structure of the pkg-ocaml-maint svn archive is as follows, where + The structure of the pkg-ocaml-maint SVN repository is as follows, where generic names are indicated in square brackets [ .. ], and where the contents of subdirectories not directly relevant for package management are not detailed: @@ -59,10 +113,10 @@ svn co svn+ssh://svn.debian.org/svn/pkg-ocaml-maint
- How to add a new package to the SVN archive + How to add a new package to the SVN repository Place yourself in the directory trunk/packages of your working copy of - the svn repository. Create a directory with the same name as your + the SVN repository. Create a directory with the same name as your source 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 @@ -105,7 +159,7 @@ svn co svn+ssh://svn.debian.org/svn/pkg-ocaml-maint - The structure of our svn repository is not among the default structures + 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. @@ -117,8 +171,8 @@ svn co svn+ssh://svn.debian.org/svn/pkg-ocaml-maint 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. + directory, such that svn-buildpackage knows + that it has to use merge mode as explained above. @@ -159,10 +213,11 @@ tagsUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/tags/packages/my_package - svn-buildpackage will complain when your copy of the debian directory - is not in sync with the repository. You may use the option - to override this behaviour. The package will be - build in the directory ../build-area. + svn-buildpackage will complain when your copy + of the debian directory is not in sync with the repository. You may use + the option to override this behaviour. + The package will be build in the directory + ../build-area. @@ -173,12 +228,13 @@ tagsUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/tags/packages/my_package 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. + SVN repository. - Some useful aliases taken from the svn-buildpackage HOWTO: + Some useful aliases taken from the + svn-buildpackage HOWTO: alias svn-b='svn-buildpackage -rfakeroot --svn-dont-clean -us -uc --svn-ignore' alias svn-bt='svn-buildpackage -rfakeroot --svn-lintian --svn-dont-clean --svn-tag' @@ -206,7 +262,7 @@ alias svn-bt='svn-buildpackage -rfakeroot -k<gpgid> --svn-lintian --svn-do dpatch - dpatch will work properly at package build time with the svn + dpatch will work properly at package build time with the SVN structure described above since all of the build process will be carried out in a fresh directory. However, invoking debian/rules with the "clean" target in @@ -227,3 +283,4 @@ conf_origtargzpath=../upstream
+ diff --git a/debian/policy/ocaml_packaging_policy.xml b/debian/policy/ocaml_packaging_policy.xml index 41363ede..08e5149a 100644 --- a/debian/policy/ocaml_packaging_policy.xml +++ b/debian/policy/ocaml_packaging_policy.xml @@ -33,7 +33,7 @@ &debian-name; &ocaml-name; Packaging Policy for OCaml &ocaml-version; - Revision 0.7 + Revision 0.7.1 &authors; &legal;