Opened 7 years ago

Closed 2 years ago

#54393 closed defect (worksforme)

Port fails to execute an upgrade with the additional arguments given at invocation but uses it for upgrading the ports on which the given port depends

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.4.1
Keywords: tiger leopard snowleopard Cc:
Port:

Description

On PPC Tiger, Mac OS X 10.4.11, and PPC Leopard, Mac OS X 10.5.8, rev-upgrade does not honour an additional option like configure.compiler=macports-gcc-6.

On PPC Tiger, Mac OS X 10.4.11, and PPC Leopard, Mac OS X 10.5.8, an invocation like

port -vd upgrade texlive-basic texlive-bin configure.compiler=macports-gcc-6

does not build texlive-bin with GCC 6 but the compiler as chosen/found by its Portfile. Possibly the rearranging of the build sequence (first the second port, then the first port) makes the additional argument configure.compiler=macports-gcc-6 disappear. Or applies only to the first port, which cannot be built because the second port, executed first, fails to build.

On PPC Tiger, Mac OS X 10.4.11, and PPC Leopard, Mac OS X 10.5.8, an invocation like

port -vd upgrade poppler configure.compiler=macports-gcc-6

finds that texlive-bin needs rebuilding because /opt/local/lib/libpoppler.dylib has changed. When answering "Y", rev-upgrade does not use the additional argument configure.compiler=macports-gcc-6.

On Snow Leopard, Mac OS X 10.6.8, an invocation à la

port -vd upgrade « whatever » configure.compiler=macports-gcc-6

lets port use the additional argument configure.compiler=macports-gcc-6 to upgrade all ports on which the named port depends.

Change History (4)

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Keywords: tiger, leopard, snowleopardtiger leopard snowleopard

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

Upgrade is a recursive operation, so first texlive-basic and all its dependencies are upgraded with no options, and then texlive-bin is upgraded with the given configure.compiler. But texlive-basic depends on texlive-bin, so the second step does nothing because texlive-bin is already up to date by the time it runs.

Not the most intuitive result in this particular case, but how should it behave instead? Should recursion be turned off because a dependency is mentioned elsewhere on the command line? Should it change the order of operations from what you specified?

Also note that overriding options from the command line isn't intended to be done routinely, it's a debugging tool. Permanent changes should be made in the portfile.

comment:3 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)

Since I knew that the settings in Portfile were at least inadequate I assumed that I could override them. Insn't this the default behaviour for the case without rev-?

comment:4 Changed 2 years ago by kencu (Ken)

Resolution: worksforme
Status: newclosed

closing as this is the expected behaviour for the port command

Note: See TracTickets for help on using tickets.