NetBSD Problem Report #58648

From www@netbsd.org  Tue Aug 27 00:32:18 2024
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 7A8131A9241
	for <gnats-bugs@gnats.NetBSD.org>; Tue, 27 Aug 2024 00:32:18 +0000 (UTC)
Message-Id: <20240827003217.866CA1A9242@mollari.NetBSD.org>
Date: Tue, 27 Aug 2024 00:32:17 +0000 (UTC)
From: campbell+netbsd@mumble.net
Reply-To: campbell+netbsd@mumble.net
To: gnats-bugs@NetBSD.org
Subject: private shared libraries should go in /usr/lib/private, not /usr/lib
X-Send-Pr-Version: www-1.0

>Number:         58648
>Category:       lib
>Synopsis:       private shared libraries should go in /usr/lib/private, not /usr/lib
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 27 00:35:00 +0000 2024
>Last-Modified:  Wed Apr 29 13:45:01 +0000 2026
>Originator:     Taylor R Campbell
>Release:        current, 10, 9, ...
>Organization:
The LibBSD Private Foundation
>Environment:
>Description:
NetBSD base ships with various shared libraries that are used internally by programs and daemons included in NetBSD but that really shouldn't be exposed as libraries -- this leads to unnecessary conflicts, e.g. with libsqlite3 or libssh.

Currently the only mechanism we have for hiding these is to statically link them, even if they are reused by multiple programs in base, like like libgmp.

We should be able to use shared libraries in base programs without also exposing them to pkgsrc.
>How-To-Repeat:
struggle with pkgsrc conflicts
>Fix:
1. Introduce /usr/lib/private.
2. Rule: Nothing in /usr/lib outside /usr/lib/private can link against anything in it.  We can enforce this by simply not putting /usr/lib/private in any rpaths when linking libraries, and adding it only to the executables that do use /usr/lib/private.
3. Move various libraries such as libsqlite3 and libssh under /usr/lib/private.

>Audit-Trail:
From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
To: gnats-bugs@netbsd.org
Cc: lib-bug-people@netbsd.org, gnats-admin@NetBSD.org
Subject: Re: lib/58648: private shared libraries should go in
 /usr/lib/private, not /usr/lib
Date: Tue, 27 Aug 2024 11:29:10 +0200

 On Tue, 27 Aug 2024 00:35:01 +0000 (UTC), campbell+netbsd@mumble.net=20
 wrote:
 > 1. Introduce /usr/lib/private.

 How about something like /usr/libpriv, similar to /usr/lib{data,exec}?

 Cheerio,
 Hau"bikeshedding"ke

 --=20
 Hauke Fath                        <hauke@Espresso.Rhein-Neckar.DE>
 Linn=E9weg 7
 64342 Seeheim-Jugenheim
 Germany

From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: lib/58648: private shared libraries should go in
 /usr/lib/private, not /usr/lib
Date: Tue, 27 Aug 2024 11:44:23 +0200

 Can we create a full list of the affected binaries and applications using
 them?

 Maybe something like

 	/lib/private/{bind,ssh,dhcp,..}/

 would make sense (but if the overall count is small it won't). And
 obviously there can't be name clashes (at least with the current
 state).

 Martin

From: Christos Zoulas <christos@zoulas.com>
To: gnats-bugs@netbsd.org
Cc: lib-bug-people@netbsd.org,
 gnats-admin@netbsd.org,
 netbsd-bugs@netbsd.org,
 campbell+netbsd@mumble.net
Subject: Re: lib/58648: private shared libraries should go in
 /usr/lib/private, not /usr/lib
Date: Tue, 27 Aug 2024 09:33:30 -0400

 > On Aug 27, 2024, at 5:40=E2=80=AFAM, gnats-admin@netbsd.org wrote:
 >=20
 > The following reply was made to PR lib/58648; it has been noted by =
 GNATS.
 >=20
 > From: Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>
 > To: gnats-bugs@netbsd.org
 > Cc: lib-bug-people@netbsd.org, gnats-admin@NetBSD.org
 > Subject: Re: lib/58648: private shared libraries should go in
 > /usr/lib/private, not /usr/lib
 > Date: Tue, 27 Aug 2024 11:29:10 +0200
 >=20
 > On Tue, 27 Aug 2024 00:35:01 +0000 (UTC), =
 campbell+netbsd@mumble.net=3D20
 > wrote:
 >> 1. Introduce /usr/lib/private.
 >=20
 > How about something like /usr/libpriv, similar to /usr/lib{data,exec}?
 >=20

 I was even thinking /usr/private/lib /usr/private/include etc.

 christos

From: matthew green <mrg@eterna23.net>
To: Christos Zoulas <christos@zoulas.com>
Cc: lib-bug-people@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, campbell+netbsd@mumble.net,
    gnats-bugs@netbsd.org
Subject: re: lib/58648: private shared libraries should go in /usr/lib/private, not /usr/lib
Date: Wed, 28 Aug 2024 04:58:21 +1000

 > I was even thinking /usr/private/lib /usr/private/include etc.

 don't want to *install* headers.  they're not for development,
 not even with comp set installed.

 those will remain private in the build itself, we only want this
 to have a shared copy of relatively large libraries like gmp and
 pals..


 .mrg.

