On 11 Aug, Jamie Landeg-Jones wrote:
> Charles Sprickman <sp...@bway.net> wrote:
> 
>> > On Aug 10, 2025, at 4:47 AM, Don Lewis <truck...@freebsd.org> wrote:
>> > 
>> > On  8 Aug, Jamie Landeg-Jones wrote:
>> >> all the ports, and then BATCH rebuild them from a list of previously
>> >> installed ports.
>> >> 
>> > 
>> > It looks like you are making extra work for youself.  When you
>> > "pkg delete -af", you are erasing all the data about which ports you
>> > carefully chosen to install and whether they were manually our
>> > automatically installed.  You need to record this info somewhere before
>> > you "pkg delete".
>>
>> I don't think he stated that he doesn't have a list of ports/pkgs that are 
>> wanted.
> 
> Yep! As I even wrote! :-) , I batch rebuild them from a list - rather, I have
> a script that parses a pkg list, and creates a script to install the ports
> fresh. (I build from ports not packages) The script does hard code a priority
> install order of ports if necessary - i.e. on machines I use the ports version
> of openssl, that's the port the script installs first. I think if openssh from
> ports was installed, that is next, and a few other similar examples.
> 
> I don't do this process for all upgrades, just the times I want to do a
> complete rebuild, usually after a major release upgrade.
> 
> After doing a pkg delete -af I then check /usr/local for orphaned files
> etc. and make it clean before running the script.
> 
> The script first runs through all the ports to check for config option changes
> (I still have the previous settings in /var/db/ports) and then when they are
> done, it runs through the install in BATCH=YES mode.
> 
>> Deleting everything, and then just adding the 4 or 5 things you want (which 
>> would end up with many more than 4-5 pkgs installed) is a pretty foolproof 
>> way to clean up a bunch of cruft. Unless of course your base OS also goes 
>> away. 
> 
> Exactly! After cleaning the system, before running the script, I prune the
> list of ports I know I don't want, or are just dependencies. Any that are
> only there as dependencies will get built again anyway. It's a nice, and
> as you say, pretty foolproof way of cleaning things up. It's also quite
> a fast operation - well, the actual ports install takes a while, but that
> happens without me needing to be around.
> 
> Finally, any errors/failed installs are highlighted at the end of the script
> for manual selection.

I use poudriere to pre-build my desired package set on a headless box
running -CURRENT before starting the upgrade.  It's now close to 24
hours for a full build of my package set.  That way, I don't bog down my
desktop while the build is in progress, and I can defer the upgrade if
anything vital fails to build.  I don't have to worry about getting
stuck in a half-upgraded state.  My only downtime is during pkg upgrade.

If you use "pkg prime-origins" to get the list of ports, that is lot
smaller set to sort through.

> I like to use pkg delete -af because I want to catch orphaned files, but 
> bluntly,
> I could just save /usr/local/etc and nuke the rest of /usr/local and 
> /var/db/pkg

Any thoughts on how to do the same housecleaning on the base system?

> Thanks for the reply, cheers, Jamie
> 
>>


Reply via email to