Re: libmd.so.6 and pkgbase

From: Renato Botelho <garga_at_FreeBSD.org>
Date: Mon, 07 Oct 2024 14:20:00 UTC
On 07/10/24 03:53, Baptiste Daroussin wrote:
> Hello everyone,
> 
> Just a reminder when using pkgbase, make sure you do activate
> BACKUP_LIBRARIES=true in pkg.conf
> 
> This way pkg will save a copy of libmd.so.6 during the upgrade in
> /usr/local/lib/pkg/libmd.so.6 (and create a package named compat-libraries to
> track it).
> 
> This will prevent you from having a couple of days without a new version of pkg
> built against libmd.so.7 available (or some of the packages which also requires
> libmd.so.7.

I have BACKUP_LIBRARIES=true on my pkg.conf and upgraded a system 
running CURRENT this morning using pkgbase.  After that I got pkg linked 
with both libmd.so.6 and libmd.so.7:

root@x230:~ # ldd /usr/local/sbin/pkg
/usr/local/sbin/pkg:
         libelf.so.2 => /lib/libelf.so.2 (0x28b8027a6000)
         libjail.so.1 => /lib/libjail.so.1 (0x28b80340b000)
         libssl.so.30 => /usr/lib/libssl.so.30 (0x28b80436a000)
         libcrypto.so.30 => /lib/libcrypto.so.30 (0x28b804e18000)
         libarchive.so.7 => /usr/lib/libarchive.so.7 (0x28b805e0a000)
         libbz2.so.4 => /usr/lib/libbz2.so.4 (0x28b80710e000)
         libz.so.6 => /lib/libz.so.6 (0x28b807ccc000)
         liblzma.so.5 => /usr/lib/liblzma.so.5 (0x28b808368000)
         libprivatezstd.so.5 => /usr/lib/libprivatezstd.so.5 
(0x28b806205000)
         libm.so.5 => /lib/libm.so.5 (0x28b808952000)
         libutil.so.9 => /lib/libutil.so.9 (0x28b808ad1000)
         libmd.so.6 => not found (0)
         libthr.so.3 => /lib/libthr.so.3 (0x28b809f4c000)
         libc.so.7 => /lib/libc.so.7 (0x28b80ae53000)
         libbsdxml.so.4 => /lib/libbsdxml.so.4 (0x28b80c034000)
         libmd.so.7 => /lib/libmd.so.7 (0x28b80cdf7000)
         libsys.so.7 => /lib/libsys.so.7 (0x28b80ddb1000)
         [vdso] (0x28b801eee000)
root@x230:~ # pkg-static info -l compat-libraries-20241007093250
compat-libraries-20241007093250:
         /usr/local/lib/compat/pkg/libgstsctp-1.0.so.0
         /usr/local/lib/compat/pkg/libgstsctp.so
         /usr/local/lib/compat/pkg/libgstwebrtc-1.0.so.0
         /usr/local/lib/compat/pkg/libgstwebrtc.so
         /usr/local/lib/compat/pkg/libgstwebrtcnice-1.0.so.0
         /usr/local/lib/compat/pkg/libjsoncpp.so.25
         /usr/local/lib/compat/pkg/libjxl.so.0.10
         /usr/local/lib/compat/pkg/libjxl_cms.so.0.10
         /usr/local/lib/compat/pkg/libjxl_extras_codec.so.0.10
         /usr/local/lib/compat/pkg/libjxl_threads.so.0.10
         /usr/local/lib/compat/pkg/libmd.so.6
         /usr/local/lib/compat/pkg/libprotobuf-lite.so.27.3.0
         /usr/local/lib/compat/pkg/libprotobuf.so.27.3.0
         /usr/local/lib/compat/pkg/libprotoc.so.27.3.0
root@x230:~ # pkg update
ld-elf.so.1: /usr/local/lib/compat/pkg/libmd.so.6: unsupported file layout
root@x230:~ # file /usr/local/lib/compat/pkg/libmd.so.6
/usr/local/lib/compat/pkg/libmd.so.6: ELF 32-bit LSB shared object, 
Intel 80386, version 1 (FreeBSD), dynamically linked, for FreeBSD 15.0 
(1500020), stripped

-- 
Renato Botelho