summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Pollan <meskio@sindominio.net>2019-01-17 17:01:20 +0100
committerRuben Pollan <meskio@sindominio.net>2019-01-17 17:34:58 +0100
commitf0823c445a01320ec471fe8c9163ab16b1cb3e1e (patch)
tree2766d8e52278fcfde8fd90c83062facc2f81479d
parent0bfc7af5ae321a28ff0171a73cfc92ec57969513 (diff)
[pkg] snap: don't use subprocess.run on the post-install hook
- Resolves: #53
-rwxr-xr-xsnap/hooks/install9
-rwxr-xr-xsnap/pre/pack_installers9
2 files changed, 12 insertions, 6 deletions
diff --git a/snap/hooks/install b/snap/hooks/install
index fa05c6c..98469fe 100755
--- a/snap/hooks/install
+++ b/snap/hooks/install
@@ -5,6 +5,7 @@
# It is generated automatically
# by the script at "snap/pre/pack_installers"
import subprocess
+import os
from base64 import decodestring as decode
POLKIT = b'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBvbGljeWNv\nbmZpZyBQVUJMSUMKICItLy9mcmVlZGVza3RvcC8vRFREIFBvbGljeUtpdCBQb2xpY3kgQ29uZmln\ndXJhdGlvbiAxLjAvL0VOIgogImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3N0YW5kYXJkcy9Q\nb2xpY3lLaXQvMS9wb2xpY3ljb25maWcuZHRkIj4KPHBvbGljeWNvbmZpZz4KCiAgPHZlbmRvcj5M\nRUFQIFByb2plY3Q8L3ZlbmRvcj4KICA8dmVuZG9yX3VybD5odHRwOi8vbGVhcC5zZS88L3ZlbmRv\ncl91cmw+CgogIDxhY3Rpb24gaWQ9InNlLmxlYXAuYml0bWFzay5yaXNldXB2cG4ucG9saWN5Ij4K\nICAgIDxkZXNjcmlwdGlvbj5SdW5zIGJpdG1hc2sgaGVscGVyIHRvIGxhdW5jaCBmaXJld2FsbCBh\nbmQgb3BlbnZwbiAoUmlzZXVwVlBOKTwvZGVzY3JpcHRpb24+CiAgICA8ZGVzY3JpcHRpb24geG1s\nOmxhbmc9ImVzIj5FamVjdXRhIGVsIGFzaXN0ZW50ZSBkZSBiaXRtYXNrIHBhcmEgbGFuemFyIGVs\nIGZpcmV3YWxsIHkgb3BlbnZwbiAoUmlzZXVwVlBOKTwvZGVzY3JpcHRpb24+CiAgICA8bWVzc2Fn\nZT5SaXNldXBWUE4gbmVlZHMgdGhhdCB5b3UgYXV0aGVudGljYXRlIHRvIHN0YXJ0PC9tZXNzYWdl\nPgogICAgPG1lc3NhZ2UgeG1sOmxhbmc9ImVzIj5SaXNldXBWUE4gbmVjZXNpdGEgYXV0b3JpemFj\naW9uIHBhcmEgY29tZW56YXI8L21lc3NhZ2U+CiAgICA8aWNvbl9uYW1lPnBhY2thZ2UteC1nZW5l\ncmljPC9pY29uX25hbWU+IAogICAgPGRlZmF1bHRzPgogICAgICA8YWxsb3dfYW55PnllczwvYWxs\nb3dfYW55PgogICAgICA8YWxsb3dfaW5hY3RpdmU+eWVzPC9hbGxvd19pbmFjdGl2ZT4KICAgICAg\nPGFsbG93X2FjdGl2ZT55ZXM8L2FsbG93X2FjdGl2ZT4KICAgIDwvZGVmYXVsdHM+CiAgICA8YW5u\nb3RhdGUga2V5PSJvcmcuZnJlZWRlc2t0b3AucG9saWN5a2l0LmV4ZWMucGF0aCI+L3NuYXAvYmlu\nL3Jpc2V1cC12cG4uYml0bWFzay1yb290PC9hbm5vdGF0ZT4KICA8L2FjdGlvbj4KPC9wb2xpY3lj\nb25maWc+Cg==\n'
@@ -18,6 +19,8 @@ with open('/etc/os-release') as f:
release = f.read()
# this is a workaround for the fact that debian does not place snap desktop entries in a system+wide path.
if 'ID=debian' in release:
- cmd = 'ln -s /snap/riseup-vpn/current/snap/gui/riseup-vpn.desktop /usr/share/applications/'
- subprocess.run(cmd.split(' '))
- subprocess.run(['update-desktop-database'])
+ desktop_path = "/usr/share/applications/riseup-vpn.desktop"
+ if os.path.exists(desktop_path):
+ os.remove(desktop_path)
+ os.symlink("/snap/riseup-vpn/current/snap/gui/riseup-vpn.desktop", desktop_path)
+ subprocess.call(['update-desktop-database'])
diff --git a/snap/pre/pack_installers b/snap/pre/pack_installers
index a893574..827d16e 100755
--- a/snap/pre/pack_installers
+++ b/snap/pre/pack_installers
@@ -34,6 +34,7 @@ with open(INSTALL, 'w') as install:
install.write('# It is generated automatically\n')
install.write('# by the script at "snap/pre/pack_installers"\n')
install.write('import subprocess\n')
+ install.write('import os\n')
install.write('from base64 import decodestring as decode\n')
install.write("""
POLKIT = {polkit}
@@ -47,9 +48,11 @@ with open('/etc/os-release') as f:
release = f.read()
# this is a workaround for the fact that debian does not place snap desktop entries in a system+wide path.
if 'ID=debian' in release:
- cmd = 'ln -s /snap/{app_name}/current/snap/gui/{app_name}.desktop /usr/share/applications/'
- subprocess.run(cmd.split(' '))
- subprocess.run(['update-desktop-database'])
+ desktop_path = "/usr/share/applications/{app_name}.desktop"
+ if os.path.exists(desktop_path):
+ os.remove(desktop_path)
+ os.symlink("/snap/{app_name}/current/snap/gui/{app_name}.desktop", desktop_path)
+ subprocess.call(['update-desktop-database'])
""".format(
polkit=b64_polkit,
polkit_file=POLKIT_FILE,