Simplify debian/rules and handling of opt-specific files
authorStephane Glondu <steph@glondu.net>
Sat, 29 Nov 2008 13:14:57 +0000 (14:14 +0100)
committerStephane Glondu <steph@glondu.net>
Sat, 29 Nov 2008 16:04:18 +0000 (17:04 +0100)
debian/camlp4-extra.files.in
debian/camlp4-extra.optfiles.in [deleted file]
debian/camlp4.files.in
debian/camlp4.optfiles.in [deleted file]
debian/ocaml-native-compilers.install [new file with mode: 0644]
debian/ocaml-nox.optfiles.in [deleted file]
debian/ocaml.files.in
debian/rules

index b7379489925df9c0bd1d668803f37183c6d4357a..4b7e9724204bffb51f905114200e1c2e64dbf32f 100644 (file)
@@ -8,3 +8,7 @@ usr/lib/ocaml/#OcamlABI#/camlp4/camlp4of.cma
 usr/lib/ocaml/#OcamlABI#/camlp4/camlp4rf.cma
 usr/lib/ocaml/#OcamlABI#/camlp4/camlp4oof.cma
 usr/lib/ocaml/#OcamlABI#/camlp4/camlp4orf.cma
+OPT: usr/bin/camlp4of.opt
+OPT: usr/bin/camlp4rf.opt
+OPT: usr/bin/camlp4oof.opt
+OPT: usr/bin/camlp4orf.opt
diff --git a/debian/camlp4-extra.optfiles.in b/debian/camlp4-extra.optfiles.in
deleted file mode 100644 (file)
index 13419f7..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/bin/camlp4of.opt
-usr/bin/camlp4rf.opt
-usr/bin/camlp4oof.opt
-usr/bin/camlp4orf.opt
index 1970c1e1b271d9c9abd96b41230baca0e41be7d4..859b5b0875c4c5f2b5da5663c4f359c7efa306c0 100644 (file)
@@ -3,3 +3,5 @@ usr/bin/camlp4o
 usr/bin/camlp4r
 usr/bin/mkcamlp4
 usr/lib/ocaml/#OcamlABI#/camlp4/
+OPT: usr/bin/camlp4o.opt
+OPT: usr/bin/camlp4r.opt
diff --git a/debian/camlp4.optfiles.in b/debian/camlp4.optfiles.in
deleted file mode 100644 (file)
index 7715cef..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/bin/camlp4o.opt
-usr/bin/camlp4r.opt
diff --git a/debian/ocaml-native-compilers.install b/debian/ocaml-native-compilers.install
new file mode 100644 (file)
index 0000000..2dfe0d0
--- /dev/null
@@ -0,0 +1 @@
+debian/ocamlfind/ocaml-native-compilers.conf usr/share/ocaml-findlib/
diff --git a/debian/ocaml-nox.optfiles.in b/debian/ocaml-nox.optfiles.in
deleted file mode 100644 (file)
index 1622f99..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-usr/bin/labltk
-usr/lib/ocaml/#OcamlABI#/labltk
-usr/lib/ocaml/#OcamlABI#/graphics.cmx
-usr/lib/ocaml/#OcamlABI#/graphics.cmxa
-usr/lib/ocaml/#OcamlABI#/graphics.a
index b03dc2fa3c564f2edf251f576792fa569d17dd0d..558c8bf99547d47aea68f4b6969736413ffd115e 100644 (file)
@@ -6,3 +6,8 @@ usr/lib/ocaml/#OcamlABI#/graphics.mli
 usr/lib/ocaml/#OcamlABI#/graphicsX11.mli
 usr/lib/ocaml/#OcamlABI#/labltk
 usr/lib/ocaml/#OcamlABI#/libgraphics.a
