summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/BuildVersion.hs6
-rw-r--r--Build/Configure.hs2
-rw-r--r--Build/Version.hs5
-rw-r--r--Makefile3
4 files changed, 11 insertions, 5 deletions
diff --git a/Build/BuildVersion.hs b/Build/BuildVersion.hs
new file mode 100644
index 000000000..0093f5b5b
--- /dev/null
+++ b/Build/BuildVersion.hs
@@ -0,0 +1,6 @@
+{- Outputs the version of git-annex that was built, for use by
+ - autobuilders. Note that this includes the git rev. -}
+
+import Build.Version
+
+main = putStr =<< getVersion
diff --git a/Build/Configure.hs b/Build/Configure.hs
index 116a44215..70cce74a5 100644
--- a/Build/Configure.hs
+++ b/Build/Configure.hs
@@ -17,7 +17,7 @@ import qualified Git.Version
tests :: [TestCase]
tests =
- [ TestCase "version" getVersion
+ [ TestCase "version" (Config "packageversion" . StringConfig <$> getVersion)
, TestCase "UPGRADE_LOCATION" getUpgradeLocation
, TestCase "git" $ requireCmd "git" "git --version >/dev/null"
, TestCase "git version" getGitVersion
diff --git a/Build/Version.hs b/Build/Version.hs
index 7ff2fe662..0bcb4a520 100644
--- a/Build/Version.hs
+++ b/Build/Version.hs
@@ -25,10 +25,10 @@ isReleaseBuild = isJust <$> catchMaybeIO (getEnv "RELEASE_BUILD")
-
- If git or a git repo is not available, or something goes wrong,
- or this is a release build, just use the version from the changelog. -}
-getVersion :: Test
+getVersion :: IO String
getVersion = do
changelogversion <- getChangelogVersion
- version <- ifM (isReleaseBuild)
+ ifM (isReleaseBuild)
( return changelogversion
, catchDefaultIO changelogversion $ do
let major = takeWhile (/= '.') changelogversion
@@ -40,7 +40,6 @@ getVersion = do
then return changelogversion
else return $ concat [ major, ".", autoversion ]
)
- return $ Config "packageversion" (StringConfig version)
getChangelogVersion :: IO String
getChangelogVersion = do
diff --git a/Makefile b/Makefile
index e56cd7cda..569254299 100644
--- a/Makefile
+++ b/Makefile
@@ -83,7 +83,8 @@ clean:
rm -rf tmp dist git-annex $(mans) configure *.tix .hpc \
doc/.ikiwiki html dist tags Build/SysConfig.hs build-stamp \
Setup Build/InstallDesktopFile Build/EvilSplicer \
- Build/Standalone Build/OSXMkLibs Build/LinuxMkLibs Build/DistributionUpdate \
+ Build/Standalone Build/OSXMkLibs Build/LinuxMkLibs \
+ Build/DistributionUpdate Build/BuildVersion \
git-union-merge .tasty-rerun-log
find . -name \*.o -exec rm {} \;
find . -name \*.hi -exec rm {} \;