Add OSX standalone app license bundle, and arrange for the About page

to link to it.
This commit is contained in:
Joey Hess 2012-09-27 16:47:52 -04:00
parent ad5b35026e
commit a02d6b36d8
8 changed files with 44 additions and 8 deletions

View file

@ -16,6 +16,9 @@ import Utility.OSX
import System.Posix.Env 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. {- 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 - So when it's run, it needs to set up autostarting of the assistant
- daemon, as well as writing the programFile, and putting a - 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. - it around, the paths this sets up won't break.
-} -}
ensureInstalled :: IO () ensureInstalled :: IO ()
ensureInstalled = do ensureInstalled = go =<< standaloneOSXAppBase
e <- getEnv "GIT_ANNEX_OSX_APP_BASE" where
case e of go Nothing = noop
Nothing -> return () go (Just base) = do
Just base -> do
let program = base ++ "/bin/git-annex" let program = base ++ "/bin/git-annex"
programfile <- programFile programfile <- programFile
createDirectoryIfMissing True (parentDir programfile) createDirectoryIfMissing True (parentDir programfile)

View file

@ -9,15 +9,36 @@
module Assistant.WebApp.Documentation where module Assistant.WebApp.Documentation where
import Assistant.Common
import Assistant.WebApp import Assistant.WebApp
import Assistant.WebApp.Types import Assistant.WebApp.Types
import Assistant.WebApp.SideBar import Assistant.WebApp.SideBar
import Assistant.Install (standaloneOSXAppBase)
import Utility.Yesod import Utility.Yesod
import 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 :: Handler RepHtml
getAboutR = bootstrap (Just About) $ do getAboutR = bootstrap (Just About) $ do
sideBarDisplay sideBarDisplay
setTitle "About git-annex" setTitle "About git-annex"
builtinlicense <- isJust <$> liftIO licenseFile
$(widgetFile "documentation/about") $(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")

View file

@ -2,6 +2,7 @@
/noscript NoScriptR GET /noscript NoScriptR GET
/noscript/auto NoScriptAutoR GET /noscript/auto NoScriptAutoR GET
/about AboutR GET /about AboutR GET
/about/license LicenseR GET
/config ConfigR GET /config ConfigR GET
/config/repository RepositoriesR GET /config/repository RepositoriesR GET

View file

@ -147,6 +147,7 @@ osxapp: $(bins)
cp git-annex "$(OSXAPP_BASE)/bin/" cp git-annex "$(OSXAPP_BASE)/bin/"
strip "$(OSXAPP_BASE)/bin/git-annex" strip "$(OSXAPP_BASE)/bin/git-annex"
ln -sf git-annex "$(OSXAPP_BASE)/bin/git-annex-shell" 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 \ for bin in $(THIRDPARTY_BINS); do \
cp "$$(which "$$bin")" "$(OSXAPP_BASE)/bin/" || echo "$$bin not available; skipping"; \ cp "$$(which "$$bin")" "$(OSXAPP_BASE)/bin/" || echo "$$bin not available; skipping"; \

View file

@ -10,5 +10,5 @@ not include this code, so remains GPLed.
git-annex contains a variety of other code, artwork, etc copyright by git-annex contains a variety of other code, artwork, etc copyright by
others, under a variety of licences, including the [[LGPL]], BSD, others, under a variety of licences, including the [[LGPL]], BSD,
MIT, and Apache 2.0 license. For a detailed overview, and pointers to the MIT, and Apache 2.0 licenses. For details, see
full licenses of these components, see the COPYRIGHT file in the source. [this file](http://source.git-annex.branchable.com/?p=source.git;a=blob_plain;f=debian/copyright;hb=HEAD).

Binary file not shown.

View file

@ -10,8 +10,17 @@
<hr> <hr>
git-annex is © 2010-2012 Joey Hess. It is free software, licensed # git-annex is © 2010-2012 Joey Hess. It is free software, licensed #
under the terms of the GNU General Public License, version 3 or above. # under the terms of the GNU General Public License, version 3 or above. #
This webapp is licensed under the terms of the GNU Affero General #
Public License, version 3 or above. #
For full license information, see #
$if builtinlicense
<a href="@{LicenseR}">
this page.
$else
<a href="http://git-annex.branchable.com/license">
this page.
<p> <p>
Its development was made possible by # Development git-annex was made possible by #
<a href="http://git-annex.branchable.com/assistant/thanks/"> <a href="http://git-annex.branchable.com/assistant/thanks/">
many excellent people many excellent people
. <i .icon-heart></i> . <i .icon-heart></i>

View file

@ -0,0 +1,2 @@
<pre>
#{license}