sagemath/sage

build/make/install: Do not depend on src/bin/sage-version.sh

mkoeppe opened this issue · 14 comments

After #29411, we can simplify build/make/install a bit, no longer setting SAGE_VERSION via src/bin/sage-version.sh.

This also makes the generated Dockerfiles a little bit simpler.

find build -type f -exec fgrep  -nH -e sage-version.sh \{\} +
build/bin/sage-starts:12:. src/bin/sage-version.sh
build/bin/write-dockerfile.sh:160:ADD src/bin/sage-version.sh src/bin/sage-version.sh
build/make/install:22:. "$SAGE_SRC"/bin/sage-version.sh

find build -type f -exec grep  -nH -e SAGE_VERSION \{\} +
build/bin/sage-starts:13:echo "[`date +'%Y-%m-%d %H:%M:%S'`] $SAGE_VERSION_BANNER" | tee -a logs/start.log
build/make/install:23:export SAGE_VERSION

find src -type f -exec fgrep  -nH -e -version.sh \{\} +
src/bin/sage-update-version:48:# Update Sage version file for shell scripts in SAGE_SRC/bin/sage-version.sh
src/bin/sage-update-version:49:cat <<EOF > "$SAGE_SRC/bin/sage-version.sh"
src/bin/sage-update-version:67:    "$SAGE_SRC/bin/sage-version.sh" \
src/bin/sage-sdist:40:source "$SAGE_SRC/bin/sage-version.sh"
src/bin/sage:7:    if [ -f "$0-version.sh" ]; then
src/bin/sage:8:        . "$0-version.sh"
src/bin/sage:10:        . "$SAGE_ROOT/src/bin/sage-version.sh"
src/doc/en/developer/portability_testing.rst:349:  ADD src/bin/sage-version.sh src/bin/sage-version.sh
src/mac-app/Makefile:23:    SAGE_VERSION:=$(shell source ../bin/sage-version.sh && echo $$SAGE_VERSION)

Previous tickets:

  • #25150 (Eliminate dependence on VERSION.txt within Sage)
  • #17857 (enhanced sage -version script)

Depends on #29411

CC: @jhpalmieri @videlec @kliem

Component: build

Author: Matthias Koeppe

Branch/Commit: 539c182

Reviewer: John Palmieri

Issue created by migration from https://trac.sagemath.org/ticket/29987

Description changed:

--- 
+++ 
@@ -4,6 +4,11 @@
 build/bin/sage-starts:12:. src/bin/sage-version.sh
 build/bin/write-dockerfile.sh:160:ADD src/bin/sage-version.sh src/bin/sage-version.sh
 build/make/install:22:. "$SAGE_SRC"/bin/sage-version.sh
+
+find . -type f -exec grep  -nH -e SAGE_VERSION \{\} +
+./bin/sage-starts:13:echo "[`date +'%Y-%m-%d %H:%M:%S'`] $SAGE_VERSION_BANNER" | tee -a logs/start.log
+./make/install:23:export SAGE_VERSION
+./make/Makefile.in:339:		sage-logger -p 'time $(MAKE) sage' '$(SAGE_LOGS)/sagelib-$(SAGE_VERSION).log'; \
 
 find src -type f -exec fgrep  -nH -e -version.sh \{\} +
 src/bin/sage-update-version:48:# Update Sage version file for shell scripts in SAGE_SRC/bin/sage-version.sh

Dependencies: #29411

Description changed:

--- 
+++ 
@@ -8,7 +8,6 @@
 find . -type f -exec grep  -nH -e SAGE_VERSION \{\} +
 ./bin/sage-starts:13:echo "[`date +'%Y-%m-%d %H:%M:%S'`] $SAGE_VERSION_BANNER" | tee -a logs/start.log
 ./make/install:23:export SAGE_VERSION
-./make/Makefile.in:339:		sage-logger -p 'time $(MAKE) sage' '$(SAGE_LOGS)/sagelib-$(SAGE_VERSION).log'; \
 
 find src -type f -exec fgrep  -nH -e -version.sh \{\} +
 src/bin/sage-update-version:48:# Update Sage version file for shell scripts in SAGE_SRC/bin/sage-version.sh

Description changed:

--- 
+++ 
@@ -1,3 +1,6 @@
+After #29411, we can simplify `build/make/install` a bit, no longer setting SAGE_VERSION via `src/bin/sage-version.sh`.
+
+This also makes the generated `Dockerfile`s a little bit simpler.
 
 ```
 find build -type f -exec fgrep  -nH -e sage-version.sh \{\} +

Author: Matthias Koeppe

Description changed:

--- 
+++ 
@@ -8,9 +8,9 @@
 build/bin/write-dockerfile.sh:160:ADD src/bin/sage-version.sh src/bin/sage-version.sh
 build/make/install:22:. "$SAGE_SRC"/bin/sage-version.sh
 
-find . -type f -exec grep  -nH -e SAGE_VERSION \{\} +
-./bin/sage-starts:13:echo "[`date +'%Y-%m-%d %H:%M:%S'`] $SAGE_VERSION_BANNER" | tee -a logs/start.log
-./make/install:23:export SAGE_VERSION
+find build -type f -exec grep  -nH -e SAGE_VERSION \{\} +
+build/bin/sage-starts:13:echo "[`date +'%Y-%m-%d %H:%M:%S'`] $SAGE_VERSION_BANNER" | tee -a logs/start.log
+build/make/install:23:export SAGE_VERSION
 
 find src -type f -exec fgrep  -nH -e -version.sh \{\} +
 src/bin/sage-update-version:48:# Update Sage version file for shell scripts in SAGE_SRC/bin/sage-version.sh

Last 10 new commits:

5ac420bTrac #29345: fix some bashisms in sage-env's resolvelinks() function.
0a61795Trac #29345: don't force SHELL=bash any longer.
5db5318Trac #29345: remove "break" statements from AC_SEARCH_LIBS.
e810ad1Trac #29345: don't use sage's config.status for the lrcalc build.
93c9921Trac #29345: replace the function that populates the CVXOPT_* variables.
0e66a0aTrac #29345: add Dima's SPKG patches for ksh compatibility.
df3f05ebuild/make/Makefile.in [SCRIPT_PACKAGE_templ]: cd into the SPKG directory; adjust spkg-install scripts
5372065Merge branch 't/29793/script_packages_should_cd_into_the_spkg_directory' into t/29411/make_sagelib_a_script_package
cc30471build/bin/write-dockerfile.sh: Do not ADD removed file src/Makefile.in
539c182build/make/install: Do not depend on src/bin/sage-version.sh

Commit: 539c182

comment:8

Branch is 1 commit on top of #29411. Tests run at https://github.com/mkoeppe/sage/actions/runs/147135221

comment:10

Looks good.

Reviewer: John Palmieri

comment:11

Thanks!