Source-Changes archive

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

CVS commit: [netbsd-11] src



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