[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: new packages uploaded ...



On Sat, Dec 22, 2001 at 09:59:32AM +0100, Sven wrote:
> On Sat, Dec 22, 2001 at 01:05:20AM +0100, Ralf Treinen wrote:
> > On Fri, Dec 21, 2001 at 10:07:14PM +0100, Sven wrote:
> > > > Why does ocaml conflict with ocaml-base? I see that, for instance,
> > > 
> > > So you cannot have both installed at the same time.
> > 
> > Yes of course, but why do you want to exclude this, instead of just making 
> > the packages disjoint? This is like making a conflict between some
> > package libxxx and libxxx-devel.
> 
> The idea was to keep all the ocaml stuff in one package only. Easier for
> people downloading single packages.

Well, if you use dselect or apt-get then you get the ocaml-base package
automatically when ocaml depends on it.

> > OK, strangeness is not argument :-) The first reason is that it bloats
> > unnecessarily the ocaml package (the contents of the ocaml-base package
> > is repeated in the ocaml package). I consider this a bug. The second
> > reason is that every package which just needs the ocaml runtime system
> > will have to depend on "ocaml-base | ocaml". I'm not sure that all
> > the front ends will take the right decision and install only ocaml-base
> > in this case instead of ocaml. BTW, the "Provides" mechanism of ocaml
> > does not solve the problem since it does not work with versions. I tried
> 
> Well, but this may be a bug in the dpkg/apt handling of dependencies, or maybe
> not ?

I don't know whether there is a policy about how installation agents
should behave in case of alternatives. In our case we want ocaml-base to
be the default.

> > to build a bibtex2html package with "Depends: ocaml-base (>= 3.04-2)" 
> > (since 3.04-1 does not have the necessary libraries). It refuses to
> > install if ocaml 3.04-2 is installed, that is if package A provides
> > package B then this seems not to imply that package A (version n) 
> > provides package B (version n).
> 
> Yes this is a real pain.
> 
> I asked on debian-mentors, but got no response so far.

I think it is a principal problem. You might have several packages which
provide another package. Say A provides C, and B provides C. A is of
version n, and B is of version m. In this situation, what should the
semantics of "depends:C (>= k)" be? Provides do not go well with
versions.

> > This should be changed. I can try to do the change and send you a patch.
> 
> If you have time and want to do it, please do.

Patch is attached. Note the use of ${Source-Version} in debian/control
to prevent that ocaml and ocaml-base of diferent versions are installed.

Amicalement -Ralf.
Only in ocaml-3.04-sven/camlp4/camlp4: camlp4.a
diff -ur ocaml-3.04-sven/debian/changelog ocaml-3.04/debian/changelog
--- ocaml-3.04-sven/debian/changelog	Fri Dec 21 18:32:38 2001
+++ ocaml-3.04/debian/changelog	Sat Dec 22 09:45:28 2001
@@ -1,3 +1,12 @@
+ocaml (3.04-2.1) unstable; urgency=low
+
+  * (modifications proposed to Maintainer)
+  * remove ocaml-base stuff from ocaml, make simply ocaml depend on ocaml-base.
+  * debian/rules clean: remove some gruft left over by make clean.
+  * typo in description of ocaml-base.
+
+ -- Ralf Treinen <treinen@debian.org>  Sat, 22 Dec 2001 09:44:10 +0100
+
 ocaml (3.04-2) unstable; urgency=low
 
   * added runtime dynamic libraries to ocaml-base.
@@ -344,6 +353,4 @@
 
  -- Christophe Le Bars <clebars@debian.org>  Fri, 11 Oct 1996 22:25:01 +0200
 
-Local variables:
-mode: debian-changelog
-End:
+
diff -ur ocaml-3.04-sven/debian/control ocaml-3.04/debian/control
--- ocaml-3.04-sven/debian/control	Fri Dec 21 18:32:38 2001
+++ ocaml-3.04/debian/control	Sat Dec 22 09:44:25 2001
@@ -7,12 +7,11 @@
 
 Package: ocaml
 Architecture: any
-Depends: ${shlibs:Depends}, libncurses5-dev
+Depends: ${shlibs:Depends}, libncurses5-dev, ocaml-base (= ${Source-Version})
 Suggests: xlibs-dev, tcl8.3-dev, tk8.3-dev, ocaml-doc, emacsen, 
 Recommends: ledit
-Provides: camlp4, ocaml-base
-Replaces: camlp4, ocaml-base
-Conflicts: ocaml-base
+Provides: camlp4
+Replaces: camlp4
 Description: ML language implementation with a class-based object system
  Objective Caml is an implementation of the ML language, based on
  the Caml Light dialect extended with a complete class-based object system
@@ -36,12 +35,12 @@
 Package: ocaml-base
 Architecture: any
 Depends: ${shlibs:Depends}
-Conflicts: ocaml
+Conflicts: ocaml (<< ${Source-Version})
 Description: Runtime system for ocaml bytecode executables
  Objective Caml is an implementation of the ML language, based on
  the Caml Light dialect extended with a complete class-based object system
  and a powerful module system in the style of Standard ML.
  .
  This package contains only the runtime system needed to run bytecode
- executables. The `ocaml' package contains the full developpment suite of
+ executables. The `ocaml' package contains the full development suite of
  Objective Caml.
diff -ur ocaml-3.04-sven/debian/rules ocaml-3.04/debian/rules
--- ocaml-3.04-sven/debian/rules	Fri Dec 21 18:32:38 2001
+++ ocaml-3.04/debian/rules	Sat Dec 22 07:16:16 2001
@@ -52,6 +52,9 @@
 		rm -rf boot;					\
 		mv boot.debian boot;				\
 	fi
+	# remove some stuff which remains after make clean
+	-rm camlp4/camlp4/camlp4.a otherlibs/labltk/support/dlllabltk41.so \
+		otherlibs/systhreads/dllthreads.so
 
 	dh_clean config/Makefile config/s.h config/m.h
 
@@ -77,7 +80,7 @@
 	
 
 	for i in `cat $(CURDIR)/debian/ocaml-base.files` ; do		\
-		cp debian/ocaml/$$i debian/ocaml-base/$$i;		\
+		mv debian/ocaml/$$i debian/ocaml-base/$$i;		\
 	done
 #	dh_movefiles -pcamlp4 --sourcedir=debian/ocaml			\
 #		`cat $(CURDIR)/debian/camlp4.files`
Only in ocaml-3.04-sven/otherlibs/labltk/support: dlllabltk41.so
Only in ocaml-3.04-sven/otherlibs/systhreads: dllthreads.so

Reply to: