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, snowleopard → tiger leopard snowleopard |
---|
comment:2 Changed 7 years ago by jmroot (Joshua Root)
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: | new → closed |
closing as this is the expected behaviour for the port command
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.