Debian Bug report logs - #316283
[checks/control-file] warn of intra-source circular dependencies

version graph

Package: lintian; Maintainer for lintian is Debian Lintian Maintainers <lintian-maint@debian.org>; Source for lintian is src:lintian (PTS, buildd, popcon).

Reported by: Bill Allombert <ballombe@debian.org>

Date: Wed, 29 Jun 2005 20:33:07 UTC

Severity: wishlist

Found in version 1.23.9

Fixed in version lintian/2.5.0~rc3

Done: Niels Thykier <niels@thykier.net>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#316283; Package lintian. (full text, mbox, link).


Acknowledgement sent to Bill Allombert <ballombe@debian.org>:
New Bug report received and forwarded. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Bill Allombert <ballombe@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: warn about intra-source circular dependencies
Date: Wed, 29 Jun 2005 22:23:48 +0200
Package: lintian
Version: 1.23.9
Severity: wishlist

Hello Lintian maintainers,

I would like to propose that Lintian emits a warning when a source package
(or change files) include circular dependencies between the generated
packages. 
An example:

Source package S generate two binary packages P1 and P2 
P1 depends on P2 and P2 depends on P1.

You could flag a warning
"circular dependency between P1 and P2"

You can invoke policy 7.2;

     `Depends'
          This declares an absolute dependency.  A package will not be
          configured unless all of the packages listed in its `Depends'
          field have been correctly configured.

Cheers,
-- 
Bill. <ballombe@debian.org>

Imagine a large red swirl here. 



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#316283; Package lintian. (full text, mbox, link).


Acknowledgement sent to Micha Lenk <micha@lenk.info>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (full text, mbox, link).


Message #10 received at 316283@bugs.debian.org (full text, mbox, reply):

From: Micha Lenk <micha@lenk.info>
To: Bill Allombert <ballombe@debian.org>
Cc: 316283@bugs.debian.org
Subject: Re: warn about intra-source circular dependencies
Date: Sun, 2 Dec 2007 20:48:53 +0100
[Message part 1 (text/plain, inline)]
Hi Lintian maintainers,

On Wed, Jun 29, 2005 at 10:23:48PM +0200, Bill Allombert wrote:
> I would like to propose that Lintian emits a warning when a source package
> (or change files) include circular dependencies between the generated
> packages. 

I would like to have this lintian warning proposed by Bill Allombert
too. I started to code a litte, but didn't manage to work out how to put
my code into a form that makes it usable as a lintian check. Thus I do
appreciate any comment on how to achieve that.

The attached perl script is an example of a very simple circular
intra-source dependency check. It takes a .changes file as parameter,
decodes which binary package files are involved, decodes their
dependencies and recursively checks for each of them, whether they can
be satisfied by the other binary packages and whether this would
introduce a circular dependency.

Please note that I intentionally decided to check the dependencies of
the binary packages, and not the debian/control file in the source
package. This way the script is able to discover circular dependencies
where ${shlibs:Depends} is involved. This kind of somewhat hidden
circular dependencies occured to me more than once, and I would love it,
if lintian could warn me about it.

At the moment the script ignores the versions in dependencies and treats
alternative dependencies as single, non-alternative dependencies.

I also attached a simple package specifying explicitly circular
dependencies. I used it for testing and verifying my script.

Regards
  Micha
