Opened 16 months ago

Last modified 16 months ago

#71879 new defect

Port upgrade doesn't reload startupitems on older macOS versions

Reported by: fhgwright (Fred Wright) Owned by:
Priority: Normal Milestone:
Component: base Version: 2.10.5
Keywords: Cc: jmroot (Joshua Root), mascguy (Christopher Nielsen)
Port:

Description

I believe it's the intention, when upgrading a "loaded" port, to automatically load the port after activating the new version (the old version was unloaded as part of deactivation). I've seen this work occasionally, but it seems to be skipped more often than it works. Rsync seems to have this problem fairly consistently. E.g., from the recent rsync upgrade:

...
11:37:31.192: --->  Installing rsync @3.4.1_0
11:37:32.509: --->  Cleaning rsync
11:37:32.638: --->  Computing dependencies for rsync
11:37:32.744: --->  Unloading startupitem 'rsyncd' for rsync
11:37:32.790: --->  Deactivating rsync @3.3.0_0
11:37:33.771: --->  Cleaning rsync
11:37:33.784: --->  Activating rsync @3.4.1_0
11:37:35.370: --->  Cleaning rsync
11:37:36.949: --->  Computing dependencies for glade
...

The result is of course a nonfunctional rsyncd until it's manually reloaded.

Change History (4)

comment:1 Changed 16 months ago by jmroot (Joshua Root)

What OS version do you see this on?

comment:2 Changed 16 months ago by fhgwright (Fred Wright)

The one where I noticed it today was 10.9. I didn't look closely enough at the logs from upgrading all the VMs to see whether it struck there as well, though I did notice that it worked correctly on the M1 Mini, but I don't recall whether it was booted into 15.x or 11.x at the time.

comment:3 Changed 16 months ago by jmroot (Joshua Root)

Summary: Port upgrade may fail to reload portPort upgrade doesn't reload startupitems on older macOS versions

IIRC, nobody ever figured out how to make portstartupitem::loaded work on old OS versions. I forget what the minimum was but it definitely doesn't work on 10.6. We of course only want to load startupitems that were loaded before the upgrade, so effectively the behaviour is just to unload on upgrade when we can't figure out what was loaded (which was still an improvement on the previous behaviour of never automatically unloading.)

comment:4 Changed 16 months ago by mascguy (Christopher Nielsen)

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