diff options
| author | Dennis Camera <cdist@dtnr.ch> | 2021-03-14 18:05:19 +0100 |
|---|---|---|
| committer | Dennis Camera <cdist@dtnr.ch> | 2021-03-19 11:06:07 +0100 |
| commit | 14b4609d40abf960abf803b2ed48923637fac284 (patch) | |
| tree | 9c5e8d50b2b92b4e6503aa5733bebaa26214077e /type | |
| parent | c884ddf1e1e319cae309612902b4eaf3ca8be076 (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-x | type/__dtnrch_etax_sgnp/gencode-remote | 41 |
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 |
