[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