You are not logged in.

#1 2016-07-08 13:16:59

ptomusk
Member
Registered: 2016-07-06
Posts: 2

[REQUEST] spideroak-semaphor

SpiderOak Semaphor:
Zero knowledge collaboration tool
Semaphor helps teams improve their productivity by keeping members focused, informed, and connected. Teams can join group conversations, private message team members, share files, and install trusted third-party integrations knowing their privacy is protected at every step. Following the same privacy-centric design as all SpiderOak solutions, Semaphor uses a Zero Knowledge architecture that ensures nothing leaves a computer or mobile device until after it is encrypted and is never decrypted until it is unlocked with keys only located on individuals’ devices.

An article about the software:
A Secure Slack Alternative that Edward Snowden Would Love

Download links:
Pre-built RPM and DEB package
Source code for revision purposes

Semi-functional PKGBUILD:
Created with the debtap tool from the DEB package

pkgname = spideroak-semaphor
pkgver = 1.0.4-1
pkgdesc = Semaphor client for Linux. Semaphor helps teams improve their productivity by keeping members focused, informed, and connected. Teams can join group conversations, private message team members, share files, and install trusted third-party integrations knowing their privacy is protected at every step. Following the same privacy-centric design as all SpiderOak solutions, Semaphor uses a Zero Knowledge architecture that ensures nothing leaves a computer or mobile device until after it is encrypted and is never decrypted until it is unlocked with keys only located on individuals’ devices.
url = https://www.spideroak.com
builddate = 1467975615
packager = Your Name Here <address@domain.tld>
arch = x86_64
size = 145130482
license = custom:SpiderOak Proprietary Software License (https://spideroak.com/solutions/semaphor/app-licensing)
depend = bash-completion
depend = desktop-file-utils
depend = gconf
depend = git
depend = glibc
depend = gtk2
depend = gvfs
depend = hicolor-icon-theme
depend = libcap
depend = libgcrypt
depend = libgcrypt11
depend = libnotify
depend = libsystemd
depend = libudev0
depend = libxtst
depend = nss
depend = xdg-utils
optdepend = gir1.2-gnomekeyring-1.0
optdepend = libgnome-keyring
optdepend = lsb-release

The package installs, yet fails to run the program with an error
Shell:

[user@hostname]$ semaphor
Initializing generic platform support
2016/07/08 14:11:08 error: Couldn't set test value, keyring backend is invalid
2016/07/08 14:11:08 Error calling net.Listen: listen tcp: lookup localhost: no such host

Popup-window:

A JavaScript error occurred in the main process

Uncaught Exception:
TypeError: Cannot read property 'kill' of null
    at Timeout._onTimeout (/usr/share/semaphor/resources/app/glue.js:58:11)
    at tryOnTimeout (timers.js:224:11)
    at Timer.listOnTimeout (timers.js:198:5)

There is also no Arch package for gir1.2-gnomekeyring-1.0 (optional dependency) which may help in causing the error.

Last edited by ptomusk (2016-07-08 13:17:24)

Offline

#2 2016-07-08 13:27:47

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: [REQUEST] spideroak-semaphor

If you have the source code, I think you should compile the package from it instead of converting a debian package.
The libgnomekeyring package should already contain the gir data, so that isn't be the problem if you have the gnome keyring installed and set up.


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#3 2016-07-08 13:48:03

ptomusk
Member
Registered: 2016-07-06
Posts: 2

Re: [REQUEST] spideroak-semaphor

That's the trouble with the source code - it's not packaged in a way that would make it convenient to build a package off it. It seems that it's provided mainly for code-review purposes.
Maybe, if I were proficient in Go, I could piece together how the different components of the application are meant to work together and proceed from there, but at the moment it seems, that converting the DEB package could produce better results with less effort.
I originally also thought that having libgnomekeyring installed should suffice, alas it does not.

Offline

#4 2016-07-13 21:29:55

masquatch
Member
Registered: 2014-04-14
Posts: 1

Re: [REQUEST] spideroak-semaphor

I tried to make a PKGBUILD by following the structure from the spideroak-ONE package, but ended up with the same error as you, ptomusik. let me know if you have any success...

Offline

#5 2016-07-21 05:40:15

zandi
Member
Registered: 2016-07-21
Posts: 3

Re: [REQUEST] spideroak-semaphor

I started building a package from their provided rpm, but I've only as gotten as far as that error as well. I'm also a first time package builder, so there may be errors there as well.

Has anyone else gotten this running on arch? If so, some advice would be helpful.

Offline

#6 2016-09-13 01:27:50

zandi
Member
Registered: 2016-07-21
Posts: 3

Re: [REQUEST] spideroak-semaphor

Good news! I've got a PKGBUILD working, though it could certainly use some cleaning up. The "invalid keyring backend" error appears to be fixed in version 1.1.2, so I guess that was an issue with Semaphor itself, not a missing dependency. Some notes:

1) It should be possible to build from source, but the resulting package won't be "supported" by SpiderOak; if a user has an issue, they'll be expected to install from the distributed package and replicate the issue before seeking support from SpiderOak. I haven't tried, and it was mentioned there may be issues with javascript dependencies.

2) There doesn't appear to be a way to grab a specific version of the rpm/deb, just the latest one. This may be fixed later on, but it's unclear when. So, the resulting PKGBUILD will break and need to be updated when a new version is released. I'll need to do some digging and see if there's a pgp key and signature available for releases.

Here's my very poor PKGBUILD. It's not pretty, but it works for me. I haven't built a PKGBUILD for the community before, what improvements does this need?

# Maintainer: zandi <the.zandi@gmail.com>

# NOTE: the rpm has a version file in it, but this doesn't match the version of the package.
# Maybe later we can use the pkgver() function to fix this :/
pkgname=semaphor
pkgver=1.1.2
pkgrel=1
epoch=
pkgdesc="Client for SpiderOak's chat and collaboration tool providing end-to-end cryptography"
arch=('x86_64')
url="https://spideroak.com/solutions/semaphor"
license=('custom')
groups=()
depends=('libsodium' 'gtk2' 'alsa-lib' 'libnotify' 'gconf' 'libxtst' 'nss')
makedepends=()
checkdepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
changelog=
# spideroak doesn't give us a url w/ the version in it, it just feeds us the (probably) latest...
source=("${pkgname}-${pkgver}-${arch}.rpm::http://spideroak.com/releases/semaphor/linux")
noextract=()
sha256sums=('e9ddcc89380b318a4e6c356b5ddb3ca21b636d610d5ba6d45d02fe0f49aa53c0') # keep updated manually
validpgpkeys=()

package() {
	cp -R "${srcdir}/usr" "${pkgdir}"
	mkdir -p "${pkgdir}/usr/share/licenses/semaphor"
	cp "${srcdir}/usr/share/semaphor/LICENSE" "${pkgdir}/usr/share/licenses/semaphor/LICENSE" 
}

Offline

#7 2016-11-02 20:17:02

zandi
Member
Registered: 2016-07-21
Posts: 3

Re: [REQUEST] spideroak-semaphor

For anyone interested in actually getting this into the AUR, here's a repo where I'm tracking changes to my PKGBUILD, and accepting pull requests. It'll be the first time I've submit any kind of PKGBUILD to the AUR or for wider public use, so some peer review would be MUCH appreciated!

As noted in the repo, there's some packaging issues that cause headaches, but seem out of our control and need changes on Spideroak's side of things. Chiefly:
1. no apparent cryptographic digest/signature for the provided binary
2. static URL for different versions that always returns the latest.

Here's the repo: https://github.com/zandi/Semaphor-AUR

Offline

Board footer

Powered by FluxBB