From e709b4209e710eb1bb5e7facff73f72adae66d65 Mon Sep 17 00:00:00 2001 From: "Kali Kaneko (leap communications)" Date: Wed, 24 Jul 2019 22:25:38 +0200 Subject: [pkg] snap template --- branding/templates/snap/generate.py | 27 ++++++++ branding/templates/snap/snapcraft-template.yaml | 83 +++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100755 branding/templates/snap/generate.py create mode 100644 branding/templates/snap/snapcraft-template.yaml (limited to 'branding/templates') diff --git a/branding/templates/snap/generate.py b/branding/templates/snap/generate.py new file mode 100755 index 0000000..41d563d --- /dev/null +++ b/branding/templates/snap/generate.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +""" +generate.py + +Generate a snap package for a given provider. +""" + +import json +import os +from string import Template + + +TEMPLATE = 'snapcraft-template.yaml' +SNAPCRAFT = 'snapcraft.yaml' + + +here = os.path.split(os.path.realpath(__file__))[0] +data = json.load(open(os.path.join(here, 'data.json'))) + + +template = Template(open(TEMPLATE).read()) + +with open(SNAPCRAFT, 'w') as output: + output.write(template.safe_substitute(data)) + +print("[+] Snapcraft spec written to {path}".format( + path=os.path.abspath(SNAPCRAFT))) diff --git a/branding/templates/snap/snapcraft-template.yaml b/branding/templates/snap/snapcraft-template.yaml new file mode 100644 index 0000000..df9c135 --- /dev/null +++ b/branding/templates/snap/snapcraft-template.yaml @@ -0,0 +1,83 @@ +name: ${binaryName} +version: ${version} +summary: ${applicationName}, secure VPN. Powered by Bitmask. +description: | + ${applicationName} is an easy, fast, and secure VPN service from ${providerURL}. + ${applicationName} 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 +confinement: classic +icon: snap/gui/icon.svg +base: core18 + +parts: + desktop-gtk3: + plugin: nil + stage-packages: + - libc6 + prime: + - '*' + - -usr/include + - -usr/lib/locale + - -usr/share/X11/locale + - -usr/share/doc + - -usr/share/locale + - -usr/share/man + + bitmask-root: + after: [desktop-gtk3] + plugin: dump + source: https://0xacab.org/leap/bitmask-dev/ + source-type: git + build-packages: + - wget + override-prime: | + echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + mkdir -p bin + wget -O bin/bitmask-root https://0xacab.org/leap/bitmask-dev/raw/master/src/leap/bitmask/vpn/helpers/linux/bitmask-root + chmod +x bin/bitmask-root + echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + + openvpn: + plugin: nil + stage-packages: + - openvpn + - libc6 + prime: + - -usr/share/doc + - -usr/share/man + + bitmask-vpn: + after: [desktop-gtk3] + plugin: go + source-type: git + go-packages: + - 0xacab.org/leap/bitmask-vpn/cmd/bitmask-vpn + override-build: | + echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + #cat $SNAPCRAFT_PROJECT_DIR/snap/local/bitmask-vpn.desktop + cp ../../../gui/bitmask-vpn.desktop $SNAPCRAFT_PRIME/${binaryName}.desktop + snapcraftctl build + echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + build-packages: + - pkg-config + - patchelf + - libpcre3-dev + - libappindicator3-dev + - libgtk-3-dev + stage-packages: + - libc6 + - libpcre3 + - libappindicator3-1 + - zlib1g + +apps: + launcher: + command: bin/bitmask-vpn + desktop: ${binaryName}.desktop + environment: + LD_LIBRARY_PATH: "$SNAP/usr/lib/$(gcc -print-multiarch):$SNAP/lib/$(gcc -print-multiarch):$LD_LIBRARY_PATH" + openvpn: + command: usr/sbin/openvpn + bitmask-root: + command: bin/bitmask-root -- cgit v1.2.3