background: I have a private tree in git where the git sha1, etc. is placed via newvers.sh eventually making its way into kern.version. That can easily exceed 256 characters, especially with descriptive branch names that make their way into build directories. While testing a workaround for too-long version names, I used as a build directory: ~/FOOBAR-current/BUILD/excruciatingly-long-build-directory-for-no-reason-other-than-to-overflow-kern-version This resulted in failure in lib/libcrypto: ./buildinf.h(3): syntax error 'version' [249] ./buildinf.h(27): syntax error 'sizeof' [249] ./buildinf.h(47): unknown character \134 [250] ./buildinf.h(52): incomplete or misplaced function definition [22] ./buildinf.h(52): warning: redeclaration of BIO_snprintf [27] ./buildinf.h(52): warning: old style declaration; add int [1] and the problem is this line in lib/libcrypto/Makefile: @echo "#define CFLAGS \"`${CC} -v 2>&1 | grep version`\"" >>buildinf.h which fails to deal with Using built-in specs. Target: i386--netbsdelf Configured with: /home/gdt/FOOBAR-current/foobar/netbsd/src/tools/gcc/../../gnu/dist/gcc4/configure --target=i386--netbsdelf --disable-nls --enable-long-long --disable-multilib --enable-threads --program-transform-name=s,^,i386--netbsdelf-, --enable-languages=c c++ objc --enable-__cxa_atexit --prefix=/home/gdt/FOOBAR-current/BUILD/excruciatingly-long-build-directory-for-no-reason-other-than-to-overflow-kern-version/netbsd-5/tools Thread model: posix gcc version 4.1.3 20080704 (prerelease) (NetBSD nb2 20081120) because my build directory contains the word "version" and the grepped-out-string is two lines. (This is src/lib/libcrypto in netbsd-5 and in -current src/crypto/external/bsd/openssl/lib/libcrypto.) I propose to fix this by changing 'grep version' to 'tail -1'. If there are no better ideas or objections I'll kick off a build of current with the change to see if it works.
Attachment:
pgpRMq8SvOiuB.pgp
Description: PGP signature