NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
misc/57581: set lists should have a way to obsolete shlibs in DESTDIR but not in postinstall
>Number: 57581
>Category: misc
>Synopsis: set lists should have a way to obsolete shlibs in DESTDIR but not in postinstall
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: misc-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Aug 13 12:05:00 +0000 2023
>Originator: Taylor R Campbell
>Release: current
>Organization:
The NetBSD Found in DESTDIR but missing from flist
>Environment:
>Description:
The set list `obsolete' tag marks a file that used to be in a NetBSD installation and should no longer be. On incremental build, such files are deleted from DESTDIR. On postinstall, such files are deleted from the installation.
Public shared libraries are different. Installations may have programs built in, e.g., pkgsrc that were linked against the old version of a public shared library, found by ld via its libfoo.so symlink and recorded in the executable as a libfoo.so.N soname. When we bump a shlib major, we want to change the libfoo.so symlink to point to libfoo.so.(N+1) but leave the old libfoo.so.N around so programs built against it continue to work when you upgrade NetBSD.
Currently, the mechanism we use in the set lists is to just delete the entries for libfoo.so.N and libfoo.so.N.M, as documented at the top of base/shl.mi:
https://nxr.netbsd.org/xref/src/distrib/sets/lists/base/shl.mi?r=1.961
But the current mechanism causes incremental builds to fail in checkflist, which requires manual intervention.
>How-To-Repeat:
run an incremental build before and after a shlib major bump, e.g. the openssl3 update
>Fix:
Yes, please!
Perhaps we could create a shlibobsolete tag that causes the file to be deleted from the DESTDIR at build-time, but not added to the obsolete lists -- that way postinstall won't delete the shlibs from installations when you update them.
Home |
Main Index |
Thread Index |
Old Index