+OPT: usr/bin/labltk
+OPT: usr/lib/ocaml/#OcamlABI#/labltk
+OPT: usr/lib/ocaml/#OcamlABI#/graphics.cmx
+OPT: usr/lib/ocaml/#OcamlABI#/graphics.cmxa
+OPT: usr/lib/ocaml/#OcamlABI#/graphics.a
index 5b3d228de880639e66097247ac283fc42cf0ed30..4c91b284d1a837546f358149252c4487233b2db9 100755 (executable)
@@ -42,7 +42,9 @@ else
        SED_HANDLE_OPT := -e 's/^OPT: //'
 endif
 
-abi-sed:
+patch-stamp: debian/$(SRCTARBALL)
+
+abi-sed-stamp: debian/$(SRCTARBALL)
        for t in `find debian/ -name \*.in | grep -v debian/control.in`; do \
          sed -e 's%#OcamlABI#%$(OCAMLABI)%' -e 's%#OcamlMAJOR#%$(OCAMLMAJOR)%' \
            $(SED_HANDLE_OPT) $$t >$${t%.in}; \
@@ -50,7 +52,6 @@ abi-sed:
        touch $@
 
 abi-sed-clean:
-       rm -f abi-sed
        for t in `find debian/ -name \*.in | grep -v debian/control.in`; do \
          rm -f $${t%.in}; \
        done
@@ -60,7 +61,7 @@ abi-sed-clean:
 debian/control:
        sed -e 's/#OcamlNativeArchs#/$(NATIVE_ARCHS)/g' debian/control.in > $@
 
-pre-config: debian/$(SRCTARBALL)
+pre-config-stamp: debian/$(SRCTARBALL)
        for ext in sub guess; do \
          if [ -f /usr/share/misc/config.$$ext ] && ! [ -f debian/config.orig.$$ext ] ; then \
            mv config/gnu/config.$$ext debian/config.orig.$$ext; \
@@ -75,8 +76,9 @@ debian/$(SRCTARBALL):
                --exclude=$(DISTDIR)/$(DISTDIR) \
                --exclude-from=debian/ocaml-source.exclude \
                $(DISTDIR)/
+       rm -f $(DISTDIR)
 
-config-stamp: pre-config patch-stamp abi-sed
+config-stamp: pre-config-stamp patch-stamp abi-sed-stamp
        dh_testdir
        ./configure --with-pthread -prefix /usr                         \
                -libdir /usr/lib/ocaml/$(OCAMLABI)                      \
@@ -94,10 +96,10 @@ config-stamp: pre-config patch-stamp abi-sed
                echo "Aborting.";                                       \
                exit 1;                                                 \
        fi
-       touch config-stamp
+       touch $@
 
 
-patch-stamp: abi-sed
+patch-stamp: abi-sed-stamp
 # Architecture
 build: build-arch build-indep
 
@@ -122,10 +124,9 @@ build-indep-stamp:
        # create ocaml source tarball
        touch $@
 
-clean: abi-sed unpatch
+clean: abi-sed-clean unpatch
        dh_testdir
        dh_testroot
-       -$(RM) build-arch-stamp build-indep-stamp config-stamp abi-sed opt-built-stamp pre-config
 
        # Add here commands to clean up after the build process.
        [ ! -f "$(CURDIR)/config/Makefile" ] || $(MAKE) clean
@@ -143,12 +144,8 @@ clean: abi-sed unpatch
        if head -n 1 emacs/ocamltags.in | grep -q '^#!/bin/sh'; then \
                sed -i 1d emacs/ocamltags.in; \
        fi
-       # Files not cleaned by upstream (most of them are cleaned
-       # using debian/clean feature of dh_clean in debhelper 7)
-       -$(RM) ocaml-$(OCAMLABI)
 
        dh_clean
-       debian/rules abi-sed-clean
        -$(RM) debian/$(SRCTARBALL)
 
 install: install-indep install-arch
@@ -179,25 +176,11 @@ install-arch: build-arch
        $(MAKE) install PREFIX=$(INSTDIR)
 
        # Now move the graphics files over
