Re: WITHOUT_CASPER ghost?
On Fri, Feb 23, 2024 at 10:21:12AM -0800, Michael Dexter wrote: > On 2/23/24 9:13 AM, Brooks Davis wrote: > > Things are in a somewhat messy state. CASPER and CAPSICUM were moved to > > a new __REQUIRED_OPTIONS list, but the various bits still exist and > > there's even one use of MK_CASPER=no in Makefile.inc1. The commit > > message (c24c117b9644) suggests that the intent was to finish removal > > after 14 branched and it just hasn't happened yet. > > Understood. > > > I do wonder if the tool would also benefit from learning about > > __REQUIRED_OPTIONS. > > By required do you mean WITHOUT_AUTO_OBJ, WITHOUT_UNIFIED_OBJDIR, > WITHOUT_INSTALLLIB which I manually skip/mask my build option testing? >From bsd.mkopt.mk: # For each option FOO in __REQUIRED_OPTIONS, MK_FOO is set to "yes". If you set MK_FOO=no in a way that make can't override them (e.g., on the make command line) then the functionality is still there during the transition. It's probably a bug that we don't whine about this case like we do with WITHOUT_FOO. > If so, what syntax would use __REQUIRED_OPTIONS and what branches support it? __REQUIRED_OPTIONS isn't really a user accessible bit of machinery, but the survey should probably be aware of it. It looks like __REQUIRED_OPTIONS is in 14, but not 13. -- Brooks
Re: WITHOUT_CASPER ghost?
On 2/23/24 9:13 AM, Brooks Davis wrote: Things are in a somewhat messy state. CASPER and CAPSICUM were moved to a new __REQUIRED_OPTIONS list, but the various bits still exist and there's even one use of MK_CASPER=no in Makefile.inc1. The commit message (c24c117b9644) suggests that the intent was to finish removal after 14 branched and it just hasn't happened yet. Understood. I do wonder if the tool would also benefit from learning about __REQUIRED_OPTIONS. By required do you mean WITHOUT_AUTO_OBJ, WITHOUT_UNIFIED_OBJDIR, WITHOUT_INSTALLLIB which I manually skip/mask my build option testing? If so, what syntax would use __REQUIRED_OPTIONS and what branches support it? Michael
Re: WITHOUT_CASPER ghost?
On Thu, Feb 22, 2024 at 07:49:08PM -0800, Michael Dexter wrote: > All, > > The WITHOUT_CASPER build option was deprecated in main and 14-stable branches > but is still showing up and will trip up the build option survey: > > sh src/tools/tools/build_option_survey/listallopts.sh | grep CASPER > WITHOUT_CASPER Things are in a somewhat messy state. CASPER and CAPSICUM were moved to a new __REQUIRED_OPTIONS list, but the various bits still exist and there's even one use of MK_CASPER=no in Makefile.inc1. The commit message (c24c117b9644) suggests that the intent was to finish removal after 14 branched and it just hasn't happened yet. I do wonder if the tool would also benefit from learning about __REQUIRED_OPTIONS. -- Brooks
WITHOUT_CASPER ghost?
All, The WITHOUT_CASPER build option was deprecated in main and 14-stable branches but is still showing up and will trip up the build option survey: sh src/tools/tools/build_option_survey/listallopts.sh | grep CASPER WITHOUT_CASPER --- all_subdir_sbin/mdconfig --- ===> sbin/mdconfig (all) make[4]: "/b/stable/14/src/share/mk/bsd.mkopt.mk" line 62: warning: WITHOUT_CAPSICUM option ignored: it is no longer supported make[4]: "/b/stable/14/src/share/mk/bsd.mkopt.mk" line 62: warning: WITHOUT_CASPER option ignored: it is no longer supported --- .depend --- echo mdconfig: /b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp/usr/lib/libc.a /b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp/usr/lib/libutil.a /b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp/usr/lib/libgeom.a /b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp/usr/lib/libbsdxml.a /b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp/usr/lib/libsbuf.a >> depend --- mdconfig.o --- cc -target x86_64-unknown-freebsd14.0 --sysroot=/b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp -B/b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp/usr/bin -O2 -pipe -fno-common -DNDEBUG -MD -MF.depend.mdconfig.o -MTmdconfig.o -std=gnu99 -Wno-format-zero-length -nobuiltininc -idirafter /usr/lib/clang/16/include -Qunused-arguments -c /b/stable/14/src/sbin/mdconfig/mdconfig.c -o mdconfig.o --- all_subdir_sbin/md5 --- 4 warnings generated. --- md5 --- cc -target x86_64-unknown-freebsd14.0 --sysroot=/b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp -B/b/stable/14/obj/b/stable/14/src/amd64.amd64/tmp/usr/bin -O2 -pipe -fno-common -DHAVE_CAPSICUM -DWITH_CASPER -DNDEBUG -std=gnu99 -Wno-format-zero-length -nobuiltininc -idirafter /usr/lib/clang/16/include -Qunused-arguments -Wl,-znorelro -static -o md5 md5.o -lmd -lcasper -lnv -lcap_fileargs -lnv ld: error: unable to find library -lcasper ld: error: unable to find library -lcap_fileargs cc: error: linker command failed with exit code 1 (use -v to see invocation) *** [md5] Error code 1 make[4]: stopped in /b/stable/14/src/sbin/md5 1 error I am tracking the build options here: https://callfortesting.org/results/bos-ci/ My apologies if this is a false positive. Michael