Opened 2 years ago
Last modified 2 years ago
#66285 new enhancement
Is it possible to hide ports that cannot be built on this Mac or OS?
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.0 |
Keywords: | tiger, leopard | Cc: | |
Port: | MacPorts |
Description (last modified by ballapete (Peter "Pete" Dyballa))
port -vd selfupdate
on PPC Tiger, Mac OS X 10.4.11, delivers for many minutes reports that this or that port has all compilers unavailable or blacklisted. Can't this prety useless output be suppressed?
On the other hand port lists presumingly hundreds of ports that cannot be built, by whatever reason. Can't this list be suppressed?
port outdated
lists xorg-server-devel
although it cannot be upgraded. So it is not outdated, it has finished. Why is it listed and why is port trying to upgrade it when invoked as port upgrade outdated
although it's not possible? If you can't do anything about it why do you mention it? And if completeness is a design goal: while not adding an extra verbose switch or simple -vv
?
Change History (3)
comment:1 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)
Description: | modified (diff) |
---|
comment:2 Changed 2 years ago by reneeotten (Renee Otten)
comment:3 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)
You've asked many questions in one ticket; I'll just reply to one of them for now.
Replying to ballapete:
port outdated
listsxorg-server-devel
although it cannot be upgraded. So it is not outdated, it has finished. Why is it listed and why is port trying to upgrade it when invoked asport upgrade outdated
although it's not possible? If you can't do anything about it why do you mention it?
MacPorts base doesn't know anything more about the situation than what the portfile tells it. In this case, the portfile contains:
platform macosx { if {${os.major} < 13} { known_fail yes pre-fetch { ui_error "$name requires macOS 10.9 or later. Please use the xorg-server-legacy port instead." error "unsupported OS version" } } }
Users of 10.8 and earlier should use the xorg-server-legacy port instead, but since that's just written as an error message, all MacPorts can do is print it for you. The port should be changed to set replaced_by xorg-server-legacy
on 10.8 or earlier so that the replacement happens automatically for users.
I personally favor the portfile development strategy where a single port is used for all OS versions, and it changes what software version it installs depending on the OS version. But not everyone agrees with me.
In the more general case where a port simply requires a newer OS and no replacement is available for the older OS, MacPorts currently tells you a new version is available, but you can't upgrade to it. You're proposing that MacPorts base shouldn't tell you about. I'm not sure I agree with that. I suppose an argument could be made for that change. But I could just as easily see users then asking "Why didn't MacPorts tell me an update was available?" The way it is now, at least you're told and update is available and you're given the reason why you can't have it.
perhaps the
-q
option will do what you want and suppress the output? Other than that I doubt any of these things will change and you might need to live with it on such an old system.