NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/58648 CVS commit: [netbsd-11] src



The following reply was made to PR lib/58648; it has been noted by GNATS.

From: "Martin Husemann" <martin%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
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.
 


Home | Main Index | Thread Index | Old Index