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.

drh 2025-01-27 17:55 trunk
Commit b9f57f50de8b69c5a3ac8ce2f164a1bc736e46d327663318c2ecaf0b25d70f87
2 files changed +2 -15 +14
+2 -15
--- Makefile.in
+++ Makefile.in
@@ -121,26 +121,13 @@
121121
# but Makefile won't change, so we'll reconfig but... endlessly.
122122
#
123123
# This is also why we repeat the reconfig target's command here instead
124124
# of delegating to it with "$(MAKE) reconfig": having children running
125125
# 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@
140127
@AUTOREMAKE@
141
- touch Makefile
128
+ touch @builddir@/Makefile
142129
143130
# Container stuff
144131
SRCTB := src-@[email protected]
145132
IMGVER := fossil:@FOSSIL_CI_PFX@
146133
CNTVER := fossil-@FOSSIL_CI_PFX@
147134
--- 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
+14
--- auto.def
+++ auto.def
@@ -44,10 +44,24 @@
4444
# to compare the one they have against the minimum required
4545
if {[opt-bool print-minimum-sqlite-version]} {
4646
puts [get-define MINIMUM_SQLITE_VERSION]
4747
exit 0
4848
}
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
+}
4963
5064
set outOfTreeBuild 0
5165
if {![file exists fossil.1]} {
5266
puts "This appears to be an out-of-tree build."
5367
set outOfTreeBuild 1
5468
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button