On Jul 2, 2023, at 03:46, Nuno Teixeira <edua...@freebsd.org> wrote:

> Yes, I will start building my own ports as well as I do it before.
> 
> I'm using poudriere jail:
> ---
> 14amd64  14.0-CURRENT 1400092 amd64 src=/usr/src
> ---
> That I update each time I update main, but it could also be null mount too.

Null mounting is probably unusual, which is why I mentioned it
as an oddity of my context. I do it because I want to be sure
that ports can build based on an install of the same exact
build that I also, separately install in a bectl BE for booting
--sort of a test. I've a few personal patches that I use in my
FreeBSD builds.

I was not intending to suggest that you use a null mount. Just
be sure that, whatever is used, it avoids having libssl.so.111
and libcrypto.so.111 .

> Thanks,
> 
> Mark Millard <mark...@yahoo.com> escreveu no dia domingo, 2/07/2023 à(s) 
> 09:15:
> Nuno Teixeira <eduardo_at_freebsd.org> wrote on
> Date: Sun, 02 Jul 2023 05:22:48 UTC :
> 
> > I'm returning to current and installed from
> > 20230622-b95d2237af40-263748-bootonly.iso
> > <https://download.freebsd.org/snapshots/amd64/amd64/ISO-IMAGES/14.0/FreeBSD-14.0-CURRENT-amd64-20230622-b95d2237af40-263748-bootonly.iso>
> > and upgraded to cab2d43b83b (amd64).
> > 
> > Did a magnific delete-old and delete-old-libs and now a lot of packages
> > complain about "ld-elf.so.1: Shared object "libssl.so.111" not found,
> > required by..."
> > 
> > To fix it I rebooted with BE from first instalation since I used
> > beinstall.sh for upgrade.
> > 
> > I know that a lot of things happened in the last days with llvm15->llvm16,
> > openssl3, etc.
> > 
> > My question is when can I do a delete-old{-libs}?
> > I'm thinking building pkgs with a updated current on poudriere and then
> > clean up libs?
> 
> The world in use for building packages from ports (such as in the
> poudriere jail if poudriere is used), should not have libssl.so.111
> or libcrypto.so.111 present.
> 
> I've two files (using amd64 as an example):
> 
> A) ~/origins/amd64-origins.txt
> B) ~/origins/amd64-pkgs.txt
> 
> (A) lists the ports I want to build (but not what those are dependent on).
> (B) lists the packages I want to install (but not what those are dependent 
> on).
> 
> The two have to list flavors in different notations, so having just one file
> ends up not being sufficient. Given that I use poudriere, neither file lists
> ports-mgmt/pkg explicitly.
> 
> To build I use:
> 
> # more ~/build-ports-main-amd64-all_ports.sh 
> #! /bin/sh
> poudriere pkgclean -jmain-amd64 -A
> poudriere bulk -jmain-amd64 -w -f ~/origins/amd64-origins.txt
> 
> (You might not want the -w . Also, I have poudriere null mount my own world
> build's installation for use by the jail. In the current context, no
> libssl.so.111 or libcrypto.so.111 is present in the jail for the bulk run.)

This rebuilds all ports. These system library tracking rebuilds
are uncommon and I use them as a cleanout and start from scratch
point. I tend to accumulate experimental builds and installs that
are not intended for long term use.

Most folks probably try to rebuild only a subset of their ports
that would be sufficient: such typically takes less time.

> To install I use:
> 
> # more ~/pkg-update-amd64-sys.sh
> #! /bin/sh
> pkg update \
> && pkg install -f ports-mgmt/pkg \
> && pkg delete -a \
> && pkg install `cat ~/origins/amd64-pkgs.txt`
> 
> (Note: ports that fail to build need to not be listed in
> ~/origins/amd64-pkgs.txt .)

Ignoring how ports-mgmt/pkg is forced to update first, this
cleans out all the other old packages and then installs all
of them: more of that cleanout and start from scratch
activity.

Most folks probably try to install only a subset of their
ports that would be sufficient.

> I deal with delete-old-libs after the packages are installed.
> I do not have any extra non-port software that would need
> rebuilding.
> 
> (In my context, I do all this activity as root.)

-- 
Nuno Teixeira
FreeBSD Committer (ports)

===
Mark Millard
marklmi at yahoo.com


Reply via email to