1
0

Compare commits

...

4 Commits

Author SHA256 Message Date
Ana Guerrero
b14bd97ad4 Accepting request 1233940 from X11:common:Factory
OBS-URL: https://build.opensuse.org/request/show/1233940
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/desktop-file-utils?expand=0&rev=74
2025-01-02 18:19:32 +00:00
94708c25ba - suse-update-mime-defaults:
* support drop in files in $r/etc/<desktop>_defaults.conf.d which take
    priority over the distribution provided $r/etc/<desktop>_defaults.conf
  * extend syntax of <desktop>_defaults.conf, prefixing a directive with a "-"
    removes an otherwise identical earlier directive

OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/desktop-file-utils?expand=0&rev=93
2024-12-30 19:02:03 +00:00
Ana Guerrero
23d1ef2318 Accepting request 1227680 from X11:common:Factory
OBS-URL: https://build.opensuse.org/request/show/1227680
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/desktop-file-utils?expand=0&rev=73
2024-12-03 19:45:35 +00:00
3deb99bf60 - Update to version 0.28:
* common
   + Increase GLib requirement to 2.26 (Corentin Noël).
   + Fix install failing on second run (Raziel Anarki).
   + Fix use of deprecated Meson feature resulting in a warning (Raziel
    Anarki).
  * desktop-file-validate
   + Allow groups with the same name as interfaces in Implements (Corentin
     Noël).
   + Add support for the COSMIC environment (Ryan Brue).

OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/desktop-file-utils?expand=0&rev=91
2024-12-02 08:44:03 +00:00
5 changed files with 71 additions and 25 deletions

BIN
desktop-file-utils-0.27.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4401d4e231d842c2de8242395a74a395ca468cd96f5f610d822df33594898a70
size 81620

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Fri Dec 27 09:11:30 UTC 2024 - Guido Berhoerster <guido+opensuse@berhoerster.name>
- suse-update-mime-defaults:
* support drop in files in $r/etc/<desktop>_defaults.conf.d which take
priority over the distribution provided $r/etc/<desktop>_defaults.conf
* extend syntax of <desktop>_defaults.conf, prefixing a directive with a "-"
removes an otherwise identical earlier directive
-------------------------------------------------------------------
Thu Nov 7 21:22:16 UTC 2024 - Antonio Teixeira <antonio.teixeira@suse.com>
- Update to version 0.28:
* common
+ Increase GLib requirement to 2.26 (Corentin Noël).
+ Fix install failing on second run (Raziel Anarki).
+ Fix use of deprecated Meson feature resulting in a warning (Raziel
Anarki).
* desktop-file-validate
+ Allow groups with the same name as interfaces in Implements (Corentin
Noël).
+ Add support for the COSMIC environment (Ryan Brue).
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jan 17 14:56:08 UTC 2024 - Dirk Müller <dmueller@suse.com> Wed Jan 17 14:56:08 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@ -17,7 +17,7 @@
Name: desktop-file-utils Name: desktop-file-utils
Version: 0.27 Version: 0.28
Release: 0 Release: 0
Summary: Utilities for Manipulating Desktop Files Summary: Utilities for Manipulating Desktop Files
License: GPL-2.0-or-later License: GPL-2.0-or-later

View File

@ -110,6 +110,43 @@ function _qsorti(dest, l, u, val, i, j) {
_qsorti(dest, j + 1, u) _qsorti(dest, j + 1, u)
} }
# read a desktop-specifig configuration file
function read_conf_file(filename, lineno, arr) {
lineno = 0
while ((getline < filename) > 0) {
lineno++
if (NF == 0 || $1 ~ /^#/) {
# skip comments and empty lines
continue
} else if (NF != 1) {
err(1, "syntax error in " filename " line " lineno)
} else if (split($1, arr, /=/) == 2) {
if ($1 ~ /-/) {
# handle removal of previously set MIME type defaults
delete mimetype_default_apps[substr(arr[1], 2)]
} else {
# handle MIME type defaults
mimetype_default_apps[arr[1]] = arr[2]
}
} else if ($1 ~ /^-!.+\.desktop$/) {
# handle removal of previously set preferred default applications
delete preferred_default_apps[substr($1, 3)]
} else if ($1 ~ /^!.+\.desktop$/) {
# handle preferred default applications
preferred_default_apps[substr($1, 2)] = substr($1, 2)
} else if ($1 ~ /^-.+\.desktop$/) {
# handle removal previously set regular default applications
delete default_apps[substr($1, 2)]
} else if ($1 ~ /^.+\.desktop$/) {
# handle regular default applications
default_apps[$1] = $1
} else {
err(1, "syntax error in " filename ", line " lineno)
}
}
close(filename)
}
BEGIN { BEGIN {
desktop = desktop != "" ? desktop : "gnome" desktop = desktop != "" ? desktop : "gnome"
if (desktop == "gnome") { if (desktop == "gnome") {
@ -130,28 +167,14 @@ BEGIN {
defaults_conf = root "/etc/" desktop "_defaults.conf" defaults_conf = root "/etc/" desktop "_defaults.conf"
# parse desktop defaults preferences # parse desktop defaults preferences
lineno = 0 read_conf_file(defaults_conf)
while ((getline < defaults_conf) > 0) {
lineno++ # find and parse desktop defaults override files
if (NF == 0 || $1 ~ /^#/) { cmd = "test -d " defaults_conf ".d/ && find " defaults_conf ".d/ -type f ! -name \"*[![:alnum:]._-]*\" | sort"
# skip comments and empty lines while ((cmd | getline defaults_override) > 0) {
continue read_conf_file(defaults_override)
} else if (NF != 1) {
err(1, "syntax error in " defaults_conf " line " lineno)
} else if (split($1, arr, /=/) == 2) {
# handle MIME type defaults
mimetype_default_apps[arr[1]] = arr[2]
} else if ($1 ~ /^!.+\.desktop$/) {
# handle preferred default applications
preferred_default_apps[substr($1, 2)] = substr($1, 2)
} else if ($1 ~ /^.+\.desktop$/) {
# handle regular default applications
default_apps[$1] = $1
} else {
err(1, "syntax error in " defaults_conf ", line " lineno)
} }
} close(cmd)
close(defaults_conf)
# find all desktop files # find all desktop files
for (i = split("XDG_DATA_DIRS" in ENVIRON ? ENVIRON["XDG_DATA_DIRS"] : \ for (i = split("XDG_DATA_DIRS" in ENVIRON ? ENVIRON["XDG_DATA_DIRS"] : \