Bug#641298: libmaven-scm-java: circular dependency hell

2011-09-26 Thread Bill Allombert
On Tue, Sep 13, 2011 at 10:25:24PM +0200, Torsten Werner wrote:
 On Tue, Sep 13, 2011 at 8:31 PM, Bill Allombert
 bill.allomb...@math.u-bordeaux1.fr wrote:
  Symptoms include 'apt-get dist-upgrade' from stable to next-stable trying to
  remove a lot of packages by failure to find a better upgrade path, to
  maintainer scripts failing because they assume the Dependent package to be
  configured.
 
 I see. But I am not convinced that we currently have a real problem
 that can be reproduced. I must admit that i do not have time to hunt
 unreproducible bugs.

Neither I am.  Problems tend to occurs when a set of circularly-depending
packages are upgraded from a stable release to the next, which happens years
after the circularly-dependency was introduced, and too late to be fixed.

So instead I am working toward fixing the issue preemptively by removing
circular dependencies. So far more than 120 circular dependencies has been
removed, a number of them due to the work of the Java team. Seeing 3 new ones
in a short interval is not good news.

  Indeed. Given that this circular dependency was introduced yesterday, it 
  could not have
  caused problem with previous upgrade.
 
 I do not mind splitting one of those binary packages into two packages
 as long as we do not have to split the jar files. But I am expecting
 some proposal from your side. I simply do not know what kind of
 splitting would resolve the issue.

In the case at hand, there is also a circular Build-Depends, so it is not
possible to build the three packages from scratch in any order. How people are
supposed to build the package from upstream source ?

At first glance, if you move 
/usr/share/java/wagon-scm-1.0.jar and /usr/share/java/wagon-scm.jar
to a separate package libwagon-scm-java
then we should have the following dependencies

libwagon-scm-java -- libwagon-java
  \- libmaven-scm-java -  libmaven2-core-java ^

alternatively you can add a libwagon-core-java with everything but 
/usr/share/java/wagon-scm.jar and /usr/share/java/wagon-scm-1.0.jar:

libwagon-java -- libwagon-core-java
 \- libmaven-scm-java -  libmaven2-core-java ^

This way libwagon-java is still the full version.

But I have never used any of these libraries so there might be a more natural 
way
to split the packages.

Cheers,
-- 
Bill. ballo...@debian.org

Imagine a large red swirl here. 



__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#641298: libmaven-scm-java: circular dependency hell

2011-09-14 Thread Torsten Werner
On Tue, Sep 13, 2011 at 8:31 PM, Bill Allombert
bill.allomb...@math.u-bordeaux1.fr wrote:
 See threads
 http://lists.debian.org/debian-devel/2005/06/msg02111.html

I've re-read the policy. I've found out that the circular dependency
'hell' is about the configure phase and can happen only if *all*
packages in the circle have a postinst file. That is not hard to
check. On my local system I can find no match for *maven*.postinst
(that renders the current bug report invalid) and only a few matches
for lib*java*.postinst. The matches can be categorized into:

1) install-docs snippets added by old versions of debhelper. A simple
rebuild is enough to fix this.

2) ldconfig snippets added by debhelper in jni packages. Such packages
are not very common and are probably never part a dependency circle.

3) rebuild-gcj-db snippets in gcj packages. Many of these package will
get dropped if they still exist. We will maintain only a small set of
gcj packages in the future and they probably won't be part of
dependency circle.

4) There is a very small number of packages left. The risk is low that
they will cause real issues.

IMHO there is no reason to file random bug reports for innocent packages.

Torsten



__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#641298: libmaven-scm-java: circular dependency hell

2011-09-13 Thread Bill Allombert
On Mon, Sep 12, 2011 at 05:07:18PM +0200, Torsten Werner wrote:
 Hi,
 
 On Mon, Sep 12, 2011 at 3:12 PM, Bill Allombert ballo...@debian.org wrote:
  Complex circular dependencies are known to cause problems during upgrade, 
  so we
  should try to get rid of them.
 
 may you explain a bug scenario that can be reproduced, please? I am

See threads
http://lists.debian.org/debian-devel/2005/06/msg02111.html
http://lists.debian.org/debian-devel/2005/11/msg01101.html

Symptoms include 'apt-get dist-upgrade' from stable to next-stable trying to
remove a lot of packages by failure to find a better upgrade path, to
maintainer scripts failing because they assume the Dependent package to be
configured.

This also a matter of good taste: it is pointless to provide 3 packages if the 
user is forced
to install them all: a single one would do. Most of the time it is caused by a
packaging bug (e.g. a typo in debian/control).

 not aware of update problems of libmaven-scm-java,
 libmaven2-core-java, and libwagon-java in the past.

Indeed. Given that this circular dependency was introduced yesterday, it could 
not have
caused problem with previous upgrade.

Cheers,
-- 
Bill. ballo...@debian.org

Imagine a large red swirl here. 



__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#641298: libmaven-scm-java: circular dependency hell

2011-09-13 Thread Torsten Werner
On Tue, Sep 13, 2011 at 8:31 PM, Bill Allombert
bill.allomb...@math.u-bordeaux1.fr wrote:
 Symptoms include 'apt-get dist-upgrade' from stable to next-stable trying to
 remove a lot of packages by failure to find a better upgrade path, to
 maintainer scripts failing because they assume the Dependent package to be
 configured.

I see. But I am not convinced that we currently have a real problem
that can be reproduced. I must admit that i do not have time to hunt
unreproducible bugs.

 This also a matter of good taste: it is pointless to provide 3 packages if 
 the user is forced
 to install them all: a single one would do. Most of the time it is caused by a
 packaging bug (e.g. a typo in debian/control).

The packages can  be updated independently. Such a use case is not
pointless and is even important because the upstream code is released
independently.

 Indeed. Given that this circular dependency was introduced yesterday, it 
 could not have
 caused problem with previous upgrade.

I do not mind splitting one of those binary packages into two packages
as long as we do not have to split the jar files. But I am expecting
some proposal from your side. I simply do not know what kind of
splitting would resolve the issue.

Torsten



__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#641298: libmaven-scm-java: circular dependency hell

2011-09-12 Thread Bill Allombert
Package: libmaven-scm-java
Version: 1.3-3
Severity: important

Hello Debian Java Maintainers,

There is a circular dependency between libmaven-scm-java, libmaven2-core-java 
and libwagon-java:

libmaven-scm-java   :Depends: libmaven2-core-java
libmaven2-core-java :Depends: libwagon-java
libwagon-java   :Depends: libmaven-scm-java

Complex circular dependencies are known to cause problems during upgrade, so we
should try to get rid of them.

Cheers,
-- 
Bill. ballo...@debian.org

Imagine a large red swirl here. 



__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#641298: libmaven-scm-java: circular dependency hell

2011-09-12 Thread Torsten Werner
Hi,

On Mon, Sep 12, 2011 at 3:12 PM, Bill Allombert ballo...@debian.org wrote:
 Complex circular dependencies are known to cause problems during upgrade, so 
 we
 should try to get rid of them.

may you explain a bug scenario that can be reproduced, please? I am
not aware of update problems of libmaven-scm-java,
libmaven2-core-java, and libwagon-java in the past.

Thanks,
Torsten



__
This is the maintainer address of Debian's Java team
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers. 
Please use
debian-j...@lists.debian.org for discussions and questions.