Opened 6 years ago

Last modified 6 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 6 years ago by mf2k (Frank Schima)

Component: portsbase

comment:2 Changed 6 years ago by raimue (Rainer Müller)

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 name leaves 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.

comment:3 in reply to:  2 Changed 6 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.

Note: See TracTickets for help on using tickets.