Opened 18 years ago

Last modified 15 years ago

#8221 closed enhancement

RFE: port upgrade should consider variants when computing dependencies — at Version 7

Reported by: ryandesign@… Owned by: gwhitney@…
Priority: Normal Milestone: MacPorts 1.8.0
Component: base Version:
Keywords: Cc: ryandesign@…, jmr@…
Port:

Description (last modified by ryandesign (Ryan Carsten Schmidt))

apr-util usually depends on db4, but if you install apr-util with the +no_bdb variant, this deletes the db4 dependency. This is how I installed my apr-util 1.2.2, and this is how I want it. I do not want db4 on my system.

Attempting to upgrade apr-util to 1.2.6 wants to install db4, however. It seems that port upgrade doesn't use the variants that were specified in the last install when computing the needed dependencies.

I brought this up on the mailing list:

http://opendarwin.org/pipermail/darwinports/2006-April/033312.html

Daniel J. Luke suggested I provide the output of port -d -v upgrade apr-util so here it is:

$ sudo port -d -v upgrade apr-util
Password:
DEBUG: Found port in file:///opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/devel/apr-util
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: apr-util 1.2.6_0 exists in the ports tree
DEBUG: apr-util 1.2.2_1 is installed
DEBUG: Found port in file:///opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/devel/apr
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: apr 1.2.6_0 exists in the ports tree
DEBUG: apr 1.2.6_0 is installed
DEBUG: No need to upgrade! apr 1.2.6_0 >= apr 1.2.6_0
DEBUG: Found port in file:///opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/textproc/expat
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: expat 2.0.0_1 exists in the ports tree
DEBUG: expat 2.0.0_1 is installed
DEBUG: No need to upgrade! expat 2.0.0_1 >= expat 2.0.0_1
DEBUG: Found port in file:///opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/textproc/libiconv
DEBUG: epoch: in tree: 0 installed: 0
DEBUG: libiconv 1.10_1 exists in the ports tree
DEBUG: libiconv 1.10_1 is installed
DEBUG: No need to upgrade! libiconv 1.10_1 >= libiconv 1.10_1
DEBUG: Found port in file:///opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/databases/db4
DEBUG: db4 is *not* installed by DarwinPorts
DEBUG: Changing to port directory: /opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/databases/db4
DEBUG: Searching for dependency: db4
DEBUG: Didn't find receipt, going to depspec regex for: db4
DEBUG: Requested variant powerpc is not provided by port db4.
DEBUG: Requested variant darwin is not provided by port db4.
DEBUG: Requested variant macosx is not provided by port db4.
DEBUG: Executing variant darwin_8 provides darwin_8
DEBUG: Skipping completed com.apple.main (db4)
DEBUG: Skipping completed com.apple.unarchive (db4)
--->  Fetching db4
DEBUG: Executing com.apple.fetch (db4)
--->  db-4.3.29.tar.gz doesn't seem to exist in /opt/local/var/db/dports/distfiles/db4/4.3.29
--->  Attempting to fetch db-4.3.29.tar.gz from http://downloads.sleepycat.com/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  1 5803k    1   98k    0     0  31625      0  0:03:07  0:00:03  0:03:04 61949^C

He also suggested I upgrade with -n (skipping the dependencies) which was a successful workaround.

Change History (10)

comment:1 Changed 18 years ago by danielluke (Daniel J. Luke)

severity: normalenhancement
Summary: port upgrade should consider variants when computing dependenciesRFE: port upgrade should consider variants when computing dependencies

Changed 17 years ago by gwhitneycom1@…

Attachment: upd.patch added

Proposed patch against r25313 to resolve this issue

comment:2 Changed 17 years ago by gwhitney@…

As promised toward the end of my recent note http://lists.macosforge.org/pipermail/macports-dev/2007-May/001673.html to macports-dev, here is a patch which adds this functionality. In addition, there are three places (rather than the usual two) where variant specifications can come from in an upgrade: the command line, the installed version of the port, and variants.conf. This patch also rationalizes the precedence of those sources to be in the order listed, with command line taking highest precedence as always.

Hope this helps.

comment:3 Changed 17 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… gwhitney@… added
Component: portsbase
Owner: changed from macports-tickets@… to gwhitney@…

comment:4 Changed 17 years ago by nox@…

Milestone: MacPorts base bugs
Priority: ExpectedNormal
Version: 1.2

This is not anymore relevant, is it?

comment:5 in reply to:  4 Changed 16 years ago by jmroot (Joshua Root)

Cc: jmr@… added; gwhitney@… removed

Replying to nox@macports.org:

This is not anymore relevant, is it?

The patch doesn't seem to have ever been applied. Was this fixed in some other way?

Changed 16 years ago by jmroot (Joshua Root)

Attachment: upgrade-variants-man.diff added

updated man page section of the patch

Changed 16 years ago by jmroot (Joshua Root)

Attachment: upgrade-variants.diff added

updated patch against current base

comment:6 Changed 16 years ago by ralph@…

This bug is still relevant. See for example #15662.

comment:7 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Reporter: changed from opendarwin-2006@… to ryandesign@…
Note: See TracTickets for help on using tickets.