summaryrefslogtreecommitdiff
path: root/type
diff options
context:
space:
mode:
authorDennis Camera <cdist@dtnr.ch>2021-03-14 18:05:19 +0100
committerDennis Camera <cdist@dtnr.ch>2021-03-19 11:06:07 +0100
commit14b4609d40abf960abf803b2ed48923637fac284 (patch)
tree9c5e8d50b2b92b4e6503aa5733bebaa26214077e /type
parentc884ddf1e1e319cae309612902b4eaf3ca8be076 (diff)
download__dtnrch_egov-14b4609d40abf960abf803b2ed48923637fac284.tar.gz
__dtnrch_egov-14b4609d40abf960abf803b2ed48923637fac284.zip
[type/__dtnrch_etax_sgnp] Support for old and new versions and their .desktop locations
Diffstat (limited to 'type')
-rwxr-xr-xtype/__dtnrch_etax_sgnp/gencode-remote41
1 files changed, 36 insertions, 5 deletions
diff --git a/type/__dtnrch_etax_sgnp/gencode-remote b/type/__dtnrch_etax_sgnp/gencode-remote
index a35de8e..83dc039 100755
--- a/type/__dtnrch_etax_sgnp/gencode-remote
+++ b/type/__dtnrch_etax_sgnp/gencode-remote
@@ -55,14 +55,45 @@ then
cat <<-EOF
set -e
+ i4j_desktop_file=\$(echo '${install_dir}'/.install4j/install4j_*-Steuer*.desktop)
desktop_file=\$(echo '${install_dir}'/Steuer\ *.desktop)
- test -e "\${desktop_file}" || {
+
+ if test -e "\${i4j_desktop_file}" && test -e "\${desktop_file}"
+ then
+ cmp -s "\${i4j_desktop_file}" "\${desktop_file}" || {
+ echo 'Found regular and install4j .desktop file, but they differ!' >&2
+ exit 1
+ }
+
+ main_desktop_file=\${i4j_desktop_file}
+ alt_desktop_file=\${desktop_file}
+ elif test -e "\${i4j_desktop_file}"
+ then
+ main_desktop_file=\${i4j_desktop_file}
+ elif test -e "\${desktop_file}"
+ then
+ main_desktop_file=\${desktop_file}
+ else
echo 'Could not find .desktop file.' >&2
exit 1
- }
+ fi
+
+ sed -i -n '/^MimeType=/!p' "\${main_desktop_file}"
+ printf 'MimeType=%s\n' 'application/x-sgnp${version}' >>"\${main_desktop_file}"
- sed -i -n '/^MimeType=/!p' "\${desktop_file}"
- printf 'MimeType=%s\n' 'application/x-sgnp${version}' >>"\${desktop_file}"
- xdg-desktop-menu install --mode system "\${desktop_file}"
+ # Update alt file if they're not symlinked (i.e. they differ)
+ cmp -s "\${main_desktop_file}" "\${alt_desktop_file}" \
+ || cat "\${main_desktop_file}" >"\${alt_desktop_file}"
+
+ desktop_basename=\${main_desktop_file##*/}
+ cp "\${main_desktop_file}"
+ chown 0:0 "/usr/share/applications/\${desktop_basename}"
+ chmod 0755 "/usr/share/applications/\${desktop_basename}"
+
+ update-desktop-database
EOF
+
+ # NOTE:
+ # xdg-desktop-menu install --mode system "\${main_desktop_file}"
+ # only works for files with no spaces
fi