summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2018-04-03 02:45:34 +0200
committerRuben Pollan <meskio@sindominio.net>2018-04-11 16:40:10 +0200
commit3169015c5f5eaed5f2ad48e486b1fe96e1eb6bbe (patch)
tree6394836b65afb6be4768504474964e677c75210a /pkg
parent309ea9c35743c11dd29d809e713274840fb0b145 (diff)
several fixes for riseupvpn snap
- move snap folder to root folder, to allow automated builds - install only polkit file outside of snap - change path of bitmask-root accordingly in bitmask - fix check for polkit file inside snap - change and document the algorithm for picking bitmask-root in linux - add LD_LIBRARY_PATH as an environment entry for bitmask-systray
Diffstat (limited to 'pkg')
-rw-r--r--pkg/riseupvpn/Makefile8
-rw-r--r--pkg/riseupvpn/README.rst20
-rwxr-xr-xpkg/riseupvpn/pack_installers34
-rw-r--r--pkg/riseupvpn/snap/.snapcraft/state3
-rw-r--r--pkg/riseupvpn/snap/gui/riseup-vpn.desktop15
-rw-r--r--pkg/riseupvpn/snap/gui/riseupvpn.svg80
-rwxr-xr-xpkg/riseupvpn/snap/hooks/remove7
-rw-r--r--pkg/riseupvpn/snap/snapcraft.yaml94
8 files changed, 28 insertions, 233 deletions
diff --git a/pkg/riseupvpn/Makefile b/pkg/riseupvpn/Makefile
index 58079cc6..6c0e5855 100644
--- a/pkg/riseupvpn/Makefile
+++ b/pkg/riseupvpn/Makefile
@@ -3,13 +3,13 @@
# We have to use classic confinement because it does not seem to be another way, at the moment,
# to use policykit.
-build: helpers
- # for speeding up build, see https://tribaal.io/making-lxd-fly-on-ubuntu-as-well.html
- sudo snapcraft cleanbuild
helpers:
./pack_installers
+build: helpers
+ # for speeding up build, see https://tribaal.io/making-lxd-fly-on-ubuntu-as-well.html
+ cd ../.. && sudo snapcraft cleanbuild
install:
- sudo snap install riseup-vpn_*.snap --dangerous --classic
+ cd ../.. && sudo snap install riseup-vpn_*.snap --dangerous --classic
uninstall:
sudo snap remove riseup-vpn
deps:
diff --git a/pkg/riseupvpn/README.rst b/pkg/riseupvpn/README.rst
index 085ffe39..29ced8f9 100644
--- a/pkg/riseupvpn/README.rst
+++ b/pkg/riseupvpn/README.rst
@@ -12,21 +12,25 @@ minimalistic systray written in golang https://0xacab.org/leap/bitmask-systray
that makes use of libappindicator for displaying notifications.
Currently, RiseupVPN is distributed as a snap package. It uses classic
-confinement because it needs to install bitmask-root in the system, and a
-polkit policy file so that bitmask-root and openvpn can be executed without
-asking user for permission each time.
+confinement because it needs to install a polkit policy file so that
+bitmask-root and openvpn can be executed without asking user for permission
+each time.
Usage
-----
-Until the snap package gets approved in the snap store, you can use the snap as follows::
+You can get the snap from the store::
- wget https://downloads.leap.se/RiseupVPN/linux/riseup-vpn_0.10.4_amd64.snap
sudo apt install snapd
- sudo snap install riseup-vpn_0.10.4_amd64.snap --dangerous --classic
+ sudo snap install riseup-vpn --classic
-That should have made a new application called RiseupVPN in your launchers.
-You can also launch it manually like this::
+If you want to build the local snap::
+
+ make build
+ sudo snap install riseup-vpn_*.snap --classic
+
+That should have added a new application called RiseupVPN in your desktop
+launchers. You can also launch it manually like this::
/snap/bin/riseup-vpn.launcher
diff --git a/pkg/riseupvpn/pack_installers b/pkg/riseupvpn/pack_installers
index eb3a08bb..629e4157 100755
--- a/pkg/riseupvpn/pack_installers
+++ b/pkg/riseupvpn/pack_installers
@@ -1,37 +1,27 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import os
import subprocess
from base64 import encodestring as encode
HELPDIR = '../../src/leap/bitmask/vpn/helpers/linux/'
-INSTALL = './snap/hooks/install'
+INSTALL = '../../snap/hooks/install'
+POLKIT_FILE = 'se.leap.bitmask.riseupvpn.policy'
-with open(os.path.join(HELPDIR, 'bitmask-root')) as bmroot:
- b64_bmroot = encode(bmroot.read())
-
-with open(os.path.join(HELPDIR, 'se.leap.bitmask.bundle.policy')) as polkit:
- b64_polkit = encode(polkit.read())
+with open(os.path.join(HELPDIR, POLKIT_FILE)) as polkit:
+ b64_polkit = encode(polkit.read().encode())
with open(INSTALL, 'w') as install:
- install.write('#!/usr/bin/env python\n')
+ install.write('#!/usr/bin/env python3\n')
install.write('# This helper installs bitmask-root and polkit policy file\n')
install.write('import subprocess\n')
install.write('from base64 import decodestring as decode\n')
install.write("""
-BMROOT = \"\"\"{bmroot}\"\"\"
-POLKIT = \"\"\"{polkit}\"\"\"
-BMROOT_DEST = "/usr/local/sbin/bitmask-root"
-with open(BMROOT_DEST, "w") as bmroot:
- lines = str(decode(BMROOT)).split("\\n")
- for i, line in enumerate(lines):
- bmroot.write(line)
- if i + 1 != len(lines):
- bmroot.write("\\n")
-with open('/usr/share/polkit-1/actions/se.leap.bitmask.bundle.policy', 'w') as polkit:
- lines = str(decode(POLKIT)).split("\\n")
+POLKIT = {polkit}
+
+with open('/usr/share/polkit-1/actions/{polkit_file}', 'w') as polkit:
+ lines = decode(POLKIT).split(b"\\n")
for line in lines:
- polkit.write(line + "\\n")
-""".format(bmroot=b64_bmroot, polkit=b64_polkit))
- install.write('subprocess.Popen(["chmod", "+x", BMROOT_DEST])\n')
+ polkit.write(line.decode() + "\\n")
+""".format(polkit=b64_polkit, polkit_file=POLKIT_FILE))
subprocess.Popen(["chmod", "+x", INSTALL])
print("done packing installers into the snap install hook...")
diff --git a/pkg/riseupvpn/snap/.snapcraft/state b/pkg/riseupvpn/snap/.snapcraft/state
deleted file mode 100644
index 34977889..00000000
--- a/pkg/riseupvpn/snap/.snapcraft/state
+++ /dev/null
@@ -1,3 +0,0 @@
-!GlobalState
-assets:
- build-packages: []
diff --git a/pkg/riseupvpn/snap/gui/riseup-vpn.desktop b/pkg/riseupvpn/snap/gui/riseup-vpn.desktop
deleted file mode 100644
index e325b204..00000000
--- a/pkg/riseupvpn/snap/gui/riseup-vpn.desktop
+++ /dev/null
@@ -1,15 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Type=Application
-Name=RiseupVPN
-Comment=Anonymous VPN
-Comment[es]=VPN Anonima
-Comment[de]=Anonymous VPN
-Path=/snap/bin
-Exec=riseup-vpn.launcher
-Terminal=false
-Icon=/snap/riseup-vpn/current/snap/gui/riseupvpn.svg
-Categories=Network;Application;
-StartupNotify=true
-Keywords=VPN;riseup;leap
-
diff --git a/pkg/riseupvpn/snap/gui/riseupvpn.svg b/pkg/riseupvpn/snap/gui/riseupvpn.svg
deleted file mode 100644
index a19c6c61..00000000
--- a/pkg/riseupvpn/snap/gui/riseupvpn.svg
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="128"
- height="128"
- viewBox="0 0 33.866666 33.866668"
- version="1.1"
- id="svg896"
- inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
- sodipodi:docname="riseupvpn-launcher.svg">
- <defs
- id="defs890" />
- <sodipodi:namedview
- id="base"
- pagecolor="#d7d7d7"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0"
- inkscape:pageshadow="2"
- inkscape:zoom="5.12"
- inkscape:cx="26.899914"
- inkscape:cy="56.22909"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="true"
- units="px"
- inkscape:window-width="1869"
- inkscape:window-height="1025"
- inkscape:window-x="51"
- inkscape:window-y="27"
- inkscape:window-maximized="1">
- <inkscape:grid
- type="xygrid"
- id="grid1471"
- empspacing="4" />
- </sodipodi:namedview>
- <metadata
- id="metadata893">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-263.13332)">
- <path
- style="fill:#006cb2;fill-opacity:1;stroke-width:0.26458335"
- d="M 15.617988,295.66418 C 9.9401302,292.50672 5.6959906,287.52131 4.7342129,282.87951 4.4622971,281.56718 4.4516145,281.24899 4.4519256,274.47112 l 2.394e-4,-6.47461 0.5616386,-0.36177 c 2.3734615,-1.52883 4.8841786,-2.55103 7.4419094,-3.06699 5.221864,-1.05337 10.639669,0.003 15.485448,3.16684 l 0.398232,0.25998 v 6.50684 c 0,6.8044 -0.01093,7.13134 -0.280843,8.43104 -0.956329,4.6043 -4.632206,9.09553 -10.057782,12.28874 -1.576255,0.9277 -1.527525,0.91863 -2.382844,0.44299 z"
- id="path5137"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="csccssscssscc" />
- <path
- inkscape:connector-curvature="0"
- style="fill:#007cc3;fill-opacity:1;stroke-width:0.26458335"
- d="m 16.396917,264.17336 c -1.317958,-4.7e-4 -2.635612,0.13103 -3.941076,0.39437 -2.5577318,0.51596 -5.068528,1.53812 -7.4419895,3.06696 l -0.5615828,0.36177 -4.707e-4,6.47466 c -2.394e-4,6.77787 0.010371,7.096 0.2822554,8.40832 0.9617776,4.64181 5.2059168,9.62724 10.8837756,12.7847 h 1.19e-4 c 0.368953,0.20517 0.569745,0.32326 0.805249,0.31706 v -31.80747 c -0.0088,-2e-5 -0.01755,-4.8e-4 -0.02641,-4.8e-4 z"
- id="path887" />
- <path
- style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458338"
- d="m 16.989143,272.54844 c 0,0 -0.315707,-0.61165 -0.336761,-0.69601 -0.02106,-0.0844 -0.189431,-0.94909 -0.189431,-0.94909 l 0.210485,-0.37963 0.463046,-0.696 0.673531,-0.52727 0.168377,-0.0633 1.620684,-0.61164 0.147331,-0.14764 -0.168385,-0.25308 -0.231523,-0.12655 -0.424879,-0.10907 -1.064407,-0.10907 -0.825967,0.007 -0.568293,0.12654 -0.505146,-0.18981 -0.63143,-0.0844 -0.9261,-0.0211 -0.463054,-0.0211 -0.778761,0.29527 -1.178677,1.37091 -0.147339,0.52727 -0.08418,0.464 -0.399908,0.86473 -0.252577,0.82254 -0.126285,0.88582 v 0.18982 l -0.610384,0.92799 -0.336761,0.69601 v 0.99126 l 0.10523,2.04581 0.189431,0.73821 0.378861,0.6749 0.4841,0.44292 0.210477,0.8647 0.799815,1.77155 0.947154,1.13886 0.06311,0.0633 0.336761,1.70835 -1.157623,2.10911 -0.363408,0.28169 -0.272426,0.22054 -0.467179,-0.0129 -0.260603,0.13452 -0.316122,0.0134 -0.190994,0.19047 -0.408963,-0.0616 -0.4044091,-0.0196 -0.311982,0.24606 -0.044916,0.36556 0.207365,-0.23472 0.3488649,-0.10158 0.03654,0.33552 0.5512672,-0.18726 0.316122,-0.0134 0.557721,0.0667 c 0,0 0.483518,-0.0316 0.567216,-0.0407 0.0837,-0.009 0.597276,0.0411 0.597276,0.0411 l 0.376644,-0.041 0.199723,0.0844 0.267456,-0.0716 0.290265,0.13818 0.418488,-0.0455 0.05401,-0.28169 -0.01596,-0.14678 0.28571,0.0962 0.232049,0.18692 0.150642,0.21701 -0.0088,-0.27495 -0.182953,-0.31946 c 0,0 -0.125159,-0.17737 -0.208857,-0.16824 -0.0837,0.009 -0.408971,-0.0616 -0.408971,-0.0616 l -0.223321,0.088 -0.243857,-0.10085 -0.239677,0.13226 -0.220665,-0.0822 -0.106491,-0.20049 -0.153322,-0.0471 0.164763,-0.42962 0.378861,-0.52859 0.505146,-0.84364 0.442,-0.5273 0.168385,-0.21088 c 0,0 0.210477,-0.31633 0.210477,-0.40071 0,-0.0844 0.04212,-0.97016 0.04212,-0.97016 l -0.273623,-0.56947 -0.126285,-0.46402 2.441546,0.59059 h 0.147331 l 2.083731,1.49744 0.294669,0.37959 0.10523,1.49729 -0.04212,0.33746 -0.147338,0.27419 -0.105358,0.16875 -0.09101,0.23675 -0.06215,0.1583 -0.386712,0.11988 -0.393086,-0.0709 -0.238209,-0.0294 -0.437428,0.0633 -0.184118,0.19713 -0.07084,0.24475 0.05712,0.24744 0.09172,-0.24769 0.124641,-0.16724 0.121984,-0.0388 0.0094,0.21174 0.163957,0.10406 0.338995,-0.15563 0.166646,-0.0242 0.05409,0.22658 0.508999,-0.01 0.345035,-0.11394 0.282886,0.0443 0.410893,0.047 0.142823,-0.0417 0.112881,-0.10156 0.182442,0.37841 0.0024,-0.42654 -0.176722,-0.48581 -0.256358,-0.15463 0.04324,-0.12712 -0.189423,-0.35849 0.02106,-1.37079 1.052392,1.2444 1.389154,1.09674 c 0,0 0.947146,0.33749 1.03133,0.33749 0.08419,0 0.736677,-0.0844 0.736677,-0.0844 l 0.420954,-0.69598 -0.315715,-0.94908 0.126284,-0.31642 -0.673531,-0.88574 -1.426794,-1.45279 -0.341213,-1.14141 0.02106,-0.78037 -0.315707,-0.82257 -0.357816,-0.65376 0.210477,-0.65377 -0.168377,-0.94904 -0.717785,-1.61568 0.265151,-0.0448 -0.444984,-0.77034 0.289101,-0.0918 -0.508218,-0.82847 0.213764,-0.11524 -0.380944,-0.62543 0.124202,-0.0696 -0.460971,-0.37337 0.168384,-0.0875 -1.199723,-0.84051 z"
- id="path5892"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="csccccccccccccccccccccccccccccccccccccccccccccccccccccccscccccccccccccsccccccccccccscccccccccccccccccccccccccccccccccccccccccccscccccccccccccccccccccccc" />
- </g>
-</svg>
diff --git a/pkg/riseupvpn/snap/hooks/remove b/pkg/riseupvpn/snap/hooks/remove
deleted file mode 100755
index c7442a26..00000000
--- a/pkg/riseupvpn/snap/hooks/remove
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-set -e
-
-echo "Executing remove hook for RiseupVPN"
-rm "/usr/local/sbin/bitmask-root"
-rm "/usr/share/polkit-1/actions/se.leap.bitmask.bundle.policy"
-echo "done"
diff --git a/pkg/riseupvpn/snap/snapcraft.yaml b/pkg/riseupvpn/snap/snapcraft.yaml
deleted file mode 100644
index 064a48ae..00000000
--- a/pkg/riseupvpn/snap/snapcraft.yaml
+++ /dev/null
@@ -1,94 +0,0 @@
-name: riseup-vpn
-version: '0.10.4'
-epoch: 0
-summary: RiseupVPN, anonymous VPN. Powered by Bitmask.
-description: |
- RiseupVPN is an easy, fast, and secure VPN service from riseup.net.
- RiseupVPN does not require a user account, keep logs, or track you in
- any way. The service is paid for entirely by donations from users like
- you.
-
-grade: stable # must be 'stable' to release into candidate/stable channels. switch to devel in snap branch.
-confinement: classic
-icon: snap/gui/riseupvpn.svg
-
-parts:
-
- bitmask:
- plugin: python
- python-version: python2
- source-branch: master
- source: https://0xacab.org/leap/bitmask-dev.git
- requirements: pkg/requirements-vpn.pip
- stage-packages:
- # this seems to trigger https://bugs.launchpad.net/snapcraft/+bug/1676684
- - python2.7-dev
- - libsqlcipher-dev
- - libffi-dev
- - libsqlite3-dev
- - libzmq3-dev
- prime:
- - -usr/include
- - -usr/lib/locale
- - -usr/share/X11/locale
- - -usr/share/doc
- - -usr/share/locale
- - -usr/share/man
- #- -usr/share/icons
- openvpn:
- plugin: nil
- stage-packages:
- - openvpn
- prime:
- - -usr/share/doc
- - -usr/share/man
- bitmask-systray:
- plugin: go
- source: https://0xacab.org/leap/bitmask-systray.git
- build-packages:
- - pkg-config
- - patchelf
- - libzmq5
- - libzmq3-dev
- - libsodium-dev
- - libappindicator3-dev
- - libgtk-3-dev
- stage-packages:
- - libzmq5
- - libsodium18
- - libappindicator3-1
- install: |
- TRIPLET_PATH="$SNAPCRAFT_PART_INSTALL/usr/lib/$(gcc -print-multiarch)"
- LIBZMQ=$(readlink -n $TRIPLET_PATH/libzmq.so.5)
- LIBSOD=$(readlink -n $TRIPLET_PATH/libsodium.so.18)
- ln -s "../usr/lib/$(gcc -print-multiarch)/$LIBZMQ" $SNAPCRAFT_PART_INSTALL/bin/libzmq.so.5
- ln -s "../usr/lib/$(gcc -print-multiarch)/$LIBSOD" $SNAPCRAFT_PART_INSTALL/bin/libsodium.so.18
- patchelf --set-rpath /snap/riseup-vpn/current/bin/ $SNAPCRAFT_PART_INSTALL/bin/bitmask-systray.git
- prime:
- - -usr/include
- - -usr/lib/locale
- - -usr/share/X11/locale
- - -usr/share/doc
- - -usr/share/locale
- - -usr/share/man
- #- -usr/share/icons
- desktop-gtk3:
- prime:
- - -usr/include
- - -usr/lib/locale
- - -usr/share/X11/locale
- - -usr/share/doc
- - -usr/share/locale
- - -usr/share/man
- #- -usr/share/icons
- - '*'
-
-apps:
- launcher:
- command: ./bin/bitmask_anonvpn
- openvpn:
- command: ./usr/sbin/openvpn
- bitmaskd:
- command: ./bin/bitmaskd
- bitmask-systray:
- command: ./bin/bitmask-systray.git