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.WebApp.Common
import Assistant.Install (standaloneAppBase) import Assistant.Install (standaloneAppBase)
import Build.SysConfig (packageversion) import Build.SysConfig (packageversion)
import BuildFlags import BuildInfo
{- The full license info may be included in a file on disk that can {- The full license info may be included in a file on disk that can
- be read in and displayed. -} - 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. - Licensed under the GNU GPL version 3 or higher.
-} -}
{-# LANGUAGE CPP #-} {-# LANGUAGE CPP #-}
module BuildFlags where module BuildInfo where
import Data.List
import qualified Data.CaseInsensitive as CI
buildFlags :: [String] buildFlags :: [String]
buildFlags = filter (not . null) buildFlags = filter (not . null)
@ -79,3 +82,32 @@ buildFlags = filter (not . null)
, "Feeds" , "Feeds"
, "Quvi" , "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. * gcrypt: Support re-enabling to change eg, encryption parameters.
This was never supported before. This was never supported before.
* git annex add -u now supported, analagous to git add -u * 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 -- 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 Command
import qualified Build.SysConfig as SysConfig import qualified Build.SysConfig as SysConfig
import Annex.Version import Annex.Version
import BuildFlags import BuildInfo
import Types.Key import Types.Key
import qualified Types.Backend as B import qualified Types.Backend as B
import qualified Types.Remote as R import qualified Types.Remote as R
@ -63,6 +63,7 @@ showPackageVersion :: IO ()
showPackageVersion = do showPackageVersion = do
vinfo "git-annex version" SysConfig.packageversion vinfo "git-annex version" SysConfig.packageversion
vinfo "build flags" $ unwords buildFlags vinfo "build flags" $ unwords buildFlags
vinfo "dependency versions" $ unwords dependencyVersions
vinfo "key/value backends" $ unwords $ vinfo "key/value backends" $ unwords $
map (formatKeyVariety . B.backendVariety) Backend.list map (formatKeyVariety . B.backendVariety) Backend.list
vinfo "remote types" $ unwords $ map R.typename Remote.remoteTypes 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 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 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 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.Standalone
Build.TestConfig Build.TestConfig
Build.Version Build.Version
BuildFlags BuildInfo
CmdLine CmdLine
CmdLine.Action CmdLine.Action
CmdLine.Batch CmdLine.Batch

View file

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