From: Christos Zoulas <christos@zoulas.com>
To: matthew green <mrg@eterna23.net>
Cc: lib-bug-people@netbsd.org,
 gnats-admin@netbsd.org,
 netbsd-bugs@netbsd.org,
 campbell+netbsd@mumble.net,
 gnats-bugs@netbsd.org
Subject: Re: lib/58648: private shared libraries should go in
 /usr/lib/private, not /usr/lib
Date: Tue, 27 Aug 2024 15:01:33 -0400

 > On Aug 27, 2024, at 2:58=E2=80=AFPM, matthew green <mrg@eterna23.net> =
 wrote:
 >=20
 >> I was even thinking /usr/private/lib /usr/private/include etc.
 >=20
 > don't want to *install* headers.  they're not for development,
 > not even with comp set installed.
 >=20
 > those will remain private in the build itself, we only want this
 > to have a shared copy of relatively large libraries like gmp and
 > pals..
 >=20

 But you need the headers for autoconf to find stuff and for other
 internal users of the libraries. This is how we ended up with the
 gdb gmp/mpfr/mpc mess copying headers (because some are
 in the same dir as config.h and we can't just -I/path/to/gmpdoth).

 christos=

From: Taylor R Campbell <riastradh@NetBSD.org>
To: Christos Zoulas <christos@zoulas.com>
Cc: matthew green <mrg@eterna23.net>, lib-bug-people@netbsd.org,
	gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,
	gnats-bugs@netbsd.org
Subject: Re: lib/58648: private shared libraries should go in
	/usr/lib/private, not /usr/lib
Date: Tue, 27 Aug 2024 19:31:07 +0000

 > Date: Tue, 27 Aug 2024 15:01:33 -0400
 > From: Christos Zoulas <christos@zoulas.com>
 >=20
 > > On Aug 27, 2024, at 2:58=E2=80=AFPM, matthew green <mrg@eterna23.net> w=
 rote:
 > >=20
 > >> I was even thinking /usr/private/lib /usr/private/include etc.
 > >=20
 > > don't want to *install* headers.  they're not for development,
 > > not even with comp set installed.
 > >=20
 > > those will remain private in the build itself, we only want this
 > > to have a shared copy of relatively large libraries like gmp and
 > > pals..
 >=20
 > But you need the headers for autoconf to find stuff and for other
 > internal users of the libraries. This is how we ended up with the
 > gdb gmp/mpfr/mpc mess copying headers (because some are
 > in the same dir as config.h and we can't just -I/path/to/gmpdoth).

 These must never be taken from the host system's libraries, so there
 is no need to install them.  They must always be taken from what we
 built out of src; otherwise if you have, e.g., a too-old gmp in /usr,
 you can't use build.sh to build a NetBSD with newer gmp/gdb/gcc/&c.

 If `build.sh tools' even looks for a systemwide gmp.h or libgmp.so,
 that's a serious bug in our build system.

 The point is that absolutely nothing in an installed system should
 ever look at /usr/lib/private, _except_ for executables that are
 included in that system and linked against those libraries.

From: matthew green <mrg@eterna23.net>
To: Christos Zoulas <christos@zoulas.com>
Cc: lib-bug-people@netbsd.org, gnats-admin@netbsd.org,
    netbsd-bugs@netbsd.org, campbell+netbsd@mumble.net,
    gnats-bugs@netbsd.org
Subject: re: lib/58648: private shared libraries should go in /usr/lib/private, not /usr/lib
Date: Wed, 28 Aug 2024 14:46:07 +1000

 > But you need the headers for autoconf to find stuff and for other
 > internal users of the libraries. This is how we ended up with the
 > gdb gmp/mpfr/mpc mess copying headers (because some are
 > in the same dir as config.h and we can't just -I/path/to/gmpdoth).

 we can make that a "special mknative" feature.

 don't install them for normal builds.  it's only going to make
 it 100% likely something will find and use them and the whole
 point of this is to stop that happening.


 .mrg.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src/usr.bin/crunch/crunchgen
Date: Tue, 16 Dec 2025 04:18:06 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Tue Dec 16 04:18:06 UTC 2025

 Modified Files:
 	src/usr.bin/crunch/crunchgen: crunchgen.c

 Log Message:
 crunchgen(1): Implement -L <lib-dir> option for real.

 Pass it through via LDADD in the generated .mk output, before any -l
 options.

 The original logic -- which was disabled in 2001, apparently by
 accident -- had a default libdir of /usr/lib.  But it didn't do
 anything with that string, so removing it as a default doesn't change
 anything.  But the linker doesn't need us to specify that path anyway
 (and it would really have to be -L=/usr/lib rather than -L/usr/lib,
 whereas we want -L/path/to/obj/lib/libfoo without the `=').

 PR toolchain/59841: crunchgen(1) ignores -L argument

 Will be needed for:

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.96 -r1.97 src/usr.bin/crunch/crunchgen/crunchgen.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src
Date: Tue, 16 Dec 2025 04:21:04 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Tue Dec 16 04:21:03 UTC 2025

 Modified Files:
 	src/distrib/sets/lists/base: mi
 	src/etc/mtree: NetBSD.dist.base
 	src/share/mk: bsd.README bsd.lib.mk bsd.prog.mk

 Log Message:
 Add logic for /usr/lib/private libraries.

 New variables for makefiles to define:

 <bsd.lib.mk> LIBSUBDIR -- If nonempty, install library into
     ${LIBDIR}/${LIBSUBDIR} instead of ${LIBDIR}.  Typically set
     either to empty or to `private'.

 <bsd.lib.mk> LIBDPSUBDIRS -- List of subdirectories _subdir_ to add
     -L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
     ldflags when linking library.  Note: Should only be used inside
     private libraries, not inside public libraries to link against
     private libraries, which can't work -- see comment.

 <bsd.prog.mk> PROGDPSUBDIRS -- List of subdirectories _subdir_ to add
     -L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
     ldflags when linking program.

 (XXX bsd.lib.mk/bsd.prog.mk should figure LIBDPSUBDIRS/PROGDPSUBDIRS
 out automatically by LIBDPLIBS/PROGDPLIBS, but for now we don't have
 that mechanism -- TBD in subsequent work.)

 Libraries that we want to install because we use them in binaries we
 ship, but that we want to keep private from applications so we don't
 have to worry about ABI breakage or leakage into pkgsrc builds,
 should generally set:

 LIBSUBDIR=	private		# Install into /usr/lib/private.
 NOCOMPAT=	# defined	# Don't build compat lib.
 NOLINKLIB=	# defined	# Don't install .so link or .a lib.

 (XXX Maybe we should have a `LIBISPRIVATE= installed' or something
 for this combination of options, but for now I'm putting in the
 minimal mechanism to implement this and we can condense a common
 pattern later.)

 Programs using the library will also have to set

 PROGDPSUBDIRS+=	private

 so that they will get the rpath /usr/lib/private.

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.1370 -r1.1371 src/distrib/sets/lists/base/mi
 cvs rdiff -u -r1.261 -r1.262 src/etc/mtree/NetBSD.dist.base
 cvs rdiff -u -r1.456 -r1.457 src/share/mk/bsd.README
 cvs rdiff -u -r1.422 -r1.423 src/share/mk/bsd.lib.mk
 cvs rdiff -u -r1.357 -r1.358 src/share/mk/bsd.prog.mk

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src
Date: Tue, 16 Dec 2025 04:32:05 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Tue Dec 16 04:32:04 UTC 2025

 Modified Files:
 	src/crypto/external/bsd/openssh: Makefile.inc
 	src/crypto/external/bsd/openssh/lib: Makefile
 	src/distrib/sets/lists/base: shl.mi
 	src/distrib/sets/lists/comp: mi shl.mi
 	src/distrib/sets/lists/debug: mi shl.mi
 	src/rescue: Makefile
 	src/share/mk: bsd.prog.mk
 	src/usr.sbin/wg-keygen: Makefile

 Log Message:
 openssh: Install libssh.so in /usr/lib/private.

 This way it doesn't get exposed to applications accidentally, and we
 don't need to worry about breaking ABI when updating openssh in base.

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.17 -r1.18 src/crypto/external/bsd/openssh/Makefile.inc
 cvs rdiff -u -r1.44 -r1.45 src/crypto/external/bsd/openssh/lib/Makefile
 cvs rdiff -u -r1.1018 -r1.1019 src/distrib/sets/lists/base/shl.mi
 cvs rdiff -u -r1.2502 -r1.2503 src/distrib/sets/lists/comp/mi
 cvs rdiff -u -r1.361 -r1.362 src/distrib/sets/lists/comp/shl.mi
 cvs rdiff -u -r1.493 -r1.494 src/distrib/sets/lists/debug/mi
 cvs rdiff -u -r1.379 -r1.380 src/distrib/sets/lists/debug/shl.mi
 cvs rdiff -u -r1.42 -r1.43 src/rescue/Makefile
 cvs rdiff -u -r1.358 -r1.359 src/share/mk/bsd.prog.mk
 cvs rdiff -u -r1.1 -r1.2 src/usr.sbin/wg-keygen/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src/lib
Date: Tue, 16 Dec 2025 15:10:14 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Tue Dec 16 15:10:14 UTC 2025

 Modified Files:
 	src/lib: Makefile

 Log Message:
 openssh: Don't make compat libssh build.

 libssh is now private, so it's not exposed for applications to link
 against (with libssh.so installed only in /usr/lib/private, if at
 all), so it's not useful to build as a compat library anyway.

 Should fix problems like:

     sparc64--netbsd-install: /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug.inst.a4Bog4: mkstemp: No such file or directory
     --- /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug ---

     *** Failed target: /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug
     *** In directory: /home/source/ab/HEAD/src/crypto/external/bsd/openssh/lib
     *** Failed commands:
             ${_MKTARGET_INSTALL}
             => @# "install " /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug
             ${INSTALL_FILE} -o ${DEBUGOWN} -g ${DEBUGGRP} -m ${DEBUGMODE}  ${.ALLSRC} ${.TARGET}
             => /home/builds/ab/HEAD/sparc64/20251216043204Z-tools/bin/sparc64--netbsd-install -U -M /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/METALOG -D /home/builds/ab/HEAD/sparc64/20251216043204Z-dest -h sha256 -N /home/source/ab/HEAD/src/etc -c  -r -o root -g wheel -m 444  libssh.so.50.0.debug /home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug
     *** [/home/builds/ab/HEAD/sparc64/20251216043204Z-dest/usr/libdata/debug/usr/lib/sparc/private/libssh.so.50.0.debug] Error code 1

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.308 -r1.309 src/lib/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src
Date: Wed, 17 Dec 2025 00:49:55 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Wed Dec 17 00:49:55 UTC 2025

 Modified Files:
 	src/crypto/external/bsd/openssh/lib: Makefile
 	src/distrib/sets/lists/base: mi shl.mi
 	src/distrib/sets/lists/debug: shl.mi
 	src/etc/mtree: NetBSD.dist.compat.in
 	src/lib: Makefile
 	src/lib/libpam/modules/pam_ssh: Makefile

 Log Message:
 openssh: Do build and install compat libssh after all.

 Even though it's not exposed for applications to _link_ against, it
 is used by the dynamically _loadable_ pam_ssh module, which exists as
 a compat module and therefore needs libssh as a compat library to be
 installed somewhere.  That somewhere will be
 /usr/lib/${COMPAT_ARCH}/private.

 Should fix problems like:

     dependall ===> compat/sparc64/sparc/../../../lib/libpam/modules/pam_ssh
     nbmake[11]: don't know how to make /home/source/ab/HEAD/src/crypto/external/bsd/openssh/lib/libssh.a. Stop

 Verified in an amd64 build that the compat i386 pam_ssh.so is linked
 correctly:

     (chroot HEAD)# ldd /usr/lib/i386/security/pam_ssh.so.4
     /usr/lib/i386/security/pam_ssh.so.4:
             -lssh.50 => /usr/lib/i386/private/libssh.so.50
             -lcrypto.16 => /usr/lib/i386/libcrypto.so.16
             -lcrypt.1 => /usr/lib/i386/libcrypt.so.1
             -lgcc_s.1 => /usr/lib/i386/libgcc_s.so.1
             -lc.12 => /usr/lib/i386/libc.so.12
             -lz.1 => /usr/lib/i386/libz.so.1

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.45 -r1.46 src/crypto/external/bsd/openssh/lib/Makefile
 cvs rdiff -u -r1.1371 -r1.1372 src/distrib/sets/lists/base/mi
 cvs rdiff -u -r1.1019 -r1.1020 src/distrib/sets/lists/base/shl.mi
 cvs rdiff -u -r1.380 -r1.381 src/distrib/sets/lists/debug/shl.mi
 cvs rdiff -u -r1.8 -r1.9 src/etc/mtree/NetBSD.dist.compat.in
 cvs rdiff -u -r1.309 -r1.310 src/lib/Makefile
 cvs rdiff -u -r1.14 -r1.15 src/lib/libpam/modules/pam_ssh/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src/usr.sbin/wg-keygen
Date: Wed, 17 Dec 2025 04:43:00 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Wed Dec 17 04:42:59 UTC 2025

 Modified Files:
 	src/usr.sbin/wg-keygen: Makefile

 Log Message:
 wg-keygen(8): Find private libssh.so.

 Should fix:

     /usr/sbin/wg-keygen: Shared object "libssh.so.50" not found

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.2 -r1.3 src/usr.sbin/wg-keygen/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src/distrib/evbarm/instkernel/sshramdisk
Date: Wed, 17 Dec 2025 20:05:55 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Wed Dec 17 20:05:54 UTC 2025

 Modified Files:
 	src/distrib/evbarm/instkernel/sshramdisk: Makefile list

 Log Message:
 evbarm/instkernel/sshramdisk: Get libssh out of objdir now.

 Should fix problems like:

     --- ramdiskbin.link ---
     #      link  sshramdisk/ramdiskbin.link
     /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/armv6eb--netbsdelf-eabihf-gcc    --sysroot=/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest    -static  -o ramdiskbin.link  ramdiskbin.o  -Wl,-rpath-link,/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/lib  -L=/lib -L/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/usr/lib cat.cro chmod.cro cp.cro dd.cro df.cro ed.cro ln.cro ls.cro mkdir.cro mv.cro pax.cro pwd.cro rm.cro rmdir.cro sh.cro stty.cro sync.cro sleep.cro chown.cro disklabel.cro fdisk.cro fsck.cro fsck_msdos.cro fsck_ffs.cro gpt.cro ifconfig.cro init.cro mknod.cro mount.cro mount_cd9660.cro mount_ext2fs.cro mount_ffs.cro mount_kernfs.cro mount_msdos.cro mount_nfs.cro mount_tmpfs.cro newfs.cro newfs_ext2fs.cro ping.cro reboot.cro restore.cro route.cro shutdown.cro slattach.cro swapctl.cro umount.cro ftp.cro tip.cro gzip.cro less.cro sed.cro tset.cro chroot.cro sshd.cro sysinst.cro progress.cro dhcpcd.cro  libhack.o 
 -ledit -lutil -lcurses -lterminfo -lrmt -lcrypt -ll -lm -lz -lprop -lssh -lcrypto -lpthread
     /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/lib/gcc/armv6eb--netbsdelf-eabihf/14.3.0/../../../../armv6eb--netbsdelf-eabihf/bin/ld: cannot find -lssh: No such file or directory
     /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/lib/gcc/armv6eb--netbsdelf-eabihf/14.3.0/../../../../armv6eb--netbsdelf-eabihf/bin/ld: have you installed the static version of the ssh library ?
     collect2: error: ld returned 1 exit status

     *** Failed target: ramdiskbin.link
     *** In directory: /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-obj/home/source/ab/HEAD/src/distrib/evbarm/instkernel/sshramdisk
     *** Failed commands:
             ${_MKTARGET_LINK}
             => @echo '#  ' "   link " sshramdisk/ramdiskbin.link
             ${_CCLINK.${:Uramdiskbin}}  ${_LDFLAGS.${:Uramdiskbin}} ${_LDSTATIC.${:Uramdiskbin}} -o ${.TARGET}  ${OBJS.${:Uramdiskbin}} ${_PROGLDOPTS} ${_LDADD.${:Uramdiskbin}}
             => /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/armv6eb--netbsdelf-eabihf-gcc    --sysroot=/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest    -static  -o ramdiskbin.link  ramdiskbin.o  -Wl,-rpath-link,/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/lib  -L=/lib -L/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/usr/lib cat.cro chmod.cro cp.cro dd.cro df.cro ed.cro ln.cro ls.cro mkdir.cro mv.cro pax.cro pwd.cro rm.cro rmdir.cro sh.cro stty.cro sync.cro sleep.cro chown.cro disklabel.cro fdisk.cro fsck.cro fsck_msdos.cro fsck_ffs.cro gpt.cro ifconfig.cro init.cro mknod.cro mount.cro mount_cd9660.cro mount_ext2fs.cro mount_ffs.cro mount_kernfs.cro mount_msdos.cro mount_nfs.cro mount_tmpfs.cro newfs.cro newfs_ext2fs.cro ping.cro reboot.cro restore.cro route.cro shutdown.cro slattach.cro swapctl.cro umount.cro ftp.cro tip.cro gzip.cro less.cro sed.cro tset.cro chroot.cro sshd.cro sysinst.cro progress.cro dhcpcd.cro 
  libhack.o -ledit -lutil -lcurses -lterminfo -lrmt -lcrypt -ll -lm -lz -lprop -lssh -lcrypto -lpthread
             ${CTFMERGE} ${CTFMFLAGS} -o ${.TARGET} ${OBJS.${:Uramdiskbin}}
             => /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/nbctfmerge -t -g -L VERSION -g -o ramdiskbin.link ramdiskbin.o
     *** [ramdiskbin.link] Error code 1

 PR lib/58648: private shared libraries should go in
 /usr/lib/private, not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.30 -r1.31 src/distrib/evbarm/instkernel/sshramdisk/Makefile
 cvs rdiff -u -r1.6 -r1.7 src/distrib/evbarm/instkernel/sshramdisk/list

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src/distrib/sets/lists/comp
Date: Thu, 18 Dec 2025 05:07:46 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Thu Dec 18 05:07:46 UTC 2025

 Modified Files:
 	src/distrib/sets/lists/comp: mi

 Log Message:
 distrib/sets/lists/comp: libssh is private for lint too.

 Might fix:

     checkflist ===> distrib/sets

     ======  1 missing files in DESTDIR  ========
     Files in flist but missing from DESTDIR.
     File wasn't installed ?
     ------------------------------------------
     ./usr/libdata/lint/llib-lssh.ln
     ========  end of 1 missing files  ==========

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.2503 -r1.2504 src/distrib/sets/lists/comp/mi

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Christos Zoulas" <christos@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src
Date: Thu, 18 Dec 2025 22:07:27 -0500

 Module Name:	src
 Committed By:	christos
 Date:		Fri Dec 19 03:07:27 UTC 2025

 Modified Files:
 	src/distrib/sets/lists/debug: mi shl.mi
 	src/distrib/sets/lists/xdebug: mi
 	src/share/mk: bsd.lib.mk

 Log Message:
 PR/58648: Fix MKDEBUG=yes build:
 1. if NOLINKLIB is set don't install libfoo_g.a and libfoo_p.a libraries.
    libfoo.a, libfoo_p.a were not being installed already, just make the
    testing consistent
 2. Move .a libraries from shl.mi to mi where they belong.
 3. Make stray libfoo_g.a libraries that were install accidentally before
    obsolete.


 To generate a diff of this commit:
 cvs rdiff -u -r1.494 -r1.495 src/distrib/sets/lists/debug/mi
 cvs rdiff -u -r1.381 -r1.382 src/distrib/sets/lists/debug/shl.mi
 cvs rdiff -u -r1.51 -r1.52 src/distrib/sets/lists/xdebug/mi
 cvs rdiff -u -r1.424 -r1.425 src/share/mk/bsd.lib.mk

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src/rescue
Date: Sat, 20 Dec 2025 14:35:11 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Sat Dec 20 14:35:11 UTC 2025

 Modified Files:
 	src/rescue: list

 Log Message:
 rescue/list: Touch for CRUNCHGEN_FLAGS change for libssh.

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.55 -r1.56 src/rescue/list

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: [netbsd-11] src/usr.bin/crunch/crunchgen
Date: Thu, 22 Jan 2026 19:33:55 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Thu Jan 22 19:33:54 UTC 2026

 Modified Files:
 	src/usr.bin/crunch/crunchgen [netbsd-11]: crunchgen.c

 Log Message:
 Pull up following revision(s) (requested by snj in ticket #149):

 	usr.bin/crunch/crunchgen/crunchgen.c: revision 1.97

 crunchgen(1): Implement -L <lib-dir> option for real.

 Pass it through via LDADD in the generated .mk output, before any -l
 options.

 The original logic -- which was disabled in 2001, apparently by
 accident -- had a default libdir of /usr/lib.  But it didn't do
 anything with that string, so removing it as a default doesn't change
 anything.  But the linker doesn't need us to specify that path anyway
 (and it would really have to be -L=/usr/lib rather than -L/usr/lib,
 whereas we want -L/path/to/obj/lib/libfoo without the `=').
 PR toolchain/59841: crunchgen(1) ignores -L argument

 Will be needed for:
 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.96 -r1.96.4.1 src/usr.bin/crunch/crunchgen/crunchgen.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: [netbsd-11] src
Date: Thu, 22 Jan 2026 19:51:55 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Thu Jan 22 19:51:55 UTC 2026

 Modified Files:
 	src/crypto/external/bsd/openssh [netbsd-11]: Makefile.inc
 	src/crypto/external/bsd/openssh/lib [netbsd-11]: Makefile
 	src/distrib/evbarm/instkernel/sshramdisk [netbsd-11]: Makefile list
 	src/distrib/sets/lists/base [netbsd-11]: mi shl.mi
 	src/distrib/sets/lists/comp [netbsd-11]: mi shl.mi
 	src/distrib/sets/lists/debug [netbsd-11]: mi shl.mi
 	src/distrib/sets/lists/xdebug [netbsd-11]: mi
 	src/etc/mtree [netbsd-11]: NetBSD.dist.base NetBSD.dist.compat.in
 	src/lib/libpam/modules/pam_ssh [netbsd-11]: Makefile
 	src/rescue [netbsd-11]: Makefile list
 	src/share/mk [netbsd-11]: bsd.README bsd.lib.mk bsd.prog.mk
 	src/usr.sbin/wg-keygen [netbsd-11]: Makefile

 Log Message:
 Pull up following revision(s) (requested by snj in ticket #150):

 	distrib/sets/lists/debug/shl.mi: revision 1.380
 	crypto/external/bsd/openssh/lib/Makefile: revision 1.45
 	distrib/sets/lists/debug/shl.mi: revision 1.381
 	crypto/external/bsd/openssh/lib/Makefile: revision 1.46
 	distrib/sets/lists/debug/shl.mi: revision 1.382
 	distrib/evbarm/instkernel/sshramdisk/list: revision 1.7
 	share/mk/bsd.lib.mk: revision 1.423
 	share/mk/bsd.lib.mk: revision 1.425
 	distrib/sets/lists/comp/mi: revision 1.2503
 	distrib/sets/lists/comp/mi: revision 1.2504
 	distrib/evbarm/instkernel/sshramdisk/Makefile: revision 1.31
 	distrib/sets/lists/base/shl.mi: revision 1.1019
 	rescue/list: revision 1.56
 	etc/mtree/NetBSD.dist.compat.in: revision 1.9
 	distrib/sets/lists/debug/mi: revision 1.494
 	distrib/sets/lists/debug/mi: revision 1.495
 	distrib/sets/lists/base/mi: revision 1.1371
 	distrib/sets/lists/base/mi: revision 1.1372
 	distrib/sets/lists/comp/shl.mi: revision 1.362
 	etc/mtree/NetBSD.dist.base: revision 1.262
 	lib/libpam/modules/pam_ssh/Makefile: revision 1.15
 	share/mk/bsd.prog.mk: revision 1.358
 	share/mk/bsd.prog.mk: revision 1.359
 	usr.sbin/wg-keygen/Makefile: revision 1.2
 	usr.sbin/wg-keygen/Makefile: revision 1.3
 	distrib/sets/lists/base/shl.mi: revision 1.1020
 	share/mk/bsd.README: revision 1.457
 	crypto/external/bsd/openssh/Makefile.inc: revision 1.18
 	distrib/sets/lists/xdebug/mi: revision 1.52
 	rescue/Makefile: revision 1.43

 Add logic for /usr/lib/private libraries.

 New variables for makefiles to define:
 <bsd.lib.mk> LIBSUBDIR -- If nonempty, install library into
     ${LIBDIR}/${LIBSUBDIR} instead of ${LIBDIR}.  Typically set
     either to empty or to `private'.
 <bsd.lib.mk> LIBDPSUBDIRS -- List of subdirectories _subdir_ to add
     -L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
     ldflags when linking library.  Note: Should only be used inside
     private libraries, not inside public libraries to link against
     private libraries, which can't work -- see comment.
 <bsd.prog.mk> PROGDPSUBDIRS -- List of subdirectories _subdir_ to add
     -L${SHLIBDIR}/${_subdir_} -Wl,-R${SHLIBDIR}/${_subdir_} to
     ldflags when linking program.

 (XXX bsd.lib.mk/bsd.prog.mk should figure LIBDPSUBDIRS/PROGDPSUBDIRS
 out automatically by LIBDPLIBS/PROGDPLIBS, but for now we don't have
 that mechanism -- TBD in subsequent work.)

 Libraries that we want to install because we use them in binaries we
 ship, but that we want to keep private from applications so we don't
 have to worry about ABI breakage or leakage into pkgsrc builds,
 should generally set:

 LIBSUBDIR=      private         # Install into /usr/lib/private.
 NOCOMPAT=       # defined       # Don't build compat lib.
 NOLINKLIB=      # defined       # Don't install .so link or .a lib.

 (XXX Maybe we should have a `LIBISPRIVATE= installed' or something
 for this combination of options, but for now I'm putting in the
 minimal mechanism to implement this and we can condense a common
 pattern later.)

 Programs using the library will also have to set
 PROGDPSUBDIRS+= private
 so that they will get the rpath /usr/lib/private.

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib

 openssh: Install libssh.so in /usr/lib/private.

 This way it doesn't get exposed to applications accidentally, and we
 don't need to worry about breaking ABI when updating openssh in base.
 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib

 openssh: Do build and install compat libssh after all.

 Even though it's not exposed for applications to _link_ against, it
 is used by the dynamically _loadable_ pam_ssh module, which exists as
 a compat module and therefore needs libssh as a compat library to be
 installed somewhere.  That somewhere will be
 /usr/lib/${COMPAT_ARCH}/private.

 Should fix problems like:
     dependall ===> compat/sparc64/sparc/../../../lib/libpam/modules/pam_ssh
     nbmake[11]: don't know how to make /home/source/ab/HEAD/src/crypto/external/bsd/openssh/lib/libssh.a. Stop
 Verified in an amd64 build that the compat i386 pam_ssh.so is linked
 correctly:
     (chroot HEAD)# ldd /usr/lib/i386/security/pam_ssh.so.4
     /usr/lib/i386/security/pam_ssh.so.4:
             -lssh.50 => /usr/lib/i386/private/libssh.so.50
             -lcrypto.16 => /usr/lib/i386/libcrypto.so.16
             -lcrypt.1 => /usr/lib/i386/libcrypt.so.1
             -lgcc_s.1 => /usr/lib/i386/libgcc_s.so.1
             -lc.12 => /usr/lib/i386/libc.so.12
             -lz.1 => /usr/lib/i386/libz.so.1

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib

 wg-keygen(8): Find private libssh.so.
 Should fix:
     /usr/sbin/wg-keygen: Shared object "libssh.so.50" not found
 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib

 evbarm/instkernel/sshramdisk: Get libssh out of objdir now.
 Should fix problems like:
     --- ramdiskbin.link ---
     #      link  sshramdisk/ramdiskbin.link
     /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/armv6eb--netbsdelf-eabihf-gcc    --sysroot=/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest    -static  -o
 ramdiskbin.link  ramdiskbin.o  -Wl,-rpath-link,/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/lib  -L=/lib -L/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/usr/lib cat.cro
 chmod.cro cp.cro dd.cro df.cro ed.cro ln.cro ls.cro mkdir.cro mv.cro pax.cro pwd.cro rm.cro rmdir.cro sh.cro stty.cro sync.cro sleep.cro chown.cro disklabel.cro fdisk.cro fsck.cro fsck_msdos.cro
 fsck_ffs.cro gpt.cro ifconfig.cro init.cro mknod.cro mount.cro mount_cd9660.cro mount_ext2fs.cro mount_ffs.cro mount_kernfs.cro mount_msdos.cro mount_nfs.cro mount_tmpfs.cro newfs.cro
 newfs_ext2fs.cro ping.cro reboot.cro restore.cro route.cro shutdown.cro slattach.cro swapctl.cro umount.cro ftp.cro tip.cro gzip.cro less.cro sed.cro tset.cro chroot.cro sshd.cro sysinst.cro
 progress.cro dhcpcd.cro  libhack.o
 -ledit -lutil -lcurses -lterminfo -lrmt -lcrypt -ll -lm -lz -lprop -lssh -lcrypto -lpthread
     /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/lib/gcc/armv6eb--netbsdelf-eabihf/14.3.0/../../../../armv6eb--netbsdelf-eabihf/bin/ld: cannot find -lssh: No such file or directory
     /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/lib/gcc/armv6eb--netbsdelf-eabihf/14.3.0/../../../../armv6eb--netbsdelf-eabihf/bin/ld: have you installed the static version of the
 ssh library ?
     collect2: error: ld returned 1 exit status
     *** Failed target: ramdiskbin.link
     *** In directory: /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-obj/home/source/ab/HEAD/src/distrib/evbarm/instkernel/sshramdisk
     *** Failed commands:
             ${_MKTARGET_LINK}
             => @echo '#  ' "   link " sshramdisk/ramdiskbin.link
             ${_CCLINK.${:Uramdiskbin}}  ${_LDFLAGS.${:Uramdiskbin}} ${_LDSTATIC.${:Uramdiskbin}} -o ${.TARGET}  ${OBJS.${:Uramdiskbin}} ${_PROGLDOPTS} ${_LDADD.${:Uramdiskbin}}
             => /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/armv6eb--netbsdelf-eabihf-gcc    --sysroot=/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest    -static  -o
 ramdiskbin.link  ramdiskbin.o  -Wl,-rpath-link,/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/lib  -L=/lib -L/home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-dest/usr/lib cat.cro
 chmod.cro cp.cro dd.cro df.cro ed.cro ln.cro ls.cro mkdir.cro mv.cro pax.cro pwd.cro rm.cro rmdir.cro sh.cro stty.cro sync.cro sleep.cro chown.cro disklabel.cro fdisk.cro fsck.cro fsck_msdos.cro
 fsck_ffs.cro gpt.cro ifconfig.cro init.cro mknod.cro mount.cro mount_cd9660.cro mount_ext2fs.cro mount_ffs.cro mount_kernfs.cro mount_msdos.cro mount_nfs.cro mount_tmpfs.cro newfs.cro
 newfs_ext2fs.cro ping.cro reboot.cro restore.cro route.cro shutdown.cro slattach.cro swapctl.cro umount.cro ftp.cro tip.cro gzip.cro less.cro sed.cro tset.cro chroot.cro sshd.cro sysinst.cro
 progress.cro dhcpcd.cro
  libhack.o -ledit -lutil -lcurses -lterminfo -lrmt -lcrypt -ll -lm -lz -lprop -lssh -lcrypto -lpthread
             ${CTFMERGE} ${CTFMFLAGS} -o ${.TARGET} ${OBJS.${:Uramdiskbin}}
             => /home/builds/ab/HEAD/evbarm-earmv6hfeb/20251217070550Z-tools/bin/nbctfmerge -t -g -L VERSION -g -o ramdiskbin.link ramdiskbin.o
     *** [ramdiskbin.link] Error code 1
 PR lib/58648: private shared libraries should go in
 /usr/lib/private, not /usr/lib

 distrib/sets/lists/comp: libssh is private for lint too.
 Might fix:
     checkflist ===> distrib/sets
     ======  1 missing files in DESTDIR  ========
     Files in flist but missing from DESTDIR.
     File wasn't installed ?
     ------------------------------------------
     ./usr/libdata/lint/llib-lssh.ln
     ========  end of 1 missing files  ==========
 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib

 PR/58648: Fix MKDEBUG=yes build:
 1. if NOLINKLIB is set don't install libfoo_g.a and libfoo_p.a libraries.
    libfoo.a, libfoo_p.a were not being installed already, just make the
    testing consistent
 2. Move .a libraries from shl.mi to mi where they belong.
 3. Make stray libfoo_g.a libraries that were install accidentally before
    obsolete.

 rescue/list: Touch for CRUNCHGEN_FLAGS change for libssh.
 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.16 -r1.16.4.1 src/crypto/external/bsd/openssh/Makefile.inc
 cvs rdiff -u -r1.42 -r1.42.2.1 src/crypto/external/bsd/openssh/lib/Makefile
 cvs rdiff -u -r1.28 -r1.28.4.1 \
     src/distrib/evbarm/instkernel/sshramdisk/Makefile
 cvs rdiff -u -r1.6 -r1.6.2.1 src/distrib/evbarm/instkernel/sshramdisk/list
 cvs rdiff -u -r1.1367 -r1.1367.2.1 src/distrib/sets/lists/base/mi
 cvs rdiff -u -r1.1008.2.2 -r1.1008.2.3 src/distrib/sets/lists/base/shl.mi
 cvs rdiff -u -r1.2497.2.3 -r1.2497.2.4 src/distrib/sets/lists/comp/mi
 cvs rdiff -u -r1.359 -r1.359.2.1 src/distrib/sets/lists/comp/shl.mi
 cvs rdiff -u -r1.485.2.6 -r1.485.2.7 src/distrib/sets/lists/debug/mi
 cvs rdiff -u -r1.367.2.3 -r1.367.2.4 src/distrib/sets/lists/debug/shl.mi
 cvs rdiff -u -r1.51 -r1.51.2.1 src/distrib/sets/lists/xdebug/mi
 cvs rdiff -u -r1.259 -r1.259.4.1 src/etc/mtree/NetBSD.dist.base
 cvs rdiff -u -r1.8 -r1.8.4.1 src/etc/mtree/NetBSD.dist.compat.in
 cvs rdiff -u -r1.14 -r1.14.2.1 src/lib/libpam/modules/pam_ssh/Makefile
 cvs rdiff -u -r1.42 -r1.42.10.1 src/rescue/Makefile
 cvs rdiff -u -r1.55 -r1.55.6.1 src/rescue/list
 cvs rdiff -u -r1.455 -r1.455.2.1 src/share/mk/bsd.README
 cvs rdiff -u -r1.419.2.1 -r1.419.2.2 src/share/mk/bsd.lib.mk
 cvs rdiff -u -r1.356.2.1 -r1.356.2.2 src/share/mk/bsd.prog.mk
 cvs rdiff -u -r1.1 -r1.1.10.1 src/usr.sbin/wg-keygen/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58648 CVS commit: src/crypto/external/bsd/openssh/lib
Date: Wed, 29 Apr 2026 13:41:38 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Wed Apr 29 13:41:38 UTC 2026

 Modified Files:
 	src/crypto/external/bsd/openssh/lib: Makefile

 Log Message:
 libssh/Makefile: Fix comment about compat libssh.

 We _do_ create a private compat libssh, not for the benefit of
 applications linked against it (there aren't any, or if there were it
 would be a bug) but for the benefit of applications loading
 pam_ssh.so which is legitimately linked against libssh.

 When I made the change a few months ago to restore building compat
 libssh (by not defining NOCOMPAT) I explained this in the commit
 message but neglected to update the comment.

 PR lib/58648: private shared libraries should go in /usr/lib/private,
 not /usr/lib


 To generate a diff of this commit:
 cvs rdiff -u -r1.48 -r1.49 src/crypto/external/bsd/openssh/lib/Makefile

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.