From: stephan Date: Sat, 22 Mar 2025 18:41:48 +0000 (+0000) Subject: In the post-configure validation, ensure than no more than one autosetup/lib/*.auto... X-Git-Tag: major-release~162 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bf698fd69dcdf5f7a9a21b20549331101eef8fce;p=thirdparty%2Fsqlite.git In the post-configure validation, ensure than no more than one autosetup/lib/*.auto file is found, for reasons explained in the validation's error message. FossilOrigin-Name: 50bbd69a684988a1df4c9c7616b76ae62bc4eb755cde18616de58aa0880fd4a7 --- diff --git a/autosetup/sqlite-config.tcl b/autosetup/sqlite-config.tcl index 0ead4cd77e..55c2c0f8d8 100644 --- a/autosetup/sqlite-config.tcl +++ b/autosetup/sqlite-config.tcl @@ -11,7 +11,7 @@ if {[string first " " $autosetup(builddir)] != -1} { user-error "The pathname of the build directory\ may not contain space characters" } - +#parray ::autosetup; exit 0 use proj # # We want the package version info to be emitted early on, but doing @@ -1634,7 +1634,12 @@ proc sqlite-process-dot-in-files {} { # 1) Ensure that no unresolved @VAR@ placeholders are in files which # use those. # -# 2) TBD +# 2) Ensure that no more than one autosetup/lib/*.auto file is found. +# Those are used for vendor-branch-specific customization of the +# configure process (see autosetup/README.md#branch-customization) +# and having more than one can lead to subtle errors. +# +# 3) TBD proc sqlite-post-config-validation {} { # Check #1: ensure that files which get filtered for @VAR@ do not # contain any unresolved @VAR@ refs. That may indicate an @@ -1652,6 +1657,32 @@ proc sqlite-post-config-validation {} { incr lnno } } + + # Check #2: ensure that no more than one autosetup/lib/*.auto file + # is found. + set libdir $::autosetup(libdir) + set li [glob -nocomplain $libdir/lib/*.auto] + if {[llength $li] > 1} { + puts stderr "Configuration validation error:" + proj-indented-notice -error [subst { + Multiple $libdir/lib/*.auto files found: + + $li + + This probably means one of the following: + + 1) Multiple vendor branches have been merged together, each with + their own configure-script customizations. They will be loaded + and applied in an unpredictable order, so the tree should have, + at most one lib/*.auto file, conventionally named after the + current vendor branch. + + 2) It can also mean that files have been left lying around from + another branch after doing "fossil update", in which case they + can all be deleted, then do "fossil update" again to replace + only the intended one (if any). + }] + } } ######################################################################## diff --git a/manifest b/manifest index e4841c914e..92ae29cb4c 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Slight\scorrections\sto\sthe\snew\sdocs\sin\sautosetup/README.md. -D 2025-03-22T17:56:20.782 +C In\sthe\spost-configure\svalidation,\sensure\sthan\sno\smore\sthan\sone\sautosetup/lib/*.auto\sfile\sis\sfound,\sfor\sreasons\sexplained\sin\sthe\svalidation's\serror\smessage. +D 2025-03-22T18:41:48.016 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d @@ -50,7 +50,7 @@ F autosetup/cc.tcl c0fcc50ca91deff8741e449ddad05bcd08268bc31177e613a6343bbd1fd3e F autosetup/jimsh0.c a57c16e65dcffc9c76e496757cb3f7fb47e01ecbd1631a0a5e01751fc856f049 F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba F autosetup/proj.tcl 49faf960df88a374686234105def663dbfc297ab79c87686df0a0b973dd77018 -F autosetup/sqlite-config.tcl 9d4ccbfd24f97be0e7e2be05a211700033521fc1d8d3bab40c1e923028e56e6c +F autosetup/sqlite-config.tcl 7349901814106dee86ee2b9daf68afd26c13f7f92be69ffda9f6fdc7aedc442e F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9 F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3 @@ -2216,8 +2216,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P b0c7800b0106e90cb7bf7e5d9f48d21f9b058eff6e42339a1621d713ab2dd03c -R 04399760b25701e54cab662a55267fa0 +P 55029e41e03d9b61b8a53f86d7f69afe71459846f3a1a1723f6934e0d37ca77f +R f7433d2d6b9b7224d419751c11759d8c U stephan -Z b23822ed77b6b288de67fa220f936c97 +Z ce4dace35b5c51a050a3591235a1b475 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 8958a86852..1be3a9acb3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -55029e41e03d9b61b8a53f86d7f69afe71459846f3a1a1723f6934e0d37ca77f +50bbd69a684988a1df4c9c7616b76ae62bc4eb755cde18616de58aa0880fd4a7