[MacPorts] #36137: Option to mark a port for installation when the port is fixed
MacPorts
noreply at macports.org
Thu Sep 13 17:17:52 PDT 2012
#36137: Option to mark a port for installation when the port is fixed
-------------------------+--------------------------------
Reporter: dylanryan@… | Owner: macports-tickets@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: base | Version: 2.1.2
Keywords: | Port:
-------------------------+--------------------------------
This is a request for a feature that I think might be useful. First, some
background.
Both when installing Lion, and more recently Mountain Lion, after finding
a bunch of broken ports, I decided it would be easier to do a clean re-
install (to clear out any old cruft that had accumulated). However, after
both system upgrades, I (naturally) found several ports I wanted that
would not install on the new system. I then had to keep track of what
ports I still needed to install, and periodically check to see if they had
been fixed yet.
Other times, ports have broken on me, and after wrestling with them a
while, I tend to uninstall them and wait for them to get fixed, so that I
can get that port with a clean install later. I know I could just
deactivate them, but I prefer knowing I have a clean start, that it isn't
some left over configuration file somewhere that is messing up the build.
Anyway, in both cases, I have to manually keep track of a list of ports
(and variants) that I want to install later, and then watch for changes,
and then go install them when the ports are updated.
What would be nice is if port could do this automatically. I am thinking
something along the lines of
port watch someBrokenPort +someVariant
(where "watch" is just a placeholder name for the command, it could
probably be renamed something better)
The idea is, this would tell MacPorts to record the current-at-the-time-
that-is-executed version of that port in it's database somewhere (along
with any variants that were specified), and then watch it. On subsequent
self-updates, it would check the new version of that port, and if it is
later, tell the user something like "The watched port someBrokenPort has
been updated. To install, run port install someBrokenPort +someVariant".
Then, when successfully installing any port, clear any watches on that
port automatically. If any install fails, and the port is being watched,
update the watched version to this version (so that this version doesn't
get tried again). (this might get tricky if a watched port only fails
because a dependency fails, so it might be best to make the watch command
itself automatically watch any broken dependencies)
This way, after an OS update or whatever breaks some ports (lets face it,
this is likely going to be a yearly issue just on the OS side, plus GCC
updates sometimes break other ports, etc), users can just tell the system
to watch ports for them (even though they are not currently installed),
and it will alert them when a new version is ready to try. If the next
install also fails, it will still be watched and the NEXT update will
remind the user. Basically - if a port breaks on a system install, the
user is probably thinking about it then, so knows what variants they want,
etc, whereas on a subsequent self-update a week or 2 later, they might not
be thinking as clearly (they might just remember "Oh, yeah, I wanted to
install somePort" but they might not remember what variants off hand). So,
by letting the user specify things like variants when they watch it, port
can remind them of that, as well. It reduces the user's book keeping
needs.
( There would also have to be a port unwatch command to manually remove
from the list, of course. And maybe options to the watch command to
automatically try and install when the port is updated )
--
Ticket URL: <https://trac.macports.org/ticket/36137>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list