Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#29613 closed enhancement (wontfix)

extract dependency should not check version

Reported by: hashar@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.9.2
Keywords: Cc:
Port:

Description

Attempting to upgrade the ImageMagick package, ports detect the p7zip extract dependency. It then attempts to upgrade p7zip although I already have it installed:

# port install ImageMagick
--->  Building p7zip
^C

Some informations:

# port deps ImageMagick
Full Name: ImageMagick @6.7.0-0_0+q16
Extract Dependencies: p7zip
...

# port installed p7zip
The following ports are currently installed:
  p7zip @9.13_1 (active)
#  port info p7zip
p7zip @9.20.1 (archivers)
...

The extraction dependency should not rely on the version and it should not trigger an upgrade of the extracting package.

Change History (3)

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Component: portsbase

All dependencies would trigger an upgrade if available; not doing so would be special case code that would have to be added to the extract case.

But why shouldn't it trigger an upgrade? If an upgrade is available, we want users to install it.

comment:2 Changed 13 years ago by jmroot (Joshua Root)

Resolution: wontfix
Status: newclosed

Working as intended. More broadly, the optimal behaviour would of course be not to upgrade installed dependencies on install unless needed. The obvious problem is how you can determine whether it is needed. We have no way of doing so, therefore we play it safe. You are free to use -n to override this behaviour if you are willing to accept the risk of breakage.

comment:3 Changed 13 years ago by hashar@…

In this case, the extract dependency is only needed to extract an archive. Whatever version would fit the dependency, a specific version could still be required though.

At the moment, MacPorts acts like if it would request to upgrade bash + GNU core-utils just because the installed package has a shell script :-)

Note: See TracTickets for help on using tickets.