Opened 6 years ago

Closed 6 years ago

Last modified 5 years ago

#57180 closed defect (worksforme)

Port @2.5.3 reclaims and deletes packages that it installs again afterwards

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.5.3
Keywords: Cc: mojca (Mojca Miklavec)
Port:

Description

You haven't run 'sudo port reclaim' in two weeks. It's recommended you run this regularly to reclaim disk space. Would you like to run it now? [Y/n]: Y
--->  Checking for unnecessary unrequested ports
Unrequested ports without requested dependents found:	| Installing again:
 meson  @0.47.2_0					| 
 py37-setuptools  @40.2.0_0				| 
 python37  @3.7.0_0					| 
 autoconf  @2.69_5					| --->  Building autoconf
 help2man  @1.47.6_0					| --->  Building help2man
 p5.26-io-socket-inet6  @2.720.0_0			| 
 p5.26-io  @1.390.0_0					| 
 p5.26-io-socket-ip  @0.390.0_0				| 
 p5.26-locale-gettext  @1.70.0_0			| --->  Building p5.26-locale-gettext
 p5.26-socket  @2.27.0_0				| 
 p5.26-socket6  @0.280.0_0				| 
 p5.26-test-fatal  @0.14.0_0				| 
 p5.26-test-warn  @0.360.0_0				| 
 p5.26-sub-uplevel  @0.280.0_0				| 
 p5.26-test-deep  @1.128.0_0				| 
 p5.26-test-leaktrace  @0.160.0_0			| 
 p5.26-test-needs  @0.2.5_0				| 
 p5.26-test-nowarnings  @1.40.0_1			| 
 p5.26-test-requiresinternet  @0.50.0_0			| 
 texinfo  @6.5_2					| --->  Building texinfo
 automake  @1.16.1_0					| --->  Building automake
 libunwind-headers  @5.0.1_0				| 
 ninja  @1.8.2_1					| 
 libatomic_ops  @7.6.6_0				| 
 xorg-xtrans  @1.3.5_0					| 
 xorg-util-macros  @1.19.2_0				| 
 xorg-font-util  @1.3.1_0				| 
 re2c  @1.1.1_0						| 
Would you like to uninstall them? [Y/n]: Y

What is this behaviour good for?

Change History (13)

comment:1 Changed 6 years ago by kencu (Ken)

Port asks:

You never specifically requested autconf to be installed, and nothing depends on it, so do you want to delete it?

You say - YES.

But, 10 seconds later, some port requires autoconf to build, and so you have to watch it be reinstalled.

So, basically, I always say "No" to that port of port reclaim, and I volunteer that you should too.

You can specify a port as being "requested" so as to avoid this, but life is too short to waste all that time trying to sort that mess out IMHO.

Later on, when it asks to uninstall duplicates, and delete useless source tarballs, you might do that if it makes sense to you (ie you know will never need to roll back an installation). However, I generally never do that either, esp on Tiger.

Sometimes I look the list over, and if I see something huge (like multiple installs of qt4, or a compiler) I'll manually delete the old versions.

comment:2 Changed 6 years ago by kencu (Ken)

Component: portsbase
Keywords: tiger removed
Port: port removed
Summary: Port @2.5.3 reclaims and deletes packages that it installs again afterwards on PPC Tiger, Mac OS X 10.4.11Port @2.5.3 reclaims and deletes packages that it installs again afterwards

comment:3 Changed 6 years ago by kencu (Ken)

I think this one is going to be closed as a "worksforme" as this is the expected behaviour for "port reclaim". Anyone feel differently?

comment:4 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Ken, didn't you see the mistakes port makes? I have, for example, at-spi2-core installed (and outdated, since I need GCC 7 and GCC 6 first to continue), This package has dependencies:

Extract Dependencies: xz
Build Dependencies:   meson, ninja, pkgconfig, apple-gcc42
Library Dependencies: glib2, dbus, gobject-introspection, xorg-libX11, xorg-libXi, xorg-libXtst,
                      xorg-libice, xorg-libsm

How can it dare to recommend meson and ninja for deletion?! autoconf is needed by at-spi2-atk. There is a bug in port or this reclaim is something brain dead that is better deleted.

comment:5 Changed 6 years ago by kencu (Ken)

reclaim is not set up to retain build dependencies that are no longer required for a port to run.

comment:6 in reply to:  5 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Replying to kencu:

So what is its sense? Why is it invoked on Tiger? How can I switch it off?

comment:7 Changed 6 years ago by kencu (Ken)

I guess the idea is most people would install the binaries from the buildbot, so they don't need all the build deps. On TIger, we have no buildbot :>

You can pick the more obvious ones, and specifically request them to be installed with "sudo port install autoconf", for example. Then port will see it as a requested port.

There is also a way to set the status of a port that is already installed as "requested"

"sudo port setrequested pkgconfig"

see <https://guide.macports.org/chunked/using.common-tasks.html>

comment:8 in reply to:  7 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Replying to kencu:

It seems to be much easier to switch that reclaim thing off. I am taking care of my installed and uninstalled packages since decades? I cannot see any sense in it, so how can I switch this off?

comment:9 Changed 6 years ago by kencu (Ken)

I'm sorry but I have no idea how to turn it off. I would look in the base source code to see if I could figure out a way were I in that position. I trust you know where that it. If you find out, please tell us!

comment:10 in reply to:  9 Changed 6 years ago by ballapete (Peter "Pete" Dyballa)

Replying to kencu:

I think "sudo port setrequested installed" is more "elegant." It also saves a lot of time. It could be more, when this reclaim could be switched off…

comment:11 Changed 6 years ago by kencu (Ken)

here you go:

sudo port reclaim --disable-reminders

comment:12 Changed 6 years ago by kencu (Ken)

Resolution: worksforme
Status: newclosed

comment:13 Changed 5 years ago by mojca (Mojca Miklavec)

Cc: mojca added
Note: See TracTickets for help on using tickets.