Fossil SCM
Back out the previous change. Instead, raise an error if either the source tree or the build directory pathname contains any space characters.
Commit
b9f57f50de8b69c5a3ac8ce2f164a1bc736e46d327663318c2ecaf0b25d70f87
Parent
da7092cc9312d72…
2 files changed
+2
-15
+14
+2
-15
| --- Makefile.in | ||
| +++ Makefile.in | ||
| @@ -121,26 +121,13 @@ | ||
| 121 | 121 | # but Makefile won't change, so we'll reconfig but... endlessly. |
| 122 | 122 | # |
| 123 | 123 | # This is also why we repeat the reconfig target's command here instead |
| 124 | 124 | # of delegating to it with "$(MAKE) reconfig": having children running |
| 125 | 125 | # around interfering makes this failure mode even worse. |
| 126 | -# | |
| 127 | -# 2025-01-27: The @AUTODEP@ macro in autosetup is broken for source trees | |
| 128 | -# that contain space charater in their path. So don't use it. The | |
| 129 | -# FOSSIL_AUTODEP macro is manual coded to be the autosetup dependencies. | |
| 130 | -# FOSSIL_AUTODEP might need to be adjusted if autosetup changes. | |
| 131 | -# | |
| 132 | -FOSSIL_AUTODEP = \ | |
| 133 | - $(TOPDIR)/auto.def \ | |
| 134 | - $(TOPDIR)/autosetup/autosetup \ | |
| 135 | - $(TOPDIR)/autosetup/local.tcl \ | |
| 136 | - $(TOPDIR)/autosetup/system.tcl \ | |
| 137 | - $(TOPDIR)/autosetup/cc.tcl \ | |
| 138 | - $(TOPDIR)/autosetup/cc-lib.tcl | |
| 139 | -Makefile: $(TOPDIR)/Makefile.in $(SRCDIR)/main.mk $(FOSSIL_AUTODEP) | |
| 126 | +Makefile: @srcdir@/Makefile.in $(SRCDIR)/main.mk @AUTODEPS@ | |
| 140 | 127 | @AUTOREMAKE@ |
| 141 | - touch Makefile | |
| 128 | + touch @builddir@/Makefile | |
| 142 | 129 | |
| 143 | 130 | # Container stuff |
| 144 | 131 | SRCTB := src-@[email protected] |
| 145 | 132 | IMGVER := fossil:@FOSSIL_CI_PFX@ |
| 146 | 133 | CNTVER := fossil-@FOSSIL_CI_PFX@ |
| 147 | 134 |
| --- Makefile.in | |
| +++ Makefile.in | |
| @@ -121,26 +121,13 @@ | |
| 121 | # but Makefile won't change, so we'll reconfig but... endlessly. |
| 122 | # |
| 123 | # This is also why we repeat the reconfig target's command here instead |
| 124 | # of delegating to it with "$(MAKE) reconfig": having children running |
| 125 | # around interfering makes this failure mode even worse. |
| 126 | # |
| 127 | # 2025-01-27: The @AUTODEP@ macro in autosetup is broken for source trees |
| 128 | # that contain space charater in their path. So don't use it. The |
| 129 | # FOSSIL_AUTODEP macro is manual coded to be the autosetup dependencies. |
| 130 | # FOSSIL_AUTODEP might need to be adjusted if autosetup changes. |
| 131 | # |
| 132 | FOSSIL_AUTODEP = \ |
| 133 | $(TOPDIR)/auto.def \ |
| 134 | $(TOPDIR)/autosetup/autosetup \ |
| 135 | $(TOPDIR)/autosetup/local.tcl \ |
| 136 | $(TOPDIR)/autosetup/system.tcl \ |
| 137 | $(TOPDIR)/autosetup/cc.tcl \ |
| 138 | $(TOPDIR)/autosetup/cc-lib.tcl |
| 139 | Makefile: $(TOPDIR)/Makefile.in $(SRCDIR)/main.mk $(FOSSIL_AUTODEP) |
| 140 | @AUTOREMAKE@ |
| 141 | touch Makefile |
| 142 | |
| 143 | # Container stuff |
| 144 | SRCTB := src-@[email protected] |
| 145 | IMGVER := fossil:@FOSSIL_CI_PFX@ |
| 146 | CNTVER := fossil-@FOSSIL_CI_PFX@ |
| 147 |
| --- Makefile.in | |
| +++ Makefile.in | |
| @@ -121,26 +121,13 @@ | |
| 121 | # but Makefile won't change, so we'll reconfig but... endlessly. |
| 122 | # |
| 123 | # This is also why we repeat the reconfig target's command here instead |
| 124 | # of delegating to it with "$(MAKE) reconfig": having children running |
| 125 | # around interfering makes this failure mode even worse. |
| 126 | Makefile: @srcdir@/Makefile.in $(SRCDIR)/main.mk @AUTODEPS@ |
| 127 | @AUTOREMAKE@ |
| 128 | touch @builddir@/Makefile |
| 129 | |
| 130 | # Container stuff |
| 131 | SRCTB := src-@[email protected] |
| 132 | IMGVER := fossil:@FOSSIL_CI_PFX@ |
| 133 | CNTVER := fossil-@FOSSIL_CI_PFX@ |
| 134 |
M
auto.def
+14
| --- auto.def | ||
| +++ auto.def | ||
| @@ -44,10 +44,24 @@ | ||
| 44 | 44 | # to compare the one they have against the minimum required |
| 45 | 45 | if {[opt-bool print-minimum-sqlite-version]} { |
| 46 | 46 | puts [get-define MINIMUM_SQLITE_VERSION] |
| 47 | 47 | exit 0 |
| 48 | 48 | } |
| 49 | + | |
| 50 | +# Space characters have never been allowed in either the source | |
| 51 | +# tree nor the build directory. But the resulting error messages | |
| 52 | +# could be confusing. The following checks make the reason for the | |
| 53 | +# failure clear. | |
| 54 | +# | |
| 55 | +if {[string first " " $autosetup(srcdir)] != -1} { | |
| 56 | + user-error "The pathname of the source tree\ | |
| 57 | + may not contain space characters" | |
| 58 | +} | |
| 59 | +if {[string first " " $autosetup(builddir)] != -1} { | |
| 60 | + user-error "The pathname of the build directory\ | |
| 61 | + may not contain space characters" | |
| 62 | +} | |
| 49 | 63 | |
| 50 | 64 | set outOfTreeBuild 0 |
| 51 | 65 | if {![file exists fossil.1]} { |
| 52 | 66 | puts "This appears to be an out-of-tree build." |
| 53 | 67 | set outOfTreeBuild 1 |
| 54 | 68 |
| --- auto.def | |
| +++ auto.def | |
| @@ -44,10 +44,24 @@ | |
| 44 | # to compare the one they have against the minimum required |
| 45 | if {[opt-bool print-minimum-sqlite-version]} { |
| 46 | puts [get-define MINIMUM_SQLITE_VERSION] |
| 47 | exit 0 |
| 48 | } |
| 49 | |
| 50 | set outOfTreeBuild 0 |
| 51 | if {![file exists fossil.1]} { |
| 52 | puts "This appears to be an out-of-tree build." |
| 53 | set outOfTreeBuild 1 |
| 54 |
| --- auto.def | |
| +++ auto.def | |
| @@ -44,10 +44,24 @@ | |
| 44 | # to compare the one they have against the minimum required |
| 45 | if {[opt-bool print-minimum-sqlite-version]} { |
| 46 | puts [get-define MINIMUM_SQLITE_VERSION] |
| 47 | exit 0 |
| 48 | } |
| 49 | |
| 50 | # Space characters have never been allowed in either the source |
| 51 | # tree nor the build directory. But the resulting error messages |
| 52 | # could be confusing. The following checks make the reason for the |
| 53 | # failure clear. |
| 54 | # |
| 55 | if {[string first " " $autosetup(srcdir)] != -1} { |
| 56 | user-error "The pathname of the source tree\ |
| 57 | may not contain space characters" |
| 58 | } |
| 59 | if {[string first " " $autosetup(builddir)] != -1} { |
| 60 | user-error "The pathname of the build directory\ |
| 61 | may not contain space characters" |
| 62 | } |
| 63 | |
| 64 | set outOfTreeBuild 0 |
| 65 | if {![file exists fossil.1]} { |
| 66 | puts "This appears to be an out-of-tree build." |
| 67 | set outOfTreeBuild 1 |
| 68 |