Bug 151510 - ports-mgmt/portupgrade: circular dependencies breaks pkgdb -L
Summary: ports-mgmt/portupgrade: circular dependencies breaks pkgdb -L
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Steve Wills
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-17 00:30 UTC by hostmaster
Modified: 2011-08-21 22:20 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hostmaster 2010-10-17 00:30:08 UTC
if i make postgresql with OpenLDAP config ON, and OpenLDAP with SASL
config ON, and cyrus-sasl with Postgresql config ON, it creates a
circular dependency loop

when i then run pkgdb -L from the "portupgrade" port, it gets to here
& fails:

[...]
Disclose depends for cyrus-sasl-2.1.23
make: Max recursion level (500) exceeded.: Resource temporarily unavailable
can't convert nil into String


this basically breaks "portupgrade" functionality since it's impossible
to repair broken dependency links if this tool doesn't work.

Fix: 

the pkgbd tool needs to incorporate loop detection for such situations
How-To-Repeat: run pkgdb -L with any such circular dependency
Comment 1 Rene Ladan freebsd_committer freebsd_triage 2010-11-19 13:24:04 UTC
This is not only a problem for portupgrade, but a problem for the Ports
Collection in its entirety. The Porters Handbook tells that circular
dependencies are not allowed.

I think a better course of action is to notify the respective
maintainers of this circular dependency.
Comment 2 Steve Price freebsd_committer freebsd_triage 2011-01-03 17:22:11 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ruby

Over to maintainer(s).
Comment 3 Tilman Keskinoz freebsd_committer freebsd_triage 2011-07-25 12:39:08 UTC
State Changed
From-To: open->suspended

As rene wrote, this is not a portupbrade bug per se
Comment 4 hostmaster 2011-07-25 20:15:51 UTC
On Mon, 25 Jul 2011, arved@FreeBSD.org wrote:

|Synopsis: ports-mgmt/portupgrade: circular dependencies breaks pkgdb -L
|
|State-Changed-From-To: open->suspended
|State-Changed-By: arved
|State-Changed-When: Mon Jul 25 11:39:08 UTC 2011
|State-Changed-Why: 
|As rene wrote, this is not a portupbrade bug per se
|
|http://www.freebsd.org/cgi/query-pr.cgi?pr=151510


	I still feel that this kind of cirularity
	should be detectable by portupgrade pkgdb,
	and some kind of evasion strategy taken -
	perhaps with user dialog - thus the user
	would no longer crippled by such loops to
	the point where the pkgdb system becomes
	completely unuseable.


Bruce Becker			+1 416 410 0879
GTS Network Administration	Toronto, Ont.
Email:	hostmaster@GTS.Infra-service.CA
Comment 5 Steve Wills freebsd_committer freebsd_triage 2011-08-21 22:18:39 UTC
Responsible Changed
From-To: ruby->swills

I'll take it.
Comment 6 Steve Wills freebsd_committer freebsd_triage 2011-08-21 22:20:25 UTC
State Changed
From-To: suspended->closed

Agree it would be nice if portupgrade detected this, but would need a 
patch to make further progress on it. Since this isn't a portupgrade 
specific bug and there's no patch, closing PR for now. If there are 
further issues or a patch to look at, please open a new PR.