[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2741: improve the OS-X packages
Tahoe-LAFS
trac at tahoe-lafs.org
Mon Mar 28 00:49:47 UTC 2016
#2741: improve the OS-X packages
---------------------------+---------------------------
Reporter: warner | Owner: daira
Type: task | Status: new
Priority: normal | Milestone: undecided
Component: packaging | Version: 1.10.2
Resolution: | Keywords: mac packaging
Launchpad Bug: |
---------------------------+---------------------------
Old description:
> Our buildbot currently creates OS-X packages (.pkg installers) with each
> commit, but they're a bit disappointing. They install an icon to
> `/Applications/tahoe.app`, but clicking that icon only brings up a dialog
> box that tells you to run `tahoe` in a Terminal window. There is a
> `/Applications/tahoe.app/bin/tahoe` which can be run, but it's not in
> $PATH anywhere, so you have to type a lot or symlink it into a more
> useful directory.
>
> (also, the packages are completely broken after the tox/pip/virtualenv
> switchover, but I'm hoping to fix that before the release).
>
> The baseline fix would be to get `bin/tahoe` into a normal $PATH somehow.
> I don't know if applications packages can do that (CLI tools aren't a
> normal thing for .apps to offer). I've seen GitX and some XCode tools
> offer an `Enable Terminal Usage..` menu item (which writes things into
> `/usr/local/bin`): maybe we could change the stub `tahoe.app` launcher to
> offer a similar option.
>
> The longer-term fix would be to add a real launcher application. I don't
> think we have to go so far as to write a fully-native OS-X frontend for
> Tahoe. But I'd like something that behaves like the CouchDB launcher: a
> "Statusbar app", which adds a single icon to the top-of-the-screen menu
> (over by the wifi and clock icons). This icon leads to a drop-down menu
> with a few options: "Launch Daemon", "Open Web", and "Quit".
>
> It would probably need a "Create Client" option which leads to a short
> dialog (maybe driven by a web page) that lets you paste in the
> introducer.furl and pick a client nickname, then creates your `~/.tahoe/`
> directory. Then start/stop/open map directly to `tahoe start`, `tahoe
> stop`, and `tahoe webopen`. Maybe throw in a rootcap/alias.
>
> [https://github.com/jaredks/rumps RUMPS] is a library that would probably
> make this easier.
>
> Eventually it would be nice to have a proper setup application, so
> getting started with Tahoe felt nicer and more polished.
New description:
Our buildbot currently creates OS-X packages (.pkg installers) with each
commit, but they're a bit disappointing. They install an icon to
`/Applications/tahoe.app`, but clicking that icon only brings up a dialog
box that tells you to run `tahoe` in a Terminal window. There is a
`/Applications/tahoe.app/bin/tahoe` which can be run, ~~but it's not in
$PATH anywhere, so you have to type a lot or symlink it into a more useful
directory~~ (edit: and it will be on the $PATH of new shells if your
.bashrc doesn't override it).
~~(also, the packages are completely broken after the tox/pip/virtualenv
switchover, but I'm hoping to fix that before the release).~~
The baseline fix would be to get `bin/tahoe` into a normal $PATH somehow.
I don't know if applications packages can do that (CLI tools aren't a
normal thing for .apps to offer). I've seen GitX and some XCode tools
offer an `Enable Terminal Usage..` menu item (which writes things into
`/usr/local/bin`): maybe we could change the stub `tahoe.app` launcher to
offer a similar option.
The longer-term fix would be to add a real launcher application. I don't
think we have to go so far as to write a fully-native OS-X frontend for
Tahoe. But I'd like something that behaves like the CouchDB launcher: a
"Statusbar app", which adds a single icon to the top-of-the-screen menu
(over by the wifi and clock icons). This icon leads to a drop-down menu
with a few options: "Launch Daemon", "Open Web", and "Quit".
It would probably need a "Create Client" option which leads to a short
dialog (maybe driven by a web page) that lets you paste in the
introducer.furl and pick a client nickname, then creates your `~/.tahoe/`
directory. Then start/stop/open map directly to `tahoe start`, `tahoe
stop`, and `tahoe webopen`. Maybe throw in a rootcap/alias.
[https://github.com/jaredks/rumps RUMPS] is a library that would probably
make this easier.
Eventually it would be nice to have a proper setup application, so getting
started with Tahoe felt nicer and more polished.
--
Comment (by warner):
I fixed the installer: the current one should be functional.
I see that the installer adds `/Applications/tahoe.app/bin/` to
`/etc/paths.d/tahoe`, and if I start a new shell, that shows up in $PATH.
(I didn't see this earlier because my .bashrc overrode $PATH entirely).
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2741#comment:2>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list