Opened 7 years ago
Last modified 7 years ago
#55508 new enhancement
autorequested (mark some unrequested leaves as requested)
Reported by: | eiked | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | base | Version: | |
Keywords: | Cc: | ||
Port: |
Description
I frequently upgrade my ports.
From time to time I like to cleanup. I therfor invoke:
port uninstall inactive port uninstall leaves
But the leaves include some stuff that will be needed on the next
port selfupdate port upgrade outdated
again.
This is not so much of a problem on a modern, fast machine, but on old and slow machines where not even prebuild binaries are available, this becomes a drag. (just upgrading an 400Mhz Tiger machine)
I am well aware of:
port setrequested ...
I found that some of the ports are used very frequently by other ports (curl) and/or are very tedious to rebuild on a slow machine (boost)
I'd like to suggest
- there should be a list of ports that are autorequested by default
- it should be possible to modify or disable this list
---
I know that this will be highly controversial.
This breaks the current assumption, that only first hand manually installed ports are marked as requested.
But I have encountered this problem so many times now, that I believe that this could improve the ease of using macports.
---
Sidenotes:
In theory:
leaves: installed ports that are unrequested and have no dependents
Which I believe works as expected, but breaks my expectations on
port uninstall leaves
or alternatively we need something like:
port cleanup
---
Thanks to everyone working on macports. works like a charme!
Change History (3)
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Component: | ports → base |
---|
comment:2 follow-up: 3 Changed 7 years ago by raimue (Rainer Müller)
comment:3 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to raimue:
However, if I remember correctly, build dependencies are not recorded in the registry and could only be retrieved from the latest Portfile version, which makes this complicated.
Sounds like we should be recording build dependencies in the registry then.
For your last request, we already have
port reclaim
which is supposed to uninstall inactive ports, ports that are no longer required, delete old distfiles, etc.The actual problem you describe is that build dependencies are not considered to be required for the current installation. The assumption is that they can be uninstalled without losing any functionality or breaking any other port.
Maybe we need an alternative to the
leaves
pseudo-port that does not include build dependencies (side note: on current master, this was already changed to be recursive, so the nameleaves
does not really fit anymore). However, if I remember correctly, build dependencies are not recorded in the registry and could only be retrieved from the latest Portfile version, which makes this complicated.