[Pkg-ocaml-maint-commits] [SCM] dh-ocaml packaging branch, master, updated. debian/0.1-13-g564232e

Stephane Glondu steph at glondu.net
Mon Feb 16 15:52:42 UTC 2009


The following commit has been merged in the master branch:
commit ab442c526332d1b7df182df40d480b6cbd011588
Author: Stephane Glondu <steph at glondu.net>
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 <zack at debian.org>
-#
-# 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 <treinen at debian.org>,
-OCAML_TEAM += Remi Vanicat <vanicat at debian.org>,
-OCAML_TEAM += Samuel Mimram <smimram at debian.org>,
-OCAML_TEAM += Stefano Zacchiroli <zack at debian.org>,
-OCAML_TEAM += Sven Luther <luther at debian.org>,
-OCAML_TEAM += Sylvain Le Gall <gildor at debian.org>
-# 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 <zack at debian.org>
-#
-# 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, at OCamlABI@,$(OCAML_ABI),g' \
-			-e 's, at OCamlStdlibDir@,$(OCAML_STDLIB_DIR),g' \
-			-e 's, at 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



More information about the Pkg-ocaml-maint-commits mailing list