[checkcyclicdep.pl (text/x-perl, attachment)]
[cyclic-package_0.1.dsc (text/plain, attachment)]
[cyclic-package_0.1.tar.gz (application/octet-stream, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Lintian Maintainers <lintian-maint@debian.org>:
Bug#316283; Package lintian. (full text, mbox, link).


Acknowledgement sent to Russ Allbery <rra@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Lintian Maintainers <lintian-maint@debian.org>. (full text, mbox, link).


Message #15 received at 316283@bugs.debian.org (full text, mbox, reply):

From: Russ Allbery <rra@debian.org>
To: Micha Lenk <micha@lenk.info>
Cc: 316283@bugs.debian.org, Bill Allombert <ballombe@debian.org>
Subject: Re: Bug#316283: warn about intra-source circular dependencies
Date: Tue, 04 Dec 2007 00:11:06 -0800
Micha Lenk <micha@lenk.info> writes:
> On Wed, Jun 29, 2005 at 10:23:48PM +0200, Bill Allombert wrote:

>> I would like to propose that Lintian emits a warning when a source
>> package (or change files) include circular dependencies between the
>> generated packages.

> I would like to have this lintian warning proposed by Bill Allombert
> too. I started to code a litte, but didn't manage to work out how to put
> my code into a form that makes it usable as a lintian check. Thus I do
> appreciate any comment on how to achieve that.

> The attached perl script is an example of a very simple circular
> intra-source dependency check. It takes a .changes file as parameter,
> decodes which binary package files are involved, decodes their
> dependencies and recursively checks for each of them, whether they can
> be satisfied by the other binary packages and whether this would
> introduce a circular dependency.

> Please note that I intentionally decided to check the dependencies of
> the binary packages, and not the debian/control file in the source
> package. This way the script is able to discover circular dependencies
> where ${shlibs:Depends} is involved. This kind of somewhat hidden
> circular dependencies occured to me more than once, and I would love it,
> if lintian could warn me about it.

I don't think there's any way to do this check in lintian except against
the source control file before expansion of substvars without significant
restructuring of lintian.  Each binary package is checked independent of
all others (and indeed, lintian.d.o can't easily work any other way).

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>




Changed Bug title to `[checks/control-file] warn of intra-source circular dependencies' from `warn about intra-source circular dependencies'. Request was from Russ Allbery <rra@debian.org> to control@bugs.debian.org. (Sun, 11 Jan 2009 04:09:09 GMT) (full text, mbox, link).


Added tag(s) pending. Request was from Niels Thykier <niels@thykier.net> to control@bugs.debian.org. (Tue, 12 Apr 2011 13:15:07 GMT) (full text, mbox, link).


Reply sent to Niels Thykier <niels@thykier.net>:
You have taken responsibility. (Thu, 21 Apr 2011 12:08:38 GMT) (full text, mbox, link).


Notification sent to Bill Allombert <ballombe@debian.org>:
Bug acknowledged by developer. (Thu, 21 Apr 2011 12:09:15 GMT) (full text, mbox, link).


Message #24 received at 316283-close@bugs.debian.org (full text, mbox, reply):

From: Niels Thykier <niels@thykier.net>
To: 316283-close@bugs.debian.org
Subject: Bug#316283: fixed in lintian 2.5.0~rc3
Date: Thu, 21 Apr 2011 12:02:10 +0000
Source: lintian
Source-Version: 2.5.0~rc3

We believe that the bug you reported is fixed in the latest version of
lintian, which is due to be installed in the Debian FTP archive:

lintian_2.5.0~rc3.dsc
  to main/l/lintian/lintian_2.5.0~rc3.dsc
lintian_2.5.0~rc3.tar.gz
  to main/l/lintian/lintian_2.5.0~rc3.tar.gz
lintian_2.5.0~rc3_all.deb
  to main/l/lintian/lintian_2.5.0~rc3_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 316283@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Niels Thykier <niels@thykier.net> (supplier of updated lintian package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 21 Apr 2011 12:29:45 +0200
Source: lintian
Binary: lintian
Architecture: source all
Version: 2.5.0~rc3
Distribution: unstable
Urgency: low
Maintainer: Debian Lintian Maintainers <lintian-maint@debian.org>
Changed-By: Niels Thykier <niels@thykier.net>
Description: 
 lintian    - Debian package checker
Closes: 120323 316283 513663 575447 587925 614879 618587 619075 620120 620829 621658 621667 621681 622124 622396 622974 623031
Changes: 
 lintian (2.5.0~rc3) unstable; urgency=low
 .
   * Summary of tag changes:
     + Added:
       - dir-or-file-in-run
       - intra-source-package-circular-dependency
       - package-contains-broken-symlink
       - classpath-contains-relative-path
       - jar-not-in-usr-share
       - executable-jar-without-main-class
       - missing-dep-on-jarwrapper
       - missing-classpath
       - javalib-but-no-public-jars
       - missing-manifest
       - codeless-jar
       - missing-pre-dependency-on-multiarch-support
 .
   * checks/*.desc:
     + [NT] Updated the Needs-Info field to include the new
       collections where needed.
   * checks/binaries:
     + [NT] Accepted patch from Loïc Minier to support the armhf
       architecture.  (Closes: #618587)
     + [NT] Drop wrong checks for multiarch directories.  Multiarch
       directories are only allowed in packages of the given architecture.
       Thanks to Steve R. Langasek for the patch.
   * checks/circular-deps{,.desc}:
     + [NT] Added to check for circular dependencies between
       binaries from the same source.  It requires all binaries
       packages to be present as well as the source package to be
       effective.  Thanks to Bill Allombert for the suggestion.
       (Closes: #316283)
   * checks/debhelper:
     + [NT] Use new alt-dh_commands data file to fetch alternative
       dependencies for dh_commands, which are sometimes provided
       indirectly by meta or API packages.
   * checks/fields:
     + [NT] Do not emit needless-dependency-on-jre for libX-gcj
       packages and only emit the tag at most once per package.
       Thanks to Rene Engelhard for the report.
       (Closes: #622396)
   * checks/files{,.desc}:
     + [NT] Added dir-or-file-in-run tag.  (Closes: #623031)
     + [NT] New tag missing-pre-dependency-on-multiarch-support,
       Severity: serious, to warn when a package installs libraries to the
       multiarch directory without taking care of upgrades.  Thanks to
       Steve R. Langasek for the patch.
 .
   * checks/java{,.desc}:
     + [NT] Added file based on patches submitted by Vicent Fourmond.
       This new file checks for jar files in weird locations.
       (Closes: #620829, #575447)
   * checks/manpages:
     + [NT] Fixed false-positive binary-without-manpage when the
       manpage is in a direct dependency of the package and the
       package is checked together with its dependency.
       (Closes: #120323)
   * checks/scripts:
     + [NT] Fixed false positive missing-dep-for-interpreter, if
       the interpreter was dash, since dash is now essential.
       (Closes: #620120)
   * checks/symlinks{,.desc}:
     + [NT] New file that checks for broken symlinks.  A symlink
       is considered broken if it does not exist in the package
       itself or in its direct dependecies.  Since only absolute
       symlinks are checked at the moment, this only partly
       fixes #217023.
 .
   * collection/*.desc:
     + [NT] Updated the Needs-Info field to include the new
       collections where needed.
   * collection/{bin-pkg-control,fields,index}{,.desc}:
     + [NT] Added to replace various unpack scripts.
   * collection/java-info{,.desc}:
     + [NT] Accepted patch from Vincent Fourmond to implement
       Java related data collection.
 .
   * data/binaries/multiarch:
     + [NT] Removed by patch from Steve R. Langasek.
   * data/debhelper/alt-dh_commands:
     + [NT] New file; contains alternative dependencies for
       dh_python2 and dh_python3.  (Closes: #614879)
   * data/fields/architectures:
     + [NT] Updated to include armhf.
   * data/files/triplets:
     + [NT] Updated to include armhf triplet.
     + [NT] Refresh with the final approved multiarch paths by patch
       from Steve R. Langasek.
   * data/output/manual-references:
     + [NT] Accepted patch from Vincent Fourmond to add the links
       to the Java Policy.
   * data/spelling/corrections:
     + [NT] Added a lot of spelling mistakes with corrections.
       Kudos to Kevin Ryde for these.  (Closes: #619075)
   * data/spelling/corrections-multiword:
     + [NT] Removed "helps to" as a spelling mistake.  Thanks to
       Nicholas Bamber for the report.  (Closes: #622124)
   * data/standards-version/release-dates:
     + [NT] Added 3.9.2 as the newest Standards-Version.  Thanks to
       Sven Joachim for the report.  (Closes: #621667)
 .
   * debian/control:
     + [NT] Bumped Standards-Version to 3.9.2.
     + [NT] Updated Build-Depends for debiandoc -> docbook change of
       the manual.
     + [NT] Added missing Build-Depends on libhtml-parser-perl.  Also
       added it to suggests, since it is used for XML output.
   * debian/{docs,rules}:
     + [NT] Updated to use/install docbook instead of debiandoc.
 .
   * doc/lintianrc.example:
     + [NT] Removed reference to LINTIAN_UNPACK_LEVEL.
   * doc/lintian.sgml:
     + [RG] Removed file - replaced by doc/lintian.xml.
   * doc/lintian.xml:
     + [RG] Added to migrate away from debiandoc.  (Closes: #587925)
 .
   * frontend/lintian:
     + [NT] Removed the deprecated --unpack-level argument.  Only
       two unpack levels were available and they were equal to
       the --remove and --unpack options.
     + [NT] Stopped accepting the environment/config variables
       LINTIAN_UNPACK_LEVEL and LINTIAN_SECTION.  The former is
       redundant as explained above and the latter was deprecated
       in favor of LINTIAN_AREA.
     + [NT] Refactored the frontend to group packages together based
       on their source package.  This allows for cross-package checks.
       (Closes: #513663)
 .
   * lib/{Lab/Package,Lintian/Processable*}.pm:
     + [NT] Added files to assist in package grouping.
   * lib/Lintian/Command/Simple.pm:
     + [NT] Added support for chanding directory before running the
       command.
   * lib/Lintian/Collect.pm,lib/Lintian/Collect/*.pm:
     + [NT] Removed assumption that all the information handled by
       these are available in the current directory.
   *  lib/Lintian/Schedule.pm:
     + [NT] Removed file, replaced by Lintian::ProcessablePool.
 .
   * private/refresh-archs:
     + [SRL] update to output directory mappings based on DEB_HOST_MULTIARCH
       instead of DEB_HOST_GNU_TYPE.
   * private/runtests:
     + [NT] Added support for dumping build logs if a test fails.
       (Closes: #621658)
     + [NT] Disabled pkgbinarymangler during tests.  (Closes: #621681)
 .
   * t/tests/binaries-from-other-arch:
     + [NT] Accepted patch from Benjamin Drung to accept i686-linux-gnu
       as a valid triplet.  This fixes test failure in Ubuntu.
       (Closes: #622974)
 .
   * unpack/unpack-{binpkg,changes}-l1:
     + [NT] Removed unpack scripts for binpkg and changes as these have
       been replaced by collections.
Checksums-Sha1: 
 6f88eb54d5f8e30ae8a31b1a16dd5d05bc4e686b 2418 lintian_2.5.0~rc3.dsc
 4fa7b3037ab3d1a4edb4088d8043a28e01ed7d2a 923754 lintian_2.5.0~rc3.tar.gz
 3a3f6ff2e475f6c2661eb8b50331fbc099adba4b 580936 lintian_2.5.0~rc3_all.deb
Checksums-Sha256: 
 6c9cfd453337a069ba5ee89999c4fdd13e8217d08f518d4ce16e364e3e26d22e 2418 lintian_2.5.0~rc3.dsc
 b53bd93ba636176c791f3fe6cd0bec1cdc9bd9f5fc4031156a22e0c26501a799 923754 lintian_2.5.0~rc3.tar.gz
 592dbc6bed763bceaef6a6f97d6aad5b211e1e547b00c5a4e1a54a0fce3a0f10 580936 lintian_2.5.0~rc3_all.deb
Files: 
 1bf8adb924eb4af90c844dc3c9d36f03 2418 devel optional lintian_2.5.0~rc3.dsc
 2bb07c53f51974bad1cd18bd34979a2e 923754 devel optional lintian_2.5.0~rc3.tar.gz
 9eea149b15445d0545acb71e18a1e2f2 580936 devel optional lintian_2.5.0~rc3_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBCAAGBQJNsBo2AAoJEAVLu599gGRC6Y0P/0V5DIsqZtaHVr5OCUBKhekf
gBMzqs+4gYwygGfTHMm1NhARD3jrggAW4QPB7yTo0q0PXCObNT43KySwdm1l+5Mt
+k9TUVper+o4uQ2yXHu9QyC1I5ZZ/eHnyhVylJez8SwytA72QldsbnCDQN0xalbe
9tLje+3oUTPjFuax3Z6IbxHMTfPtdGcsdTd8e++NyC8qFeojWtXQ8kqwj8oqFUki
IvmK0KO3BR2jMZDAPFGeHLptfRVpHCDDeK2hajaOdSNCE61nrkBLI5Lrbtaxe9o+
gJVPzJm+o/jz38eO/8PqnIMpzw/AqdX3HSnNcqI3jOhs3JTTZ8ocEtZ/ntytb3NN
pn8cJKAyrMe5Hqp8S2l3QYrGiRavOmJwqJY29/StvbZEXX+I0P4Duia54BvpwxSb
fd/mMl0K903wLIsVZrw/fFjkrDZtNiGhN2SrbsZYJ1XithYFbi0KJGnYg0dVUaPd
T2NVQ1LznxAQ75abszrETa0R9awwAjyVlJaRo2+ufyG5s6VKTmG+sSha5+lLig3p
2GPjT15RhyFTTs60EyQ8FHaKFZIB5O6LWVddujnmWzkVDcC8pw7IBbIRi7k7btkP
UqVLM0ctWdRyZZegLal04mZl54bMRnXhIgPtvseWYZLd6FfM82V8OsrvzRZKl29/
CdSFde2g1ASiz8p7BVlZ
=Uc2S
-----END PGP SIGNATURE-----





Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 30 May 2011 07:40:15 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Nov 19 12:50:32 2023; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.