Some of the options in the new configure summary are confusing or incorrect. The configure summary was introduced in #31373 (moved).
Wrong place:
maybe --enable-systemd should be an optional library?
Agree.
Inverted, should be --enable-* :
--disable-seccomp
--disable-libscrypt
--disable-gcc-hardening ?
--disable-linker-hardening ?
--disable-module-dirauth
--disable-unittests
All these are enabled by default and thus why we put in the --disable. If one does autocompletion on ./configure --enable-, none of the above shows up.
Remove Double-Negative ? :
assert()s disabled (--disable-asserts-in-tests, dev only): no
assert()s enabled (--enable-asserts-in-tests, dev only): yes
Agree.
Broken:
--enable-gcc-warnings:
is not Verbose Warnings
is an alias for --enable-fatal-warnings, which is already listed
did you mean --disable-gcc-warnings-advisory ?
I did not realize it was an alias and it is deprecated. I will remove it.
--disable-asciidoc
also disables manpages and HTML, but they are shown as enabled
Added!
--enable-fragile-hardening
should be true if --enable-expensive-hardening is set, but is shown as false
Fixed.
Missing:
--disable-module-relay
That one is there.
please build the module feature summary from the list of modules in configure
Done.
--disable-asciidoc
Fixed.
--enable-lzma
--enable-zstd
--enable-cargo-online-mode
Added the above.
--with-tor-user=[user]
--with-tor-group=[group]
I have no clue where this is used. I can't find TORUSER or TORGROUP being used anywhere?
and a few others
and a whole bunch of env vars
For now this is a good improvement! We can add the rest as we notice them.
All these are enabled by default and thus why we put in the --disable. If one does autocompletion on ./configure --enable-, none of the above shows up.
Ok, but the output is still wrong:
test "x$enable_seccomp" != "xno" && value=1 || value=0PPRINT_PROP_BOOL([libseccomp (--disable-seccomp)], $value)
If enable_seccomp is yes, then value is 1, and we print --disable-seccomp yes.
But we should actually print one of these:
--enable-seccomp yes
--disable-seccomp no
I prefer the output without the double-negative.
But I can understand if you want to print the non-default option as well.
--with-tor-user=[user]
--with-tor-group=[group]
I have no clue where this is used. I can't find TORUSER or TORGROUP being used anywhere?
Maybe nickm can help?
and a few others
and a whole bunch of env vars
For now this is a good improvement! We can add the rest as we notice them.
Yes, I agree. A good summary doesn't need everything. Just the important and useful things.
I have no clue where this is used. I can't find TORUSER or TORGROUP being used anywhere?
Maybe nickm can help?
I can't find any evidence of these fields either. They used to be used by some of the scripts in contrib/dist, but all those scripts are now removed, since they were obsolete and unmaintained.
All these are enabled by default and thus why we put in the --disable. If one does autocompletion on ./configure --enable-, none of the above shows up.
If enable_seccomp is yes, then value is 1, and we print --disable-seccomp yes.
But we should actually print one of these:
--enable-seccomp yes
--disable-seccomp no
I prefer the output without the double-negative.
But I can understand if you want to print the non-default option as well.
Right, the string is hardcoded regardless of the value of the option. Basically, the --disable-seccomp is the configure option that is available, regardless if you enabled it or not.
The way to look at it is libseccomp = yes/no. The configure options there were added so the user knows how to switch the option on or off.
I agree it is confusing. We would need to handle different text output for each option depending on their values. Maybe another ticket?
Another way to look at it is that --enable-seccomp virtually doesn't exists, you either have no option which enables seccomp by default or you disable it with --disable.
I've tried for 5 min to add that value and the m4 world is not allowing me for some reasons. I think because the moon is unaligned and too much voodoo with autoconf/m4.......
I'll drop this for now, I can't spent more time on this :S.