The following commit has been merged in the master branch:
commit ab442c526332d1b7df182df40d480b6cbd011588
Author: Stephane Glondu <[email protected]>
Date:   Mon Feb 16 16:02:54 2009 +0100

    Start a level 2 CDBS compatibility layer with proper layout
    
    Rationale: there is an intended semantics of n/{class,rules} that is
    not respected in our CDBS class. Ideas inspired by Peter Eisentraut at
    FOSDEM'09.

diff --git a/cdbs/1/class/ocaml-vars.mk b/cdbs/1/class/ocaml-vars.mk
deleted file mode 100644
index d480ae1..87affe8
--- a/cdbs/1/class/ocaml-vars.mk
+++ /dev/null
@@ -1,120 +0,0 @@
-#
-# Description: Useful CDBS variables for OCaml related packages
-#
-# Copyright © 2006-2007 Stefano Zacchiroli <[email protected]>
-#
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# $Id: ocaml-vars.mk 4643 2007-10-18 00:21:51Z gildor $
-
-_cdbs_scripts_path ?= /usr/lib/cdbs
-_cdbs_rules_path ?= /usr/share/cdbs/1/rules
-_cdbs_class_path ?= /usr/share/cdbs/1/class
-
-ifndef _cdbs_class_ocaml_vars
-_cdbs_class_ocaml_vars = 1
-
-# current OCaml ABI version (e.g. 3.10.0).
-# Used internally by ocaml.mk (substituted for @OCamlABI@ in $(OCAML_IN_FILES)
-# below), may be useful to debian/rules writers as well
-OCAML_ABI := $(shell /usr/bin/ocamlc -version)
-
-# OCaml standard library location.
-# Used internally by ocaml.mk (substituted for @OCamlStdlibDir@ in
-# $(OCAML_IN_FILES) below), may be useful to debian/rules writers as well
-OCAML_STDLIB_DIR := $(shell /usr/bin/ocamlc -where)
-
-# OCaml stublibs (i.e. DLLs) location.
-# Used internally by ocaml.mk (substituted for @OCamlDllDir@) in
-# $(OCAML_IN_FILES) below), may be useful to debian/rules writers as well
-OCAML_DLL_DIR := $(OCAML_STDLIB_DIR)/stublibs
-
-# list of .in files contained (non-recursively) in debian/ that requires
-# pre-build filling.
-# Used internally by ocaml.mk.
-# debian/rules writers might need to add stuff to this list:
-#  e.g.: OCAML_IN_FILES += debian/patches/foo  # (no .in extension)
-OCAML_IN_FILES := $(filter-out debian/control,$(patsubst %.in,%,$(wildcard 
debian/*.in)))
-
-# 'yes' if native code compilation is available on the build architecture, 
'no' otherwise.
-# For debian/rules writers.
-OCAML_HAVE_OCAMLOPT := $(shell if test -x /usr/bin/ocamlopt ; then echo "yes" 
; else echo "no" ; fi)
-
-# space separated list of Debian architectures supporting OCaml native code
-# compilation.
-# Used internally by ocaml.mk and substituted in debian/control.in for the
-# @OCamlNativeArchs@ marker; may be useful to debian/rules writers as well
-OCAML_NATIVE_ARCHS := $(shell cat $(OCAML_STDLIB_DIR)/native-archs)
-
-# comma separated list of members of the OCaml team.
-# Substituted in debian/control.in for the @OCamlTeam@ marker
-OCAML_TEAM =
-
-OCAML_TEAM += Ralf Treinen <[email protected]>,
-OCAML_TEAM += Remi Vanicat <[email protected]>,
-OCAML_TEAM += Samuel Mimram <[email protected]>,
-OCAML_TEAM += Stefano Zacchiroli <[email protected]>,
-OCAML_TEAM += Sven Luther <[email protected]>,
-OCAML_TEAM += Sylvain Le Gall <[email protected]>
-# no trailing "," (comma) on the last name
-
-# space separated list of packages matching the naming convention for OCaml
-# development libraries, i.e. libXXX-ocaml-dev.
-# For debian/rules writers
-OCAML_LIBDEV_PACKAGES := $(filter lib%-ocaml-dev,$(DEB_PACKAGES))
-
-# as above, but keep packages matching the convention for OCaml runtime
-# libraries, i.e. libXX-ocaml
-OCAML_LIB_PACKAGES := $(filter lib%-ocaml,$(DEB_PACKAGES))
-
-# space separated list of packages on which ocamldoc usage is required. For
-# each package listed here will have ocamldoc invoked on all *.ml/*.mli files
-# installed under $(OCAML_STDLIB_DIR) to generated html documentation which
-# will be shipped in $(OCAML_OCAMLDOC_DESTDIR_HTML).
-# Typical usage is OCAML_OCAMLDOC_PACKAGES = $(OCAML_LIBDEV_PACKAGES).
-# For debian/rules writers
-OCAML_OCAMLDOC_PACKAGES =
-#OCAML_OCAMLDOC_PACKAGES = $(OCAML_LIBDEV_PACKAGES)    # more "aggressive" 
default
-
-# space separated list of packages for which a pkg.doc-base.ocamldoc-apiref is 
-# required. This file contains is the debian doc-base description of file which
-# should be located in the directory $(OCAML_OCAMLDOC_DESTDIR_HTML)
-# For debian/rules writers
-OCAML_OCAMLDOC_PACKAGES_DOCBASE =
-
-# ocamlfind flags which must be used in order to generate
-# correctly the ocamldoc documentation
-# For debian/rules writers
-OCAML_OCAMLDOC_OCAMLFIND_FLAGS =
-
-# generic (i.e. non backend specific) flags to be passed to ocamldoc
-# For debian/rules writers
-OCAML_OCAMLDOC_FLAGS = -stars -m A
-
-# html-specific flags to be passed to ocamldoc (in addition to -html -d 
DESTDIR)
-# For debian/rules writers
-OCAML_OCAMLDOC_FLAGS_HTML =
-
-# man-specific flags to be passed to ocamldoc (in addition to -man -d DESTDIR)
-# For debian/rules writers
-OCAML_OCAMLDOC_FLAGS_MAN = -man-mini
-
-# where to install HTML version of the ocamldoc generated API reference. You
-# can use "$(cdbs_curpkg)" stem there, it will be expanded to the current
-# package name by CDBS
-# For debian/rules writers
-OCAML_OCAMLDOC_DESTDIR_HTML = $(shell 
$(_cdbs_class_path)/ocamldoc-api-ref-config --html-directory $(cdbs_curpkg))
-
-endif
-
diff --git a/cdbs/1/class/ocaml-vars.mk b/cdbs/1/class/ocaml-vars.mk
new file mode 120000
index d480ae1..87affe8
--- /dev/null
+++ b/cdbs/1/class/ocaml-vars.mk
@@ -0,0 +1 @@
+../../2/rules/ocamlvars.mk
\ No newline at end of file
diff --git a/cdbs/1/class/ocaml.mk b/cdbs/1/class/ocaml.mk
deleted file mode 100644
index 9bd0ea2..3492c31
--- a/cdbs/1/class/ocaml.mk
+++ /dev/null
@@ -1,121 +0,0 @@
-#
-# Description: CDBS class for OCaml related packages
-#
-# Copyright © 2006-2007 Stefano Zacchiroli <[email protected]>
-#
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# $Id: ocaml.mk 4944 2007-12-28 14:50:46Z zack $
-
-_cdbs_scripts_path ?= /usr/lib/cdbs
-_cdbs_rules_path ?= /usr/share/cdbs/1/rules
-_cdbs_class_path ?= /usr/share/cdbs/1/class
-
-ifndef _cdbs_class_ocaml
-_cdbs_class_ocaml = 1
-
-# needed by debian/control:: rule below
-include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix)
-
-# to ensure invocations and tests on /usr/bin/ocaml* are meaningful
-CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), ocaml-nox
-
-# import OCAML_* make variables
-include $(_cdbs_class_path)/ocaml-vars.mk$(_cdbs_makefile_suffix)
-
-ifdef _cdbs_rules_debhelper
-
-# ensure dpkg-gencontrol will fill F:OCamlABI fields with the proper value
-DEB_DH_GENCONTROL_ARGS += -- -VF:OCamlABI="$(OCAML_ABI)"
-DEB_DH_GENCONTROL_ARGS +=    -VF:OCamlNativeArchs="$(OCAML_NATIVE_ARCHS)"
-
-endif
-
-# filter out lines starting with "OPT: "
-ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
-SEDOPTFILTER := -e 's/^OPT: //'
-else
-SEDOPTFILTER := -e '/^OPT: /d'
-endif
-
-# post-install hook to invoke ocamldoc on OCAML_OCAMLDOC_PACKAGES packages
-$(patsubst %,binary-install/%,$(DEB_PACKAGES))::
-       @OCAMLDOC="ocamldoc $(OCAML_OCAMLDOC_FLAGS)"; \
-       if test -n "$(OCAML_OCAMLDOC_OCAMLFIND_FLAGS)" ; then \
-               if ! test -x "/usr/bin/ocamlfind"; then \
-                       echo "OCamlfind flags set and no ocamlfind to be found" 
>&2; \
-                       exit 1; \
-               fi; \
-               OCAMLDOC="ocamlfind $$OCAMLDOC 
$(OCAML_OCAMLDOC_OCAMLFIND_FLAGS)"; \
-       fi; \
-       OCAML_OCAMLDOC_INCLUDE=`for i in $(OCAML_OCAMLDOC_PACKAGES); do \
-                                               find 
debian/$$i/$(OCAML_STDLIB_DIR)/ -type d -exec echo -I \{} \; ; \
-                               done`; \
-       if (echo $(OCAML_OCAMLDOC_PACKAGES) | egrep '( |^)$(cdbs_curpkg)( |$$)' 
> /dev/null) ; then \
-               echo 'mkdir -p 
debian/$(cdbs_curpkg)/$(OCAML_OCAMLDOC_DESTDIR_HTML)' ; \
-               mkdir -p debian/$(cdbs_curpkg)/$(OCAML_OCAMLDOC_DESTDIR_HTML) ; 
\
-               echo 'invoking ocamldoc on 
debian/$(cdbs_curpkg)$(OCAML_STDLIB_DIR)/ ...' ; \
-               find debian/$(cdbs_curpkg)$(OCAML_STDLIB_DIR)/ \
-                       -type f -name '*.mli' -or -name '*.ml' \
-               | xargs $$OCAMLDOC $$OCAML_OCAMLDOC_INCLUDE \
-                       -html $(OCAML_OCAMLDOC_FLAGS_HTML) \
-                       -d debian/$(cdbs_curpkg)/$(OCAML_OCAMLDOC_DESTDIR_HTML) 
\
-               || true ; \
-       fi
-
-# post-build hook to create doc-base entries for OCAML_OCAMLDOC_PACKAGES 
packages
-$(patsubst %,build/%,$(DEB_PACKAGES))::
-       @if (echo $(OCAML_OCAMLDOC_PACKAGES) $(OCAML_OCAMLDOC_PACKAGES_DOCBASE) 
\
-         | egrep '( |^)$(cdbs_curpkg)( |$$)' > /dev/null) ; then \
-               $(_cdbs_class_path)/ocamldoc-api-ref-config --doc-base-generate 
$(cdbs_curpkg) ; \
-       fi
-
-clean::
-       rm -f debian/*.doc-base.ocamldoc-apiref
-
-# generate .in files counterpars before building, substituting @OCamlABI@
-# markers with the proper value; clean stamps after building
-pre-build:: ocamlinit
-ocamlinit: ocamlinit-stamp
-ocamlinit-stamp:
-       for f in $(OCAML_IN_FILES) ; do \
-               sed \
-                       -e 's,@OCamlABI@,$(OCAML_ABI),g' \
-                       -e 's,@OCamlStdlibDir@,$(OCAML_STDLIB_DIR),g' \
-                       -e 's,@OCamlDllDir@,$(OCAML_DLL_DIR),g' \
-                       $(SEDOPTFILTER) \
-                       $$f.in > $$f ; \
-       done
-       touch $@
-clean::
-       rm -f ocamlinit-stamp $(OCAML_IN_FILES)
-
-# avoid dpatch breaking upon clean if debian/patches/*.in files are in use
-deapply-dpatches: ocamlinit
-
-# update debian/control substituting @OCamlNativeArchs@
-# XXX ASSUMPTION: debian/control has already been generated, i.e. this rule is
-# executed after the debian/control:: rule in builcore.mk
-ifneq ($(DEB_AUTO_UPDATE_DEBIAN_CONTROL),)
-debian/control::
-       if test -f debian/control && test -f debian/control.in ; then \
-               sed -i \
-                       -e "s/@OCamlNativeArchs@/$(OCAML_NATIVE_ARCHS)/g" \
-                       -e "s/@OCamlTeam@/$(OCAML_TEAM)/g" \
-                       $@ ; \
-       fi
-endif
-
-endif
-
diff --git a/cdbs/1/class/ocaml.mk b/cdbs/1/class/ocaml.mk
new file mode 120000
index 9bd0ea2..3492c31
--- /dev/null
+++ b/cdbs/1/class/ocaml.mk
@@ -0,0 +1 @@
+../../2/class/ocaml.mk
\ No newline at end of file
diff --git a/cdbs/1/class/ocaml.mk b/cdbs/2/class/ocaml.mk
similarity index 100%
copy from cdbs/1/class/ocaml.mk
copy to cdbs/2/class/ocaml.mk
diff --git a/cdbs/1/class/ocaml-vars.mk b/cdbs/2/rules/ocamlvars.mk
similarity index 100%
copy from cdbs/1/class/ocaml-vars.mk
copy to cdbs/2/rules/ocamlvars.mk
diff --git a/cdbs/1/class/ocaml-docbase-template.txt 
b/cdbs/scripts/ocaml-docbase-template.txt
similarity index 100%
rename from cdbs/1/class/ocaml-docbase-template.txt
rename to cdbs/scripts/ocaml-docbase-template.txt
diff --git a/cdbs/1/class/ocamldoc-api-ref-config 
b/cdbs/scripts/ocamldoc-api-ref-config
similarity index 100%
rename from cdbs/1/class/ocamldoc-api-ref-config
rename to cdbs/scripts/ocamldoc-api-ref-config
diff --git a/debian/dirs b/debian/dirs
index 13973b1..aea99b1 100644
--- a/debian/dirs
+++ b/debian/dirs
@@ -5,3 +5,4 @@
 /usr/share/doc/ocaml-base
 /usr/share/doc/ocaml-base-nox
 /usr/share/cdbs
+/usr/share/ocaml
diff --git a/debian/install b/debian/install
index 7299a44..42698f5 100644
--- a/debian/install
+++ b/debian/install
@@ -1,2 +1,4 @@
-cdbs/*                 usr/share/cdbs
+cdbs/1                 usr/share/cdbs
+cdbs/2                 usr/share/cdbs
+cdbs/scripts/*          usr/share/ocaml
 debhelper/dh_ocaml     usr/bin/
diff --git a/debian/links b/debian/links
index 0a13e79..016ca17 100644
--- a/debian/links
+++ b/debian/links
@@ -7,3 +7,6 @@
 /usr/share/doc/dh-ocaml/ocaml_packaging_policy.html    
/usr/share/doc/ocaml-nox/ocaml_packaging_policy.html
 /usr/share/doc/dh-ocaml/ocaml_packaging_policy.html    
/usr/share/doc/ocaml-base/ocaml_packaging_policy.html
 /usr/share/doc/dh-ocaml/ocaml_packaging_policy.html    
/usr/share/doc/ocaml-base-nox/ocaml_packaging_policy.html
+
+/usr/share/ocaml/ocamldoc-api-ref-config                
/usr/share/cdbs/1/class/ocamldoc-api-ref-config
+/usr/share/ocaml/ocaml-docbase-template.txt             
/usr/share/cdbs/1/class/ocaml-docbase-template.txt
diff --git a/debian/rules b/debian/rules
index a6b6c3e..9daf226 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,7 +10,7 @@ clean:
 
 install: build install-stamp
 install-stamp:
-       chmod +x cdbs/1/class/ocamldoc-api-ref-config
+       chmod +x cdbs/scripts/ocamldoc-api-ref-config
        dh install
        touch install-stamp
 

-- 
dh-ocaml packaging

_______________________________________________
Pkg-ocaml-maint-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-ocaml-maint-commits

Reply via email to