diff --git a/Assistant/Install.hs b/Assistant/Install.hs index 72a511736c..d2bd2c5456 100644 --- a/Assistant/Install.hs +++ b/Assistant/Install.hs @@ -16,6 +16,9 @@ import Utility.OSX import System.Posix.Env +standaloneOSXAppBase :: IO (Maybe FilePath) +standaloneOSXAppBase = getEnv "GIT_ANNEX_OSX_APP_BASE" + {- The OSX git-annex.app does not have an installation process. - So when it's run, it needs to set up autostarting of the assistant - daemon, as well as writing the programFile, and putting a @@ -25,11 +28,10 @@ import System.Posix.Env - it around, the paths this sets up won't break. -} ensureInstalled :: IO () -ensureInstalled = do - e <- getEnv "GIT_ANNEX_OSX_APP_BASE" - case e of - Nothing -> return () - Just base -> do +ensureInstalled = go =<< standaloneOSXAppBase + where + go Nothing = noop + go (Just base) = do let program = base ++ "/bin/git-annex" programfile <- programFile createDirectoryIfMissing True (parentDir programfile) diff --git a/Assistant/WebApp/Documentation.hs b/Assistant/WebApp/Documentation.hs index e08cb82ae6..389298d88c 100644 --- a/Assistant/WebApp/Documentation.hs +++ b/Assistant/WebApp/Documentation.hs @@ -9,15 +9,36 @@ module Assistant.WebApp.Documentation where +import Assistant.Common import Assistant.WebApp import Assistant.WebApp.Types import Assistant.WebApp.SideBar +import Assistant.Install (standaloneOSXAppBase) import Utility.Yesod import Yesod +{- The full license info may be included in a file on disk that can + - be read in and displayed. -} +licenseFile :: IO (Maybe FilePath) +licenseFile = do + base <- standaloneOSXAppBase + return $ (> "LICENSE") <$> base + getAboutR :: Handler RepHtml getAboutR = bootstrap (Just About) $ do sideBarDisplay setTitle "About git-annex" + builtinlicense <- isJust <$> liftIO licenseFile $(widgetFile "documentation/about") + +getLicenseR :: Handler RepHtml +getLicenseR = do + v <- liftIO licenseFile + case v of + Nothing -> redirect AboutR + Just f -> bootstrap (Just About) $ do + sideBarDisplay + setTitle "License" + license <- liftIO $ readFile f + $(widgetFile "documentation/license") diff --git a/Assistant/WebApp/routes b/Assistant/WebApp/routes index 4eb2646587..dafe5aa4af 100644 --- a/Assistant/WebApp/routes +++ b/Assistant/WebApp/routes @@ -2,6 +2,7 @@ /noscript NoScriptR GET /noscript/auto NoScriptAutoR GET /about AboutR GET +/about/license LicenseR GET /config ConfigR GET /config/repository RepositoriesR GET diff --git a/Makefile b/Makefile index d4ac79e672..005ac70d7b 100644 --- a/Makefile +++ b/Makefile @@ -147,6 +147,7 @@ osxapp: $(bins) cp git-annex "$(OSXAPP_BASE)/bin/" strip "$(OSXAPP_BASE)/bin/git-annex" ln -sf git-annex "$(OSXAPP_BASE)/bin/git-annex-shell" + zcat doc/license/git-annex-osx.app-licences.gz > $(OSXAPP_DEST)/LICENSE for bin in $(THIRDPARTY_BINS); do \ cp "$$(which "$$bin")" "$(OSXAPP_BASE)/bin/" || echo "$$bin not available; skipping"; \ diff --git a/doc/license.mdwn b/doc/license.mdwn index 32906c365a..837fd8c3b9 100644 --- a/doc/license.mdwn +++ b/doc/license.mdwn @@ -10,5 +10,5 @@ not include this code, so remains GPLed. git-annex contains a variety of other code, artwork, etc copyright by others, under a variety of licences, including the [[LGPL]], BSD, -MIT, and Apache 2.0 license. For a detailed overview, and pointers to the -full licenses of these components, see the COPYRIGHT file in the source. +MIT, and Apache 2.0 licenses. For details, see +[this file](http://source.git-annex.branchable.com/?p=source.git;a=blob_plain;f=debian/copyright;hb=HEAD). diff --git a/doc/license/git-annex-osx.app-licences.gz b/doc/license/git-annex-osx.app-licences.gz new file mode 100644 index 0000000000..aa4923dd5a Binary files /dev/null and b/doc/license/git-annex-osx.app-licences.gz differ diff --git a/templates/documentation/about.hamlet b/templates/documentation/about.hamlet index 97007b8f6d..3259100612 100644 --- a/templates/documentation/about.hamlet +++ b/templates/documentation/about.hamlet @@ -10,8 +10,17 @@
- Its development was made possible by #
+ Development git-annex was made possible by #
many excellent people
.
diff --git a/templates/documentation/license.hamlet b/templates/documentation/license.hamlet
new file mode 100644
index 0000000000..2b12b97bdc
--- /dev/null
+++ b/templates/documentation/license.hamlet
@@ -0,0 +1,2 @@
+
+ #{license}