-       if [ -e opt-built-stamp ]; then                                 \
-               dh_movefiles -pocaml                                    \
-                       --sourcedir=debian/ocaml-nox                    \
-                       `cat debian/ocaml-nox.optfiles`;                \
-       else                                                            \
-               dh_movefiles -pocaml                                    \
-                       --sourcedir=debian/ocaml-nox;                   \
-       fi
+       dh_movefiles --sourcedir=debian/ocaml-nox -pocaml
 
        # Move away camlp4 stuff
-       if [ -e opt-built-stamp ]; then                                 \
-               dh_movefiles --sourcedir=debian/ocaml-nox -pcamlp4-extra \
-                       `cat debian/camlp4-extra.optfiles` ; \
-               dh_movefiles --sourcedir=debian/ocaml-nox -pcamlp4 \
-                       `cat debian/camlp4.optfiles` ; \
-       else \
-               dh_movefiles --sourcedir=debian/ocaml-nox -pcamlp4-extra ; \
-               dh_movefiles --sourcedir=debian/ocaml-nox -pcamlp4 ; \
-       fi
+       dh_movefiles --sourcedir=debian/ocaml-nox -pcamlp4-extra
+       dh_movefiles --sourcedir=debian/ocaml-nox -pcamlp4
 
        # Install camlp4 .mli files
        # XXX assumption: no filename clashes
@@ -211,13 +194,10 @@ install-arch: build-arch
        # And base's corresponding graphics stuff.
        dh_movefiles --sourcedir=debian/ocaml-nox -pocaml-base
 
+ifneq ($(THIS_NATIVE_ARCH),)
        # The ocaml-native-compilers, if available.
-       if [ -e opt-built-stamp ]; then                                 \
-               dh_movefiles -pocaml-native-compilers                   \
-                       --sourcedir=debian/ocaml-nox;                   \
-               cp debian/ocamlfind/ocaml-native-compilers.conf         \
-                       debian/ocaml-native-compilers/usr/share/ocaml-findlib/; \
-       fi
+       dh_movefiles --sourcedir=debian/ocaml-nox -pocaml-native-compilers
+endif
 
        # The interpreter files
        dh_movefiles --sourcedir=debian/ocaml-nox -pocaml-interp
@@ -294,17 +274,17 @@ binary-indep: install-indep
 binary-arch: install-arch
        $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
        dh_shlibdeps -s
-       if [ ! -e opt-built-stamp ]; then                       \
-         dh_gencontrol -pocaml-nox --                          \
-               -VF:BestProvides=",ocaml-best-compilers"        \
-               -VF:OCamlABI="$(OCAMLABI)";                     \
-       else                                                    \
-         dh_gencontrol -pocaml-nox --                          \
-               -VF:BestProvides=""                             \
-               -VF:OCamlABI="$(OCAMLABI)";                     \
-         dh_gencontrol -pocaml-native-compilers --             \
-               -VF:OCamlABI="$(OCAMLABI)";                     \
-       fi
+ifeq ($(THIS_NATIVE_ARCH),)
+       dh_gencontrol -pocaml-nox -- \
+               -VF:BestProvides=",ocaml-best-compilers" \
+               -VF:OCamlABI="$(OCAMLABI)"
+else
+       dh_gencontrol -pocaml-nox -- \
+               -VF:BestProvides="" \
+               -VF:OCamlABI="$(OCAMLABI)"
+       dh_gencontrol -pocaml-native-compilers -- \
+               -VF:OCamlABI="$(OCAMLABI)"
+endif
        dh_gencontrol -pocaml -- -VF:OCamlABI="$(OCAMLABI)"
        dh_gencontrol -pocaml-base-nox -- -VF:OCamlABI="$(OCAMLABI)"
        dh_gencontrol -pocaml-base -- -VF:OCamlABI="$(OCAMLABI)"