mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-24 15:16:41 +00:00
Merge branch 'fix-osx-pkg'
This commit is contained in:
commit
d5c34d46bc
23
docs/OS-X.rst
Normal file
23
docs/OS-X.rst
Normal file
@ -0,0 +1,23 @@
|
||||
==============
|
||||
OS-X Packaging
|
||||
==============
|
||||
|
||||
Pre-built Tahoe-LAFS ".pkg" installers for OS-X are generated with each
|
||||
source-code commit. These installers offer an easy way to get Tahoe and all
|
||||
its dependencies installed on your Mac. They do not yet provide a
|
||||
double-clickable application: after installation, you will have a "tahoe"
|
||||
command-line tool, which you can use from a shell (a Terminal window) just as
|
||||
if you'd installed from source.
|
||||
|
||||
Installers are available from this directory:
|
||||
|
||||
https://tahoe-lafs.org/source/tahoe-lafs/tarballs/OS-X-packages/
|
||||
|
||||
Download the latest .pkg file to your computer and double-click on it. This
|
||||
will install to /Applications/tahoe.app, however the app icon there is not
|
||||
how you use Tahoe (launching it will get you a dialog box with a reminder to
|
||||
use Terminal). `/Applications/tahoe.app/bin/tahoe` is the executable. You can
|
||||
symlink this to /usr/local/bin/ or ~/bin/ to make it more convenient to run.
|
||||
|
||||
Tahoe-LAFS can also be installed on OS-X with pip, as described in the
|
||||
README.
|
@ -1,22 +1,52 @@
|
||||
#!/bin/sh
|
||||
|
||||
APPNAME=$1
|
||||
VERSION=`sh -c "cat src/allmydata/_version.py | grep verstr | head -n 1 | cut -d' ' -f 3" | sed "s/'//g"`
|
||||
PWD=`pwd`
|
||||
TARGET="/Applications/tahoe.app"
|
||||
|
||||
# The editing of allmydata-tahoe.egg-link and easy-install.pth files
|
||||
# (*in-place*) ensures that we reference the source at the correct path,
|
||||
# removing the hard-coded local source tree directory names.
|
||||
#
|
||||
find support -name $APPNAME.egg-link -execdir sh -c "echo >> {}; echo /Applications/tahoe.app/src >> {}" \;
|
||||
find support -name easy-install.pth -execdir sed -i.bak 's|^.*/src$|../../../../src|' '{}' \;
|
||||
virtualenv osx-venv
|
||||
osx-venv/bin/pip install .
|
||||
|
||||
# The virtualenv contains all the dependencies we need, but the bin/python
|
||||
# itself is not useful, nor is having it as the shbang line in the generated
|
||||
# bin/tahoe executable. Replace bin/tahoe with a form that explicitly sets
|
||||
# sys.path to the target directory (/Applications/tahoe.app). This isn't as
|
||||
# isolated as a proper virtualenv would be (the system site-packages
|
||||
# directory will still appear later in sys.path), but I think it ought to
|
||||
# work.
|
||||
|
||||
rm osx-venv/bin/*
|
||||
cat >osx-venv/bin/tahoe <<EOF
|
||||
#!/usr/bin/env python
|
||||
import sys, os.path
|
||||
up = os.path.dirname
|
||||
bintahoe = os.path.abspath(__file__)
|
||||
appdir = up(up(bintahoe))
|
||||
sitedir = os.path.join(appdir, "lib", "python2.7", "site-packages")
|
||||
# usually "/Applications/tahoe.app/lib/python2.7/site-packages"
|
||||
sys.path.insert(0, sitedir)
|
||||
from allmydata.scripts.runner import run
|
||||
run()
|
||||
EOF
|
||||
chmod +x osx-venv/bin/tahoe
|
||||
|
||||
# The venv has a .pth file which allows "import zope.interface" to work even
|
||||
# though "zope" isn't really a package (it has no __init__.py). The venv's
|
||||
# python has this site-packages/ on sys.path early enough to process the .pth
|
||||
# file, and running tahoe with PYTHONPATH=...site-packages would also process
|
||||
# it, but a simple sys.path.insert doesn't. This is the simplest hack I could
|
||||
# find to fix it.
|
||||
|
||||
touch osx-venv/lib/python2.7/site-packages/zope/__init__.py
|
||||
|
||||
cp -r $PWD/misc/build_helpers/osx/Contents osx-venv/Contents
|
||||
|
||||
# create component pkg
|
||||
pkgbuild --root "$PWD" \
|
||||
pkgbuild --root osx-venv \
|
||||
--identifier com.leastauthority.tahoe \
|
||||
--version "$VERSION" \
|
||||
--ownership recommended \
|
||||
--install-location /Applications/tahoe.app \
|
||||
--install-location $TARGET \
|
||||
--scripts "$PWD/misc/build_helpers/osx/scripts" \
|
||||
tahoe-lafs.pkg
|
||||
|
||||
|
Before Width: | Height: | Size: 362 B After Width: | Height: | Size: 362 B |
@ -32,14 +32,16 @@
|
||||
<pkg-ref id="com.leastauthority.tahoe" version="1.10.0" auth="Root">tahoe-lafs.pkg</pkg-ref>
|
||||
|
||||
<license language="en" mime-type="text/plain"><![CDATA[
|
||||
Copyright 2006-2014 The Tahoe-LAFS Software Foundation
|
||||
Copyright 2006-2016 The Tahoe-LAFS Software Foundation
|
||||
|
||||
You may use this package under the GNU General Public License, version 2 or, at
|
||||
your option, any later version. You may use this package under the Transitive
|
||||
Grace Period Public Licence, version 1.0, or at your option, any later
|
||||
version. (You may choose to use this package under the terms of either licence,
|
||||
at your option.) See the file 'COPYING.GPL' for the terms of the GNU General
|
||||
Public License, version 2. See the file 'COPYING.TGPPL.rst' for the terms of
|
||||
the Transitive Grace Period Public Licence, version 1.0.
|
||||
You may use this package under the GNU General Public License,
|
||||
version 2 or, at your option, any later version. You may use
|
||||
this package under the Transitive Grace Period Public Licence,
|
||||
version 1.0, or at your option, any later version. (You may
|
||||
choose to use this package under the terms of either licence,
|
||||
at your option.) See the file 'COPYING.GPL' for the terms of
|
||||
the GNU General Public License, version 2. See the file
|
||||
'COPYING.TGPPL.rst' for the terms of the Transitive Grace
|
||||
Period Public Licence, version 1.0.
|
||||
]]></license>
|
||||
</installer-script>
|
||||
|
Loading…
Reference in New Issue
Block a user