--- findlib-1.2.1.orig/src/findlib/fl_metascanner.ml
+++ findlib-1.2.1/src/findlib/fl_metascanner.ml
@@ -0,0 +1,349 @@
+(* $Id: fl_metascanner.src 115 2007-11-11 21:52:44Z gerd $ -*- tuareg -*-
+ * ----------------------------------------------------------------------
+ *
+ *)
+open Fl_metatoken
+open Printf
+type formal_pred = [ `Pred of string | `NegPred of string ]
+type flavour = [ `BaseDef | `Appendix ]
+type pkg_definition =
+  { def_var : string; def_flav : flavour; def_preds : formal_pred list;
+    def_value : string
+  }
+type pkg_expr =
+  { pkg_defs : pkg_definition list; pkg_children : (string * pkg_expr) list
+  }
+let string_of_preds pl =
+  let print = function | `Pred n -> n | `NegPred n -> "-" ^ n
+  in
+    if pl = []
+    then ""
+    else "(" ^ ((String.concat "," (List.map print pl)) ^ ")")
+let scan ch =
+  (* transform an in_channel to a token stream; 'Space' tokens are left
+   * out.
+   *)
+  let buf = Lexing.from_channel ch in
+  let rec next line pos0 =
+    let t = Fl_meta.token buf
+    in
+      match t with
+      | Space -> next line pos0
+      | Newline -> next (line + 1) (Lexing.lexeme_end buf)
+      | Eof ->
+          let pos = (Lexing.lexeme_start buf) - pos0
+          in Stream.lsing (fun _ -> (line, pos, Eof))
+      | _ ->
+          let pos = (Lexing.lexeme_start buf) - pos0
+          in
+            Stream.lcons (fun _ -> (line, pos, t))
+              (Stream.slazy (fun _ -> next line pos0))
+  in next 1 0
+let parse ch =
+  let rec mk_set l =
+    match l with
+    | x :: l' -> if List.mem x l' then mk_set l' else x :: (mk_set l')
+    | [] -> [] in
+  let error_msg m line col =
+    m ^
+      (" at line " ^
+         ((string_of_int line) ^ (" position " ^ (string_of_int col)))) in
+  let rec (* TODO: Check args *) parse_all need_rparen stream =
+    let (__strm : _ Stream.t) = stream
+    in
+      match Stream.peek __strm with
+      | Some ((line, col, Name "package")) ->
+          (Stream.junk __strm;
+           (match Stream.peek __strm with
+            | Some ((l, c, String n)) ->
+                (Stream.junk __strm;
+                 (match Stream.peek __strm with
+                  | Some ((l, c, LParen)) ->
+                      (Stream.junk __strm;
+                       let subpkg =
+                         (try parse_all true __strm
+                          with
+                          | Stream.Failure ->
+                              raise
+                                (Stream.Error
+                                   (error_msg
+                                      "Error in subpackage definition" line
+                                      col))) in
+                       let rest =
+                         (try parse_all need_rparen __strm
+                          with | Stream.Failure -> raise (Stream.Error ""))
+                       in
+                         {
+                           pkg_defs = rest.pkg_defs;
+                           pkg_children = (n, subpkg) :: rest.pkg_children;
+                         })
+                  | _ ->
+                      raise
+                        (Stream.Error
+                           (error_msg "'(' expected after string" l c))))
+            | _ ->
+                raise
+                  (Stream.Error
+                     (error_msg "String literal expected after 'package'"
+                        line col))))
+      | Some ((line, col, Name n)) ->
+          (Stream.junk __strm;
+           let props =
+             (try parse_properties __strm
+              with
+              | Stream.Failure ->
+                  raise
+                    (Stream.Error
+                       (error_msg "Error in 'name = value' clause" line col))) in
+           let rest =
+             (try parse_all need_rparen __strm
+              with | Stream.Failure -> raise (Stream.Error "")) in
+           let (args, flav, value) = props in
+           let args' = Sort.list ( <= ) (mk_set args) in
+           let def =
+             {
+               def_var = n;
+               def_flav = flav;
+               def_preds = args';
+               def_value = value;
+             }
+           in
+             {
+               pkg_defs = def :: rest.pkg_defs;
+               pkg_children = rest.pkg_children;
+             })
+      | Some ((line, col, Eof)) ->
+          (Stream.junk __strm;
+           if need_rparen
+           then
+             raise
+               (Stream.Error
+                  ("Unexpected end of file in line " ^
+                     ((string_of_int line) ^
+                        (" position " ^ (string_of_int col)))))
+           else ();
+           { pkg_defs = []; pkg_children = []; })
+      | Some ((line, col, RParen)) ->
+          (Stream.junk __strm;
+           if not need_rparen
+           then
+             raise
+               (Stream.Error
+                  ("Unexpected ')' in line " ^
+                     ((string_of_int line) ^
+                        (" position " ^ (string_of_int col)))))
+           else ();
+           { pkg_defs = []; pkg_children = []; })
+      | Some ((line, col, _)) ->
+          (Stream.junk __strm;
+           raise
+             (Stream.Error
+                (error_msg "Expected 'name = value' clause" line col)))
+      | _ -> raise Stream.Failure
+  and parse_properties stream =
+    let (__strm : _ Stream.t) = stream
+    in
+      match Stream.peek __strm with
+      | Some ((line, col, LParen)) ->
+          (Stream.junk __strm;
+           let arg1 =
+             (try parse_argument __strm
+              with | Stream.Failure -> raise (Stream.Error "")) in
+           let args =
+             (try parse_arguments __strm
+              with | Stream.Failure -> raise (Stream.Error "")) in
+           let flav =
+             (try parse_flavour __strm
+              with | Stream.Failure -> raise (Stream.Error ""))
+           in
+             (match Stream.peek __strm with
+              | Some ((line3, col3, String s)) ->
+                  (Stream.junk __strm; ((arg1 :: args), flav, s))
+              | _ ->
+                  raise
+                    (Stream.Error
+                       (error_msg "Expected string constant after '='" line
+                          col))))
+      | Some ((line, col, Equal)) ->
+          (Stream.junk __strm;
+           (match Stream.peek __strm with
+            | Some ((_, _, String s)) ->
+                (Stream.junk __strm; ([], `BaseDef, s))
+            | _ ->
+                raise
+                  (Stream.Error
+                     (error_msg
+                        "'=' must be followed by a string constant in line "
+                        line col))))
+      | Some ((line, col, PlusEqual)) ->
+          (Stream.junk __strm;
+           (match Stream.peek __strm with
+            | Some ((_, _, String s)) ->
+                (Stream.junk __strm; ([], `Appendix, s))
+            | _ ->
+                raise
+                  (Stream.Error
+                     (error_msg
+                        "'+=' must be followed by a string constant in line "
+                        line col))))
+      | Some ((line, col, _)) ->
+          (Stream.junk __strm;
+           raise
+             (Stream.Error
+                (error_msg "Expected a '=' or a '(arguments,...)=' clause"
+                   line col)))
+      | _ -> raise Stream.Failure
+  and parse_arguments stream =
+    let (__strm : _ Stream.t) = stream
+    in
+      match Stream.peek __strm with
+      | Some ((line, col, Comma)) ->
+          (Stream.junk __strm;
+           let arg =
+             (try parse_argument __strm
+              with | Stream.Failure -> raise (Stream.Error "")) in
+           let args =
+             (try parse_arguments __strm
+              with | Stream.Failure -> raise (Stream.Error ""))
+           in arg :: args)
+      | Some ((_, _, RParen)) -> (Stream.junk __strm; [])
+      | Some ((line, col, _)) ->
+          (Stream.junk __strm;
+           raise
+             (Stream.Error
+                (error_msg "Another predicate or a ')' expected" line col)))
+      | _ -> raise Stream.Failure
+  and parse_argument stream =
+    let (__strm : _ Stream.t) = stream
+    in
+      match Stream.peek __strm with
+      | Some ((line, col, Name n)) -> (Stream.junk __strm; `Pred n)
+      | Some ((line, col, Minus)) ->
+          (Stream.junk __strm;
+           (match Stream.peek __strm with
+            | Some ((l, c, Name n)) -> (Stream.junk __strm; `NegPred n)
+            | _ ->
+                raise
+                  (Stream.Error
+                     (error_msg "Name expected after '-'" line col))))
+      | Some ((line, col, _)) ->
+          (Stream.junk __strm;
+           raise (Stream.Error (error_msg "Name or -Name expected" line col)))
+      | _ -> raise Stream.Failure
+  and parse_flavour stream =
+    let (__strm : _ Stream.t) = stream
+    in
+      match Stream.peek __strm with
+      | Some ((line, col, Equal)) -> (Stream.junk __strm; `BaseDef)
+      | Some ((line, col, PlusEqual)) -> (Stream.junk __strm; `Appendix)
+      | Some ((line, col, _)) ->
+          (Stream.junk __strm;
+           raise (Stream.Error (error_msg "'+' or '+=' expected" line col)))
+      | _ -> raise Stream.Failure in
+  let rec check_defs p l =
+    match l with
+    | [] -> ()
+    | def :: l' ->
+        (List.iter
+           (fun def' ->
+              if
+                (def.def_var = def'.def_var) &&
+                  ((def.def_preds = def'.def_preds) &&
+                     ((def.def_flav = `BaseDef) && (def'.def_flav = `BaseDef)))
+              then
+                (let prefix =
+                   if p = "" then "" else "In subpackage " ^ (p ^ ": ") in
+                 let args = string_of_preds def.def_preds
+                 in
+                   raise
+                     (Stream.Error
+                        (prefix ^
+                           ("Double definition of '" ^
+                              (def.def_var ^ (args ^ "'"))))))
+              else ())
+           l';
+         check_defs p l') in
+  let rec check_pkg p pkg =
+    (check_defs p pkg.pkg_defs;
+     let l = ref []
+     in
+       List.iter
+         (fun (n, subpkg) ->
+            let p' = if p = "" then n else p ^ ("." ^ n)
+            in
+              (if List.mem n !l
+               then
+                 raise
+                   (Stream.Error ("Double definition for subpackage " ^ p'))
+               else ();
+               if String.contains n '.'
+               then
+                 raise
+                   (Stream.Error
+                      ("Subpackage name must not contain '.': \"" ^
+                         (n ^ "\"")))
+               else ();
+               check_pkg p' subpkg;
+               l := n :: !l))
+         pkg.pkg_children)
+  in
+    try let pkg = parse_all false (scan ch) in (check_pkg "" pkg; pkg)
+    with | Stream.Error "" -> raise (Stream.Error "Syntax Error")
+let rec print f pkg =
+  let escape s = (* no Str available :-( *)
+    let b = Buffer.create (String.length s)
+    in
+      (for k = 0 to (String.length s) - 1 do
+         (match s.[k] with
+          | '\\' -> Buffer.add_string b "\\\\"
+          | '"' -> Buffer.add_string b "\\\""
+          | c -> Buffer.add_char b c)
+       done;
+       Buffer.contents b) in
+  let format_pred = function | `Pred s -> s | `NegPred s -> "-" ^ s in
+  let print_def def =
+    fprintf f "%s%s %s \"%s\"\n" def.def_var
+      (match def.def_preds with
+       | [] -> ""
+       | l -> "(" ^ ((String.concat "," (List.map format_pred l)) ^ ")"))
+      (match def.def_flav with | `BaseDef -> "=" | `Appendix -> "+=")
+      (escape def.def_value)
+  in
+    (List.iter print_def pkg.pkg_defs;
+     List.iter
+       (fun (name, child) ->
+          (fprintf f "\npackage \"%s\" (\n" (escape name);
+           print f child;
+           fprintf f ")\n"))
+       pkg.pkg_children)
+let lookup name predicate_list def =
+  let fulfills actual_preds formal_preds =
+    List.for_all
+      (function
+       | `Pred n -> List.mem n predicate_list
+       | `NegPred n -> not (List.mem n predicate_list))
+      formal_preds in
+  let rec search_base best_n best_value l =
+    match l with
+    | [] -> if best_n >= 0 then best_value else raise Not_found
+    | def :: l' ->
+        if
+          (name = def.def_var) &&
+            ((def.def_flav = `BaseDef) &&
+               ((fulfills predicate_list def.def_preds) &&
+                  ((List.length def.def_preds) > best_n)))
+        then search_base (List.length def.def_preds) def.def_value l'
+        else search_base best_n best_value l' in
+  let rec search_appdx l =
+    match l with
+    | [] -> []
+    | def :: l' ->
+        if
+          (name = def.def_var) &&
+            ((def.def_flav = `Appendix) &&
+               (fulfills predicate_list def.def_preds))
+        then def.def_value :: (search_appdx l')
+        else search_appdx l' in
+  let step_a = search_base (-1) "" def in
+  let step_b = search_appdx def in String.concat " " (step_a :: step_b)
+
--- findlib-1.2.1.orig/src/findlib/depend
+++ findlib-1.2.1/src/findlib/depend
@@ -0,0 +1,22 @@
+findlib.cmo: fl_split.cmo fl_package_base.cmi fl_metascanner.cmi findlib.cmi 
+findlib.cmx: fl_split.cmx fl_package_base.cmx fl_metascanner.cmx findlib.cmi 
+fl_meta.cmo: fl_metatoken.cmo 
+fl_meta.cmx: fl_metatoken.cmx 
+fl_metascanner.cmo: fl_metatoken.cmo fl_meta.cmo fl_metascanner.cmi 
+fl_metascanner.cmx: fl_metatoken.cmx fl_meta.cmx fl_metascanner.cmi 
+fl_package_base.cmo: fl_topo.cmi fl_split.cmo fl_metascanner.cmi \
+    fl_package_base.cmi 
+fl_package_base.cmx: fl_topo.cmx fl_split.cmx fl_metascanner.cmx \
+    fl_package_base.cmi 
+fl_topo.cmo: fl_topo.cmi 
+fl_topo.cmx: fl_topo.cmi 
+frontend.cmo: fl_split.cmo fl_package_base.cmi fl_metascanner.cmi findlib.cmi 
+frontend.cmx: fl_split.cmx fl_package_base.cmx fl_metascanner.cmx findlib.cmx 
+num_top.cmo: num_top.cmi 
+num_top.cmx: num_top.cmi 
+num_top_printers.cmo: num_top_printers.cmi 
+num_top_printers.cmx: num_top_printers.cmi 
+topfind.cmo: fl_split.cmo fl_package_base.cmi findlib.cmi topfind.cmi 
+topfind.cmx: fl_split.cmx fl_package_base.cmx findlib.cmx topfind.cmi 
+fl_metascanner.cmi: fl_metatoken.cmo 
+fl_package_base.cmi: fl_metascanner.cmi 
--- findlib-1.2.1.orig/debian/control
+++ findlib-1.2.1/debian/control
@@ -0,0 +1,30 @@
+Source: findlib
+Section: devel
+Priority: optional
+Maintainer: Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>
+Uploaders: Stefano Zacchiroli <zack@debian.org>
+Build-Depends: debhelper (>> 5.0.0), ocaml (>= 3.10.1), camlp4, m4, gawk | awk, dpatch, cdbs
+Standards-Version: 3.7.3
+Vcs-Svn: svn://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/findlib/trunk
+Vcs-Browser: http://svn.debian.org/wsvn/pkg-ocaml-maint/trunk/packages/findlib/trunk/
+Homepage: http://www.ocaml-programming.de/packages/
+
+Package: ocaml-findlib
+Section: devel
+Architecture: any
+Depends: ocaml-nox-${F:OCamlABI}, ${shlibs:Depends}, ${misc:Depends}
+Description: Management tool for OCaml programming language libraries
+ The "findlib" OCaml library provides a scheme to manage reusable
+ software components (packages), and includes tools that support this
+ scheme. Packages are collections of OCaml modules for which
+ metainformation can be stored. The packages are kept in the filesystem
+ hierarchy, but with strict directory structure. The library contains
+ functions to look the directory up that stores a package, to query
+ metainformation about a package, and to retrieve dependency information
+ about multiple packages.
+ .
+ This package contain also a tool (ocamlfind) that allows the user to
+ enter queries on the command-line. In order to simplify compilation and
+ linkage, there are new frontends, all driven by ocamlfind, for the
+ various OCaml compilers that can directly deal with packages.
+
--- findlib-1.2.1.orig/debian/rules
+++ findlib-1.2.1/debian/rules
@@ -0,0 +1,41 @@
+#!/usr/bin/make -f
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/makefile.mk
+include /usr/share/cdbs/1/rules/dpatch.mk
+include /usr/share/cdbs/1/class/ocaml.mk
+
+PKGNAME = ocaml-findlib
+DEB_MAKE_INSTALL_TARGET = install prefix=$(CURDIR)/debian/tmp
+OCAML_IN_FILES += debian/patches/stddirs.dpatch
+OCAML_OCAMLDOC_PACKAGES = $(PKGNAME)
+
+configure/$(PKGNAME)::
+	rm -f README # just a symlink, the good one is doc/README
+	./configure \
+		-config /etc/ocamlfind.conf \
+		-bindir /usr/bin \
+		-sitelib $(OCAML_STDLIB_DIR) \
+		-mandir /usr/share/man \
+		-with-toolbox
+ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
+build/$(PKGNAME)::
+	$(MAKE) opt
+else
+DEB_STRIP_EXCLUDE += usr/bin/ocamlfind
+DEB_STRIP_EXCLUDE += $(OCAML_STDLIB_DIR)/findlib/make_wizard
+endif
+install/$(PKGNAME)::
+	# rm ocamlc.opt and similar settings, they're not avail everywhere in debian
+	grep -v \\.opt debian/tmp/etc/ocamlfind.conf > debian/ocamlfind.conf.new
+	mv debian/ocamlfind.conf.new debian/tmp/etc/ocamlfind.conf
+	# mv METAs from empty directories to the /META directory
+	mkdir -p $(CURDIR)/debian/tmp/usr/lib/ocaml/$(OCAML_ABI)/METAS
+	for p in `ls site-lib-src/`; do \
+	  mv $(CURDIR)/debian/tmp$(OCAML_STDLIB_DIR)/$$p/META \
+	    $(CURDIR)/debian/tmp$(OCAML_STDLIB_DIR)/METAS/META.$$p; \
+	  rmdir $(CURDIR)/debian/tmp$(OCAML_STDLIB_DIR)/$$p/; \
+	done
+	# rm empty man3 dir
+	test -d $(CURDIR)/debian/tmp/usr/share/man/man3 && \
+		rmdir $(CURDIR)/debian/tmp/usr/share/man/man3
+
--- findlib-1.2.1.orig/debian/watch
+++ findlib-1.2.1/debian/watch
@@ -0,0 +1,7 @@
+# See uscan(1) for format
+
+# Compulsory line, this is a version 3 file
+version=3
+
+http://www.ocaml-programming.de/packages/findlib-(\d+.*)\.tar\.gz
+
--- findlib-1.2.1.orig/debian/svn-deblayout
+++ findlib-1.2.1/debian/svn-deblayout
@@ -0,0 +1,3 @@
+origDir=../upstream
+origUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/findlib/upstream
+tagsUrl=svn+ssh://svn.debian.org/svn/pkg-ocaml-maint/tags/packages/findlib
--- findlib-1.2.1.orig/debian/ocaml-findlib.doc-base.guide
+++ findlib-1.2.1/debian/ocaml-findlib.doc-base.guide
@@ -0,0 +1,9 @@
+Document: ocaml-findlib-guide
+Title: OCaml findlib User's Guide
+Author: Gerd Stolpmann
+Abstract: User manual for OCaml findlib, a module manager for OCaml
+Section: Apps/Programming
+
+Format: HTML
+Index: /usr/share/doc/ocaml-findlib/guide-html/index.html
+Files: /usr/share/doc/ocaml-findlib/guide-html/*
--- findlib-1.2.1.orig/debian/changelog
+++ findlib-1.2.1/debian/changelog
@@ -0,0 +1,469 @@
+findlib (1.2.1-4~bpo40+3) etch-backports; urgency=low
+
+  * Previous upload was too short after ocaml's upload,
+    uploading again..
+
+ -- Romain Beauxis <toots@rastageeks.org>  Mon, 21 Apr 2008 00:53:29 +0100
+
+findlib (1.2.1-4~bpo40+2) etch-backports; urgency=low
+
+  * New upload to rebuild against latest backported and fixed ocaml
+
+ -- Romain Beauxis <toots@rastageeks.org>  Tue, 15 Apr 2008 14:34:36 +0100
+
+findlib (1.2.1-4~bpo40+1) etch-backports; urgency=low
+
+  * Rebuild for etch-backports against ocaml 3.10.1 ABI
+    (no changes to package)
+
+ -- Romain Beauxis <toots@rastageeks.org>  Thu, 10 Apr 2008 23:20:50 +0100
+
+findlib (1.2.1-4) unstable; urgency=low
+
+  * fix vcs-svn field to point just above the debian/ dir
+  * reword long description, also mentioning "ocamlfind" (Closes: #460669)
+  * bump build dep to ocaml 3.10.1
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 09 Feb 2008 17:31:24 +0100
+
+findlib (1.2.1-3) unstable; urgency=low
+
+  * update standards-version, no changes needed
+  * setting me as an uploader, d-o-m as the maintainer
+  * avoid installing empty /usr/share/ocaml-findlib/, it will be created by
+    packages shipping stuff there (fixes lintian warning)
+  * avoid installing empty /usr/share/man/man3/ (fixes lintian warning)
+  * add lintian override for missing stddirs.dpatch patch in 00list; the patch
+    is automatically generated from stddirs.dpatch.in
+  * debian/patches/install_missing_cmi.dpatch: new patch to install some
+    missing .cmi-s (spotted by ocamldoc while generating the api reference)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 29 Dec 2007 12:17:21 +0100
+
+findlib (1.2.1-2) unstable; urgency=low
+
+  * added back parts of patch site_lib_metas.dpatch which are in fact still
+    needed and fix loading of "num" and "num-top" packages (closes: #451901)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Mon, 19 Nov 2007 15:26:44 +0100
+
+findlib (1.2.1-1) unstable; urgency=low
+
+  * new upstream release (closes: #450933)
+    - add support for CamlP4 3.10 (with improved META setting for it)
+    - remove patches from debian/patches/: usr_bin_install.dpatch (integrated
+      upstream), site_lib_metas.dpatch (no longer needed)
+  * add Homepage field to debian/control
+  * debian/rules:
+    - remove a no longer needed hook for getting rid of 0-sized timestamps
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 17 Nov 2007 17:49:47 +0100
+
+findlib (1.1.2pl1-4) unstable; urgency=low
+
+  * debian/control
+    - bump dependency on ocaml-nox to 3.10.0-8 to ensure we build against a
+      fixed version of the CDBS class wrt ocamldoc generation
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 02 Sep 2007 23:15:33 +0200
+
+findlib (1.1.2pl1-3) unstable; urgency=low
+
+  * debian/control
+    - add build-dep on camlp4, which is now in a separate package
+  * debian/rules
+    - enable creation of ocamldoc-generated API reference
+  * bump debhelper compatibility level and dependency to 5
+
+ -- Stefano Zacchiroli <zack@debian.org>  Fri, 31 Aug 2007 11:59:09 +0200
+
+findlib (1.1.2pl1-2) experimental; urgency=low
+
+  * rebuilding against ocaml 3.10 and uploading to experimental
+  * debian/watch
+    - add watch file
+  * debian/rules
+    - ensure via OCAML_IN_FILES that stddirs.dpatch.in is instantiated at
+      build-time
+  * debian/patches/
+    - remove numbers from patch names: 00list is enough for the ordering
+    - remove the non-.in version of stddirs.dpatch from the source package
+  * debian/control
+    - bump build-dep on ocaml to >= 3.10.0-4, as we need a fixed ocaml.mk CDBS
+      class wrt dpatch
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed, 04 Jul 2007 10:46:37 +0000
+
+findlib (1.1.2pl1-1) unstable; urgency=low
+
+  * new upstream release (closes: #389758)
+  * debian/patches/13_usr_bin_install.dpatch
+    - new patch for installing safe_camlp4 under $(prefix)/usr/bin
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 11 Nov 2006 09:35:02 +0100
+
+findlib (1.1.1-7) unstable; urgency=low
+
+  * debian/rules
+    - use the ocaml.mk cdbs class
+  * debian/control
+    - bumped ocaml-nox build dependency to >= 3.09.2-7 since we use ocaml.mk
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 28 Oct 2006 18:07:40 +0200
+
+findlib (1.1.1-6) unstable; urgency=low
+
+  * debian/rules
+    - removed no longer needed workaround for cdbs + dpatch
+    - avoid to create debian/control from debian/control.in on ocamlinit
+  * debian/control.in
+    - file removed, no longer needed
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue,  5 Sep 2006 22:45:17 +0200
+
+findlib (1.1.1-5) unstable; urgency=low
+
+  * debian/patches/17_stddirs.dpatch:
+    - switched to .in form so that on 'ocamlinit' the patch is
+      instantiated to the current version of the OCaml ABI
+      (fixes wrong paths in /etc/ocamlfind.conf)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Fri, 16 Jun 2006 14:04:22 +0200
+
+findlib (1.1.1-4) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 16 May 2006 19:46:14 +0000
+
+findlib (1.1.1-3) experimental; urgency=low
+
+  * Rebuilt against OCaml 3.09.2, bumped deps accordingly.
+  * Bumped Standards-Version to 3.7.2 (no changes needed).
+
+ -- Stefano Zacchiroli <zack@debian.org>  Thu, 11 May 2006 22:00:50 +0000
+
+findlib (1.1.1-2) unstable; urgency=low
+
+  * Rebuilt against OCaml 3.09.1, bumped deps accordingly.
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat,  7 Jan 2006 11:29:15 +0100
+
+findlib (1.1.1-1) unstable; urgency=low
+
+  * new upstream release
+    - integrated a patch of mine which fixes sourcing of additional
+      configuration files. In Debian this broke the native compilers
+      settings inherited by the ocaml-native-compilers package
+  * avoid stripping <stdlib>/findlib/make_wizard on non-native archs
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 27 Nov 2005 23:00:55 +0100
+
+findlib (1.1-4) unstable; urgency=low
+
+  * avoid stripping findlib executable on non-native archs, fixes FTBFS
+    of dependent packages on non-native archs (thanks to Julien Cristau
+    for the patch) (closes: #338932, #338935)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Mon, 14 Nov 2005 17:08:13 +0100
+
+findlib (1.1-3) unstable; urgency=low
+
+  * debian/*
+    - use cdbs
+  * removed ancient symlink <stdlib>/findlib/topfind -> ../topfind
+  * debian/rules
+    - removed old bugfix for missed install of num-top printers
+  * debian/rules vs debian/patches/29_no_itest.dpatch
+    - removed patch, avoid invoking ./itest in debian/rules is easier
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 12 Nov 2005 13:06:42 +0100
+
+findlib (1.1-2) unstable; urgency=low
+
+  * debian/patches/29_no_itest.dpatch
+    - disable itest at build ends, not really needed in debian, hangs
+      on hppa
+
+ -- Stefano Zacchiroli <zack@debian.org>  Thu, 10 Nov 2005 10:14:03 +0100
+
+findlib (1.1-1) unstable; urgency=low
+
+  * New usptream release
+  * Rebuilt with ocaml 3.09
+  * debian/patches/23_include.dpatch
+    - ported to this new upstream release
+  * debian/{rules,*.in}
+    - no more hardcoding of ocaml ABI version anywhere
+  * debian/rules
+    - findlib now detect at compile time if native code compilation is
+      available, if so it adds ocamlc/opt/... definition to
+      /etc/ocamlfind.conf. Grep-ed them away from debian configuration file
+      since native code compilers are not installed everywhere
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue,  8 Nov 2005 09:16:00 +0000
+
+findlib (1.0.4-4) unstable; urgency=low
+
+  * debian/patches/23_include.dpatch
+    - added support for including configuration files stored in
+      /usr/share/ocaml-findlib/
+  * debian/bash_completion/ocamlfind
+    debian/ocamlfind.install
+    - added ocamlfind bash completion for bash, it gets installed under
+      /etc/bash_completion.d/
+  * debian/control
+    - bumped Standards-Version
+
+ -- Stefano Zacchiroli <zack@debian.org>  Thu,  1 Sep 2005 08:13:10 +0200
+
+findlib (1.0.4-3) unstable; urgency=medium
+
+  * rebuilt against ocaml 3.08.3, changed dependencies and destdir
+    accordingly
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 22 Mar 2005 02:29:19 +0100
+
+findlib (1.0.4-2) unstable; urgency=low
+
+  * depends on ocaml-nox-3.08 instead of ocaml-3.08
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 27 Jul 2004 14:27:46 +0200
+
+findlib (1.0.4-1) unstable; urgency=low
+
+  * New upstream release
+  * Rebuilt with/for ocaml 3.08 (Closes: Bug#261427)
+  * debian/control
+    - bumped ocaml deps
+    - removed no longer needed dep on libnums
+    - bumped standards-version to 3.6.1.1
+    - changed awk dep to "gawk | awk"
+  * debian/patches/17_stddirs.dpatch, debian/ocaml-findlib.dirs
+    - ported to ocaml 3.08
+
+ -- Stefano Zacchiroli <zack@debian.org>  Mon, 26 Jul 2004 14:08:36 +0200
+
+findlib (1.0.3-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Stefano Zacchiroli <zack@debian.org>  Fri, 30 Jan 2004 18:13:35 +0100
+
+findlib (1.0.2-1) unstable; urgency=low
+
+  * New upstream release
+    - added support for subpackages
+    - improved META files' language
+    - new ocamldoc documentation
+  * debian/patches
+    - added site_lib_metas which fixes a bug in META.num and use a
+      relative path in META.camlp4 instead of an absolute one
+    - removed ancient "skip_comments" patch
+    - removed ancient "num_top" patch
+  * debian/control
+    - ships also ocamlfind's toolbox
+  * debian/rules
+    - uses /usr/bin/ocamlopt to decide whether to strip ocamlfind or not
+    - bugfix: ships also num-top's META
+  * Shipped some new documentation from doc/ dir
+  * Better cleanup when invoking "debian/rules clean"
+  * Added build dependency on libnums-ocaml-dev | ocaml (>= 3.08)
+    (Closes: Bug#224871
+     Please note that this dependency should close the bug, but is not
+     yet fullfillable by the autobuilders since ocaml-nums is still in
+     the NEW queue waiting for manual processing by the ftp masters.
+     Please be patient or download manually the ocaml-nums package from
+     Sven Luther's (ocaml-nums maintainer) page at
+     http://people.debian.org/~luther/ocaml)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 11 Jan 2004 15:27:26 +0100
+
+findlib (0.9-2) unstable; urgency=low
+
+  * Renamed META directory to /usr/lib/ocaml/3.07/METAS
+
+ -- Stefano Zacchiroli <zack@debian.org>  Fri, 21 Nov 2003 09:37:02 +0100
+
+findlib (0.9-1) unstable; urgency=low
+
+  * New upstream release
+  * debian/patches/00list
+    - removed num_top patch since it was accepted upstream (removed
+      therefore also README.Debian, no longer needed)
+  * Removed debconf template about libdir transition because it's
+    annoying and not really useful
+    (removed debian/{templates,postinst,preinst,config} and some
+    dependencies)
+  * debian/control
+    - bumped standards version to 3.6.1.0
+  * debian/patches/17_stddirs.dpatch
+    - added <ocaml_libdir>/META to the findlib path
+  * debian/rules
+    - use dh_install
+    - moved METAs from empty directories to META/ directory
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 11 Nov 2003 15:56:24 +0100
+
+findlib (0.8-5) unstable; urgency=low
+
+  * Rebuilt with ocaml 3.07
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed,  1 Oct 2003 13:29:22 +0200
+
+findlib (0.8-4) unstable; urgency=low
+
+  * Rebuilt with ocaml 3.07beta2
+
+ -- Stefano Zacchiroli <zack@debian.org>  Mon, 22 Sep 2003 16:43:30 +0200
+
+findlib (0.8-3) unstable; urgency=low
+
+  * Apply changes other than the "debian/" directory using dpatch
+  * Added homemade patch that installs printers for types defined in the
+    "num" library and load them then "num" library is loaded in the
+    toplevel using findlib's #require directive
+  * Added debian/README.Debian mentioning the above patch
+  * debian/control
+    - added Build-Dependency on dpatch
+    - bumped Standards-Version to 3.5.10
+    - added Dependency on ${misc:Depends} variable
+    - s/modules/libraries/ in Description field
+  * debian/rules
+    - moved DH_COMPAT value to debian/compat
+    - added dpatch support (included dpatch.make; added patch-stamp,
+      patch, clean1, unpatch targets)
+    - aesthetic changes
+    - better test before dh_stripping
+
+ -- Stefano Zacchiroli <zack@debian.org>  Mon,  7 Jul 2003 22:29:39 +0200
+
+findlib (0.8-2) unstable; urgency=low
+
+  * Libdir transition to /usr/lib/ocaml/3.06
+  * Added debconf note about upgrading /etc/ocamlfind.conf
+  * Changed depends and build depends to ocaml-3.06-1
+  * Bumped Standards-Version to 3.5.8
+  * Removed useless binary-indep target
+
+ -- Stefano Zacchiroli <zack@debian.org>  Mon, 16 Dec 2002 11:34:29 +0100
+
+findlib (0.8-1) unstable; urgency=low
+
+  * New upstream release
+  * Added NAME section to manpages (Closes: Bug#159578)
+  * Better test for presence of ocamlopt compiler
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed, 25 Sep 2002 10:30:51 +0200
+
+findlib (0.7.2-2) unstable; urgency=low
+
+  * Remove some *.cm[io] files never removed by upstream Makefiles
+    directly from debian/rules "clean" target
+
+ -- Stefano Zacchiroli <zack@debian.org>  Thu, 29 Aug 2002 11:36:34 +0200
+
+findlib (0.7.2-1) unstable; urgency=low
+
+  * New upstream release
+  * Changed deps and build-deps to ocaml-3.06
+  * Switched to debhelper 4
+  * Rebuilt with ocaml 3.06
+  * Fixed broken symlink /usr/lib/ocaml/findlib/topfind
+    (Closes: Bug#155010)
+  * Suppressed spurious warnings for comments in /usr/lib/ocaml/ld.conf
+    (Closes: Bug#155704)
+  * Changed "destdir" in ocamlfind.conf, now defaults to
+    /usr/local/lib/ocaml/<ocaml-version>/
+  * Changed "path" in ocamlfind.conf, now includes
+    /usr/local/lib/ocaml/<ocaml-version>/ _and_ /usr/lib/ocaml, in this
+    order
+
+ -- Stefano Zacchiroli <zack@debian.org>  Mon, 26 Aug 2002 13:45:45 +0200
+
+findlib (0.7.1-1) unstable; urgency=low
+
+  * New upstream release
+  * Swtiched from dh_installmanpages to dh_installman
+  * Adopted upstream script name to load findlib in toploop
+    (from now on s/#use ocamlfind;;/#use topfind/)
+  * Switched to debhelper 4
+  * Removed useless debian/conffiles (ocamlfind.conf resides in /etc)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun,  7 Jul 2002 12:13:05 +0200
+
+findlib (0.6.2-4) unstable; urgency=low
+
+  * Respelled a warning message that may be misinterpreted.
+    (Closes: Bug#139707, Bug#139708).
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 26 Mar 2002 14:05:36 +0100
+
+findlib (0.6.2-3) unstable; urgency=low
+
+  * Registered findlib with doc-base.
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 26 Mar 2002 13:22:28 +0100
+
+findlib (0.6.2-2) unstable; urgency=low
+
+  * Now build depends on ocaml >= 3.04-3, hopefully will compile also on
+    ia64 and powerpc
+
+ -- Stefano Zacchiroli <zack@debian.org>  Fri, 11 Jan 2002 08:08:51 +0100
+
+findlib (0.6.2-1) unstable; urgency=low
+
+  * New upstream release
+  * Built with ocaml 3.04
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 16 Dec 2001 22:06:53 +0100
+
+findlib (0.5.4-1) unstable; urgency=low
+
+  * New upstream release
+  * Fixed bug in ocamlmktop option. (closes: Bug#111051)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue,  4 Sep 2001 21:49:09 +0200
+
+findlib (0.5.1-5) unstable; urgency=low
+
+  * Rebuilt with ocaml 3.02
+  * Fixed serious problem that cause ocamlfind not to work on
+    architecture that does not have a native code compiler. Stripping of
+    "ocamlfind" executable is now done only if "ocamlfind" is a native
+    code executable. (closes: Bug#96254, Bug#104703, Bug#104710)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 21 Aug 2001 14:36:15 +0200
+
+findlib (0.5.1-4) unstable; urgency=low
+
+  * Marked /etc/ocamlfind.conf as a configuration file (closes: Bug#103679)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Fri,  6 Jul 2001 18:58:12 +0200
+
+findlib (0.5.1-3) unstable; urgency=low
+
+  * Added findlib manual in HTML format (closes: Bug#102900).
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 30 Jun 2001 23:58:44 +0200
+
+findlib (0.5.1-2) unstable; urgency=low
+
+  * DH_COMPAT = 2 for backward compatibility with potato
+  * Optionally building of native code, for platform that does not have
+    native code compiler (like m68k) (closes: Bug# 93376).
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 10 Apr 2001 12:56:15 +0200
+
+findlib (0.5.1-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Stefano Zacchiroli <zack@debian.org>  Thu, 29 Mar 2001 15:50:21 +0200
+
+findlib (0.5-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed, 28 Feb 2001 14:21:26 +0100
--- findlib-1.2.1.orig/debian/ocaml-findlib.doc-base.refman
+++ findlib-1.2.1/debian/ocaml-findlib.doc-base.refman
@@ -0,0 +1,9 @@
+Document: ocaml-findlib-reference
+Title: OCaml findlib Reference Manual
+Author: Gerd Stolpmann
+Abstract: Reference Manual for OCaml findlib, a module manager for OCaml
+Section: Apps/Programming
+
+Format: HTML
+Index: /usr/share/doc/ocaml-findlib/ref-html/index.html
+Files: /usr/share/doc/ocaml-findlib/ref-html/*
--- findlib-1.2.1.orig/debian/compat
+++ findlib-1.2.1/debian/compat
@@ -0,0 +1 @@
+5
--- findlib-1.2.1.orig/debian/ocaml-findlib.install
+++ findlib-1.2.1/debian/ocaml-findlib.install
@@ -0,0 +1,2 @@
+debian/tmp/*		    /
+debian/bash_completion/*    /etc/bash_completion.d/
--- findlib-1.2.1.orig/debian/ocaml-findlib.docs
+++ findlib-1.2.1/debian/ocaml-findlib.docs
@@ -0,0 +1,4 @@
+doc/guide-html
+doc/QUICKSTART
+doc/README
+doc/ref-html
--- findlib-1.2.1.orig/debian/patches/install_missing_cmi.dpatch
+++ findlib-1.2.1/debian/patches/install_missing_cmi.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## install_missing_cmi.dpatch by Stefano Zacchiroli <zack@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: install missing .cmi, in particular fl_metatoken.cmi
+
+@DPATCH@
+diff -urNad trunk~/src/findlib/Makefile trunk/src/findlib/Makefile
+--- trunk~/src/findlib/Makefile	2007-11-13 14:31:45.000000000 +0100
++++ trunk/src/findlib/Makefile	2007-12-29 12:16:13.000000000 +0100
+@@ -81,7 +81,7 @@
+ 	mkdir -p $(prefix)$(OCAML_SITELIB)/$(NAME)
+ 	mkdir -p $(prefix)$(OCAMLFIND_BIN)
+ 	test $(INSTALL_TOPFIND) -eq 0 || cp topfind $(prefix)$(OCAML_CORE_STDLIB)
+-	files=`$(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi findlib_top.cma findlib.cmxa findlib.a META` && \
++	files=`$(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib.cmxa findlib.a META` && \
+ 	cp $$files $(prefix)$(OCAML_SITELIB)/$(NAME)
+ 	f="ocamlfind$(EXEC_SUFFIX)"; { test -f ocamlfind_opt$(EXEC_SUFFIX) && f="ocamlfind_opt$(EXEC_SUFFIX)"; }; \
+ 	cp $$f $(prefix)$(OCAMLFIND_BIN)/ocamlfind$(EXEC_SUFFIX)
--- findlib-1.2.1.orig/debian/patches/00dpatch.conf
+++ findlib-1.2.1/debian/patches/00dpatch.conf
@@ -0,0 +1,2 @@
+conf_debianonly=1
+conf_origtargzpath=../upstream
--- findlib-1.2.1.orig/debian/patches/include.dpatch
+++ findlib-1.2.1/debian/patches/include.dpatch
@@ -0,0 +1,50 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 23_include.dpatch by Stefano Zacchiroli <zack@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: support for an extra, debian-specific, dir where to look for
+## DP: configuration file snippets (namely /usr/share/ocaml-findlib/)
+
+@DPATCH@
+diff -urNad trunk~/src/findlib/findlib_config.mlp trunk/src/findlib/findlib_config.mlp
+--- trunk~/src/findlib/findlib_config.mlp	2005-11-01 01:36:35.000000000 +0100
++++ trunk/src/findlib/findlib_config.mlp	2005-11-27 22:57:44.000000000 +0100
+@@ -4,6 +4,7 @@
+  *)
+ 
+ let config_file = "@CONFIGFILE@";;
++let extra_configd_file = "/usr/share/ocaml-findlib/";; (* Debian specific *)
+ 
+ let ocaml_stdlib = "@STDLIB@";;
+ 
+diff -urNad trunk~/src/findlib/findlib.ml trunk/src/findlib/findlib.ml
+--- trunk~/src/findlib/findlib.ml	2005-11-01 01:36:35.000000000 +0100
++++ trunk/src/findlib/findlib.ml	2005-11-27 22:58:07.000000000 +0100
+@@ -99,6 +99,8 @@
+   let configd_file =
+     config_file ^ ".d" in
+ 
++  let extra_configd_file = Findlib_config.extra_configd_file in
++
+   let vars_of_file f =
+     let ch = open_in config_file in
+     try
+@@ -136,12 +138,17 @@
+ 	  vars_of_file config_file
+ 	else
+ 	  [] in
++      let extra_configd_vars =  (* Debian specific *)
++        if Sys.file_exists extra_configd_file then
++          vars_of_dir extra_configd_file
++        else
++          [] in
+       let configd_vars =
+ 	if Sys.file_exists configd_file then 
+ 	  vars_of_dir configd_file
+ 	else
+ 	  [] in
+-      let vars = config_vars @ configd_vars in
++      let vars = extra_configd_vars @ config_vars @ configd_vars in
+       if vars <> [] then (
+ 	let lookup name default =
+ 	  try Fl_metascanner.lookup name config_preds vars
--- findlib-1.2.1.orig/debian/patches/00list
+++ findlib-1.2.1/debian/patches/00list
@@ -0,0 +1,4 @@
+stddirs.dpatch
+include.dpatch
+site_lib_metas.dpatch
+install_missing_cmi.dpatch
--- findlib-1.2.1.orig/debian/patches/stddirs.dpatch.in
+++ findlib-1.2.1/debian/patches/stddirs.dpatch.in
@@ -0,0 +1,34 @@
+#! /bin/sh -e
+## 17_stddirs.dpatch by Stefano Zacchiroli <zack@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Patch upstream findlib.conf.in so that:
+## DP: - default "manual" installation dir is /usr/local/lib/ocaml/3.08
+## DP: - findlib path look first in /usr/local/lib... and then in the
+## DP:   standard ocaml library this permit local overrides of libraries
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+if [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+case "$1" in
+       -patch) patch $patch_opts -p1 < $0;;
+       -unpatch) patch $patch_opts -E -p1 -R < $0;;
+	*)
+		echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+		exit 1;;
+esac
+
+exit 0
+@DPATCH@
+diff -urNad trunk~/findlib.conf.in trunk/findlib.conf.in
+--- trunk~/findlib.conf.in	2005-11-01 00:36:34.000000000 +0000
++++ trunk/findlib.conf.in	2005-11-12 18:12:11.000000000 +0000
+@@ -1,2 +1,2 @@
+-destdir="@SITELIB@"
+-path="@SITELIB@"
++destdir="/usr/local/lib/ocaml/@OCamlABI@"
++path="/usr/local/lib/ocaml/@OCamlABI@:@SITELIB@:@SITELIB@/METAS"
--- findlib-1.2.1.orig/debian/patches/site_lib_metas.dpatch
+++ findlib-1.2.1/debian/patches/site_lib_metas.dpatch
@@ -0,0 +1,30 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## site_lib_metas.dpatch by Stefano Zacchiroli <zack@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: META.num*: bugfix, moved "directory" directive outside "core" subpackage
+
+@DPATCH@
+diff -urNad trunk~/site-lib-src/num/META.in trunk/site-lib-src/num/META.in
+--- trunk~/site-lib-src/num/META.in	2004-01-11 16:05:51.000000000 +0100
++++ trunk/site-lib-src/num/META.in	2004-01-11 16:05:52.000000000 +0100
+@@ -4,8 +4,8 @@
+ `requires(toploop) = "num.core,num-top"'
+ `version = "[distributed with Ocaml]"'
+ `description = "Arbitrary-precision rational arithmetic"'
++`directory = "^"'
+ `package "core" ('
+-`  directory = "^"'
+ `  version = "[internal]"'
+ `  browse_interfaces = "'interfaces`"'
+ `  archive(byte) = "nums.cma"'
+diff -urNad trunk~/site-lib-src/num-top/META.in trunk/site-lib-src/num-top/META.in
+--- trunk~/site-lib-src/num-top/META.in	2004-01-11 16:05:51.000000000 +0100
++++ trunk/site-lib-src/num-top/META.in	2004-01-11 16:05:52.000000000 +0100
+@@ -3,5 +3,6 @@
+ `requires = "num.core"'
+ `version = "'findlib_version`"'
+ `description = "Add-on for num inside toploops"'
++`directory = "+num-top"'
+ `archive(byte,toploop) = "num_top.cma"'
+ 
--- findlib-1.2.1.orig/debian/copyright
+++ findlib-1.2.1/debian/copyright
@@ -0,0 +1,30 @@
+This package was debianized by Stefano Zacchiroli <zack@debian.org> on
+Wed, 28 Feb 2001 14:21:26 +0100.
+
+Author: Gerd Stolpmann <gerd@gerd-stolpmann.de>
+
+Copyright:
+
+ Copyright 1999 by Gerd Stolpmann
+ 
+ The package "findlib" is copyright by Gerd Stolpmann. 
+ 
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this document and the "findlib" software (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ 
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+ 
+ The Software is provided ``as is'', without warranty of any kind, express
+ or implied, including but not limited to the warranties of
+ merchantability, fitness for a particular purpose and noninfringement.
+ In no event shall Gerd Stolpmann be liable for any claim, damages or
+ other liability, whether in an action of contract, tort or otherwise,
+ arising from, out of or in connection with the Software or the use or
+ other dealings in the software.
+
--- findlib-1.2.1.orig/debian/source.lintian-overrides
+++ findlib-1.2.1/debian/source.lintian-overrides
@@ -0,0 +1 @@
+findlib source: dpatch-index-references-non-existant-patch stddirs.dpatch
--- findlib-1.2.1.orig/debian/bash_completion/ocamlfind
+++ findlib-1.2.1/debian/bash_completion/ocamlfind
@@ -0,0 +1,92 @@
+# Debian GNU/Linux ocamlfind(1) completion
+# Copyright 2005
+#  Stefano Zacchiroli <zack@debian.org>
+# License: GNU GPL v2 or later
+
+# inter function communication is achieved via the $_ocamlfind_reply environment
+# variable, it will be unset each time the completion is used
+
+have ocamlfind &&
+_ocamlfind_add()
+{
+  _ocamlfind_reply="$_ocamlfind_reply $1"
+}
+
+[ "$have" ] &&
+_ocamlfind_flags()
+{
+  local cmd res
+  cmd="$1"
+  res="$( ocamlfind $cmd --help 2>/dev/null | \
+    grep '^  -' | sed 's/ *//;s/ .*//' )"
+  _ocamlfind_add "$res"
+}
+
+[ "$have" ] &&
+_ocamlfind_packages()
+{
+  local pkglist oldpkglist res
+  oldpkglist="$1"
+  pkglist=$( ocamlfind list | cut -f 1 -d' ' )
+  if echo "$oldpkglist" | grep -q ','; then
+    oldpkglist=$(echo $oldpkglist | sed 's/\(.*,\).*/\1/')
+    res=""
+    for pkg in $pkglist; do
+      res="$res $oldpkglist$pkg"
+    done
+  else
+    res="$pkglist"
+  fi
+  _ocamlfind_add "$res"
+}
+
+[ "$have" ] &&
+_ocamlfind()
+{
+  local cmd cur prev
+
+  COMPREPLY=()
+  cmd=${COMP_WORDS[1]}
+  cur=${COMP_WORDS[COMP_CWORD]}
+  prev=${COMP_WORDS[COMP_CWORD-1]}
+  _ocamlfind_reply=""
+
+  if [ $COMP_CWORD -eq 1 ]; then
+    _ocamlfind_add "query ocamlc ocamlcp ocamlmktop ocamlopt ocamldep \
+      ocamlbrowser ocamldoc install remove printconf list opt --help"
+    # TODO missing "pkg/cmd arg ..." completion
+  elif [ $COMP_CWORD -gt 1 ]; then
+    [ "$prev" = "-package" ] || _ocamlfind_flags "$cmd"
+    case "$cmd" in
+      ocamlc|ocamlcp|ocamlmktop|ocamlopt|ocamldep|ocamldoc|opt)
+	if [ "$prev" = "-package" ]; then
+	  _ocamlfind_packages "$cur"
+	fi
+	;;
+    esac
+    case "$cmd" in
+      ocamlc|ocamlcp)
+	_ocamlfind_add "$( ls *.mli *.ml *.cmo *.cma *.c *.o *.a 2> /dev/null )"
+	;;
+      ocamlopt|opt)
+	_ocamlfind_add "$( ls *.mli *.ml *.cmx *.cmxa *.c *.o *.a 2> /dev/null )"
+	;;
+      ocamlmktop)
+	_ocamlfind_add "$( ls *.cmo *.cma *.o *.a 2> /dev/null )"
+	;;
+    esac
+    if [ "$cmd" = "query" ]; then _ocamlfind_packages ""; fi
+    if [ "$cmd" = "printconf" -a $COMP_CWORD -eq 2 ]; then
+      _ocamlfind_add "$( ocamlfind printconf --help | grep '|' | \
+	sed 's/.*(//;s/)//;s/|/ /g' )"
+    fi
+  fi
+  COMPREPLY=( $(compgen -W "$_ocamlfind_reply" -- $cur) )
+  unset _ocamlfind_reply
+  return 0
+}
+
+[ "$have" ] &&
+complete -F _ocamlfind ocamlfind
+
+# vim:set ft=sh:
