diff options
author | Ben Gamari <ben@smart-cactus.org> | 2023-01-25 16:31:40 -0500 |
---|---|---|
committer | Matthew Pickering <matthewtpickering@gmail.com> | 2023-01-30 09:26:17 +0000 |
commit | 68d681174d7959a686e22f77f7cf0aad92f7f772 (patch) | |
tree | e0b8f7486247de25faac90599010b73c7e75dcbb | |
parent | 78c07219d5dad9730bbe3ec26ad22912ff22f058 (diff) | |
download | haskell-68d681174d7959a686e22f77f7cf0aad92f7f772.tar.gz |
configure: Always create the VERSION filewip/T22322
Teach the `configure` script to create the `VERSION` file.
This will serve as the stable interface to allow the user to determine
the version number of a working tree.
Fixes #22322.
-rw-r--r-- | .gitlab-ci.yml | 4 | ||||
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | hadrian/src/Rules/SourceDist.hs | 4 |
3 files changed, 4 insertions, 7 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8a616a71ad..c0c36c8f8b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -951,9 +951,6 @@ pages: ############################################################# -# TODO: MP: This way of determining the project version is sadly very slow. -# It seems overkill to have to setup a complete environment, and build hadrian to get -# it to generate a single file containing the version information. project-version: stage: packaging image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10:$DOCKER_REV" @@ -966,7 +963,6 @@ project-version: - sudo chown ghc:ghc -R . - .gitlab/ci.sh setup - .gitlab/ci.sh configure - - .gitlab/ci.sh run_hadrian VERSION - echo "ProjectVersion=$(cat VERSION)" > version.sh needs: [] diff --git a/configure.ac b/configure.ac index 9b4dc0b650..7ebdcad7ab 100644 --- a/configure.ac +++ b/configure.ac @@ -1214,6 +1214,9 @@ AC_CONFIG_FILES( distrib/configure.ac ]) +dnl Create the VERSION file, satisfying #22322. +printf "$ProjectVersion" > VERSION + AC_OUTPUT [ if test "$print_make_warning" = "true"; then diff --git a/hadrian/src/Rules/SourceDist.hs b/hadrian/src/Rules/SourceDist.hs index 640b06a47d..ce8d05e6a6 100644 --- a/hadrian/src/Rules/SourceDist.hs +++ b/hadrian/src/Rules/SourceDist.hs @@ -29,8 +29,6 @@ sourceDistRules = alternatives $ do archiveSourceTree prepareTree "GIT_COMMIT_ID" %> \fname -> writeFileChanged fname =<< setting ProjectGitCommitId - "VERSION" %> \fname -> - writeFileChanged fname =<< setting ProjectVersion -- Rules to download mingw tarballs let mingw_tarballs_stamp = "ghc-tarballs/mingw-w64/.mingw-w64.download.stamp" @@ -120,7 +118,7 @@ prepareTree dest = do out <- askWithResources [] (target (vanillaContext Stage1 compiler) (Git ListFiles) [] []) top <- topDirectory let files = ["GIT_COMMIT_ID", "VERSION"] ++ getFiles out - need ["GIT_COMMIT_ID", "VERSION"] + need ["GIT_COMMIT_ID"] forM_ files $ \source -> do let target = dest -/- source copyFileSourceDist (top -/- source) target |