version: Added "dependency versions" line.

This commit was sponsored by Anthony DeRobertis on Patreon.
This commit is contained in:
Joey Hess 2017-04-07 18:03:09 -04:00
parent 2ad7a3e1ff
commit e3184e54c9
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
7 changed files with 47 additions and 6 deletions

View file

@ -12,7 +12,7 @@ module Assistant.WebApp.Documentation where
import Assistant.WebApp.Common
import Assistant.Install (standaloneAppBase)
import Build.SysConfig (packageversion)
import BuildFlags
import BuildInfo
{- The full license info may be included in a file on disk that can
- be read in and displayed. -}

View file

@ -1,13 +1,16 @@
{- git-annex build flags reporting
{- git-annex build info reporting
-
- Copyright 2013 Joey Hess <id@joeyh.name>
- Copyright 2013-2017 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
{-# LANGUAGE CPP #-}
module BuildFlags where
module BuildInfo where
import Data.List
import qualified Data.CaseInsensitive as CI
buildFlags :: [String]
buildFlags = filter (not . null)
@ -79,3 +82,32 @@ buildFlags = filter (not . null)
, "Feeds"
, "Quvi"
]
-- Not a complete list, let alone a listing transitive deps, but only
-- the ones that are often interesting to know.
dependencyVersions :: [String]
dependencyVersions = map fmt $ sortOn (CI.mk . fst)
[ ("feed", VERSION_feed)
, ("uuid", VERSION_uuid)
, ("bloomfilter", VERSION_bloomfilter)
, ("http-client", VERSION_http_client)
, ("persistent-sqlite", VERSION_persistent_sqlite)
, ("cryptonite", VERSION_cryptonite)
#ifdef WITH_S3
, ("aws", VERSION_aws)
#endif
#ifdef WITH_WEBDAV
, ("DAV", VERSION_DAV)
#endif
#ifdef WITH_TORRENTPARSER
, ("torrent", VERSION_torrent)
#endif
#ifdef WITH_WEBAPP
, ("yesod", VERSION_yesod)
#endif
#ifdef TOOL_VERSION_ghc
, ("ghc", TOOL_VERSION_ghc)
#endif
]
where
fmt (p, v) = p ++ "-" ++ v

View file

@ -20,6 +20,7 @@ git-annex (6.20170322) UNRELEASED; urgency=medium
* gcrypt: Support re-enabling to change eg, encryption parameters.
This was never supported before.
* git annex add -u now supported, analagous to git add -u
* version: Added "dependency versions" line.
-- Joey Hess <id@joeyh.name> Wed, 29 Mar 2017 12:41:46 -0400

View file

@ -10,7 +10,7 @@ module Command.Version where
import Command
import qualified Build.SysConfig as SysConfig
import Annex.Version
import BuildFlags
import BuildInfo
import Types.Key
import qualified Types.Backend as B
import qualified Types.Remote as R
@ -63,6 +63,7 @@ showPackageVersion :: IO ()
showPackageVersion = do
vinfo "git-annex version" SysConfig.packageversion
vinfo "build flags" $ unwords buildFlags
vinfo "dependency versions" $ unwords dependencyVersions
vinfo "key/value backends" $ unwords $
map (formatKeyVariety . B.backendVariety) Backend.list
vinfo "remote types" $ unwords $ map R.typename Remote.remoteTypes

View file

@ -15,3 +15,9 @@ It would show:
build flags: ...etc... TorrentParser-1.2.1 Feeds-2.3.1 Quvi-1.0.0
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
> Well, I think better not to complicate the build flags list, which the
> user may want to refer to, with this. Also, there should be a way to
> indicate versions for libraries that don't have a build flag, when the
> version is a common question. So, let's add it as a separate line of
> data. [[done]] --[[Joey]]

View file

@ -664,7 +664,7 @@ Executable git-annex
Build.Standalone
Build.TestConfig
Build.Version
BuildFlags
BuildInfo
CmdLine
CmdLine.Action
CmdLine.Batch

View file

@ -32,3 +32,4 @@
Version: #{packageversion}
<br>
Build flags: #{unwords buildFlags}
Dependency versions: #{unwords dependencyVersions}