Use "grep -E" instead of the obsoleted "egrep"

- Resolves: BZ#2140197
- mark LICENSE as %license
- Spec cleanup
- Small patches, as a rule, are in git dist, to be more easy to read.
This commit is contained in:
Sérgio M. Basto 2023-09-08 00:28:21 +01:00
parent b02ab31968
commit 75a7fc8791
20 changed files with 775 additions and 44 deletions

17
.gitignore vendored
View File

@ -1,20 +1,3 @@
/xdg-utils-1.1.3.tar.gz /xdg-utils-1.1.3.tar.gz
/xdg-utils-1.1.3.tar.gz.md5sum /xdg-utils-1.1.3.tar.gz.md5sum
/xdg-utils-1.1.3.tar.gz.sha1sum /xdg-utils-1.1.3.tar.gz.sha1sum
/0001-open-for-post-1.1.3-development.patch
/0002-xdg-open-better-pcmanfm-check-BR106636-BR106161.patch
/0003-xdg-email-Support-for-Deepin.patch
/0004-Restore-matching-of-older-deepin-names.patch
/0005-xdg-open-handle-file-localhost.patch
/0006-test-lib.sh-run-eat-xdg-open-s-exit-code.patch
/0007-Fix-a-bug-when-xdg-terminal-needs-gsettings-to-get-t.patch
/0008-Fixes-x-argument-which-is-the-default-for-gnome-mate.patch
/0009-xdg-screensaver-Sanitise-window-name-before-sending-.patch
/0010-xdg-su-fix-some-easy-TODOs.patch
/0011-xdg-open-fix-comment-typo.patch
/0012-Enable-cinnamon-screensaver-for-xdg-aware-desktop-en.patch
/0013-support-digits-in-uri-scheme-regex.patch
/0014-xdg-mime-return-correct-exit-code-for-GNOME.patch
/0015-fixed-166-xdg-open-dose-not-search-correctly-in-dire.patch
/0016-Fix-xdg-settings-support-for-default-web-browser-for.patch
/0017-Use-grep-E-instead-of-the-obsoleted-egrep.patch

View File

@ -0,0 +1,37 @@
From 0b73fb82ccf178d496bd8da5b8c0a6906b14d030 Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@gmail.com>
Date: Sun, 13 May 2018 08:40:55 -0500
Subject: [PATCH 1/2] open for post 1.1.3 development
---
ChangeLog | 3 +++
scripts/xdg-utils-common.in | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index c9eaeea..6864f88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+=== xdg-utils 1.1.4 ===
+
+
=== xdg-utils 1.1.3 ===
2018-05-10
diff --git a/scripts/xdg-utils-common.in b/scripts/xdg-utils-common.in
index 9cfc8a3..a8abed8 100644
--- a/scripts/xdg-utils-common.in
+++ b/scripts/xdg-utils-common.in
@@ -245,7 +245,7 @@ check_common_commands()
;;
--version)
- echo "@NAME@ 1.1.3"
+ echo "@NAME@ 1.1.3+"
exit_success
;;
esac
--
2.17.0

View File

@ -0,0 +1,38 @@
From 31525d3855f876ddf2e29091b2e8d376f923e09e Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@gmail.com>
Date: Thu, 24 May 2018 14:40:53 -0500
Subject: [PATCH 2/2] xdg-open: better pcmanfm check (BR106636,BR106161)
---
ChangeLog | 2 ++
scripts/xdg-open.in | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 6864f88..3eed7c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
=== xdg-utils 1.1.4 ===
+2018-05-24
+ * xdg-open: better pcmanfm check (BR106636,BR106161)
=== xdg-utils 1.1.3 ===
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index 630e63e..bf9da4c 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -451,7 +451,7 @@ open_lxde()
{
# pcmanfm only knows how to handle file:// urls and filepaths, it seems.
- if pcmanfm --help >/dev/null 2>&1 -a is_file_url_or_path "$1"; then
+ if pcmanfm --help >/dev/null 2>&1 && is_file_url_or_path "$1"; then
local file="$(file_url_to_path "$1")"
# handle relative paths
--
2.17.0

View File

@ -0,0 +1,82 @@
From 56991bc165577f011f9ad7ca721c5a5134710e33 Mon Sep 17 00:00:00 2001
From: Alberto Salvia Novella <es20490446e@gmail.com>
Date: Tue, 11 Sep 2018 02:26:39 +0200
Subject: [PATCH 03/16] xdg-email: Support for Deepin
---
ChangeLog | 6 ++++++
scripts/xdg-email.in | 2 +-
scripts/xdg-open.in | 6 +++---
scripts/xdg-utils-common.in | 5 ++---
4 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3eed7c4..1c6b4c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+=== xdg-utils 1.1.5 ===
+
+2018-09-11 Alberto Salvia Novella <es20490446e@gmail.com>
+ * all: Deepin Desktop name standarised as "deepin"
+ * xdg-email: Support for Deepin (BR107877)
+
=== xdg-utils 1.1.4 ===
2018-05-24
diff --git a/scripts/xdg-email.in b/scripts/xdg-email.in
index 3614776..6db58ad 100644
--- a/scripts/xdg-email.in
+++ b/scripts/xdg-email.in
@@ -472,7 +472,7 @@ case "$DE" in
open_gnome "${mailto}"
;;
- gnome3|cinnamon|lxde|mate)
+ gnome3|cinnamon|lxde|mate|deepin)
open_gnome3 "${mailto}"
;;
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index bf9da4c..4928538 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -142,7 +142,7 @@ open_kde()
fi
}
-open_dde()
+open_deepin()
{
if dde-open -version >/dev/null 2>&1; then
dde-open "$1"
@@ -524,8 +524,8 @@ case "$DE" in
open_kde "$url"
;;
- dde)
- open_dde "$url"
+ deepin)
+ open_deepin "$url"
;;
gnome3|cinnamon)
diff --git a/scripts/xdg-utils-common.in b/scripts/xdg-utils-common.in
index a8abed8..7d2c49c 100644
--- a/scripts/xdg-utils-common.in
+++ b/scripts/xdg-utils-common.in
@@ -288,9 +288,8 @@ detectDE()
KDE)
DE=kde;
;;
- # Deepin Desktop Environments
- DEEPIN|Deepin|deepin)
- DE=dde;
+ Deepin)
+ DE=deepin;
;;
LXDE)
DE=lxde;
--
2.31.1

View File

@ -0,0 +1,27 @@
From 74776910981b60877d25b1ab9587e5928af1e9c4 Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@gmail.com>
Date: Thu, 13 Sep 2018 10:48:28 -0500
Subject: [PATCH 04/16] Restore matching of older deepin names
Reverts a small part of prior commit
56991bc165577f011f9ad7ca721c5a5134710e33
---
scripts/xdg-utils-common.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/xdg-utils-common.in b/scripts/xdg-utils-common.in
index 7d2c49c..b4333e2 100644
--- a/scripts/xdg-utils-common.in
+++ b/scripts/xdg-utils-common.in
@@ -288,7 +288,7 @@ detectDE()
KDE)
DE=kde;
;;
- Deepin)
+ DEEPIN|Deepin|deepin)
DE=deepin;
;;
LXDE)
--
2.31.1

View File

@ -0,0 +1,61 @@
From 186966735dcccd61afde937118f27043bd084f57 Mon Sep 17 00:00:00 2001
From: Richard Tollerton <rich.tollerton@ni.com>
Date: Thu, 10 Jan 2019 15:41:08 -0600
Subject: [PATCH 05/16] xdg-open: handle file://localhost/
Presently, file://localhost/ URLs are totally unsupported: is_file_url_or_path
correctly considers them files, but they are undecoded and hence
check_input_file fails.
While the standardization surrounding file: URLs is admittedly vague [1], AFAIK,
*all* literature, and other implementations, unambiguously demonstrate that
file://localhost/ should be equivalent to file:///:
- The "File URI specification" explicitly linked to from the xdg-utils homepage [2]
- RFC 8089 section 1.1
- RFC 1738 section 3.10
- Observed implementations of Windows `start`, macOS `open`, Firefox, Chrome, IE
Fix this by adding some simple carve-outs for file://localhost specifically in
file_url_to_path.
[1] https://lists.freedesktop.org/archives/xdg/2004-November/003711.html
[2] https://edeproject.org/spec/file-uri-spec.txt
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
---
autotests/t-xdg-open.sh | 6 ++++++
scripts/xdg-open.in | 3 ++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/autotests/t-xdg-open.sh b/autotests/t-xdg-open.sh
index 810bdc3..0d4b8d2 100755
--- a/autotests/t-xdg-open.sh
+++ b/autotests/t-xdg-open.sh
@@ -155,3 +155,9 @@ test_generic_open_file 'test#file.txt'
test_that_it opens files with spaces in their name in generic mode
test_generic_open_file 'test file.txt'
+
+test_that_it opens file://localhost/ paths
+mock pcmanfm
+touch $LABDIR/file.txt
+run lxde xdg-open file://localhost$(pwd)/$LABDIR/file%2etxt
+assert_run pcmanfm $(pwd)/$LABDIR/file.txt
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index 4928538..09ef6d8 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -84,7 +84,8 @@ is_file_url_or_path()
file_url_to_path()
{
local file="$1"
- if echo "$file" | grep -q '^file:///'; then
+ if echo "$file" | grep -q '^file://\(localhost\)\?/'; then
+ file=${file#file://localhost}
file=${file#file://}
file=${file%%#*}
file=$(echo "$file" | sed -r 's/\?.*$//')
--
2.31.1

View File

@ -0,0 +1,45 @@
From af7b34a6d3b77b7c9565fa7b396c7da676aa2fec Mon Sep 17 00:00:00 2001
From: Richard Tollerton <rich.tollerton@ni.com>
Date: Thu, 10 Jan 2019 16:31:38 -0600
Subject: [PATCH 06/16] test-lib.sh: run: eat xdg-open's exit code
It was observed that t-xdg-open.sh exits after only a fraction of the tests have
been run, e.g.
ASSERTION FAILED: expected command to be run: gio open http://www.freedesktop.org/
ASSERTION FAILED: expected command to be run: gio open http://www.freedesktop.org/
- opens a URL with gvfs-open if gio open is missing in GNOME 3, GNOME 2, and Cinnamon
gio: http://www.freedesktop.org/: Operation not supported
make: *** [Makefile:21: t-xdg-open.sh] Error 4
Given that some tests are failing on my machine (likely because of the
peculiarities of my archlinux install), the root cause is `set -e`. The nonzero
exit code returned by xdg-open gets returned by run(), which is also returned by
e.g. test_open_url(), which causes the script to exit immediately.
All test passes/failures at present are being defined by explicit assertions,
not by exit codes, and it seems at least plausible that some xdg-open calls are
meant to fail. So rather than report the nonzero error code, just ignore it, and
trust that the assertions determine the results.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
---
autotests/test-lib.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/autotests/test-lib.sh b/autotests/test-lib.sh
index 5ea01b3..ca3b10b 100644
--- a/autotests/test-lib.sh
+++ b/autotests/test-lib.sh
@@ -213,7 +213,7 @@ run() {
XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS \
DISPLAY=x \
BROWSER="$BROWSER" \
- $trace ../scripts/$cmd "$@"
+ $trace ../scripts/$cmd "$@" ||:
}
echo "* Testing that $COMMAND_TESTED"
--
2.31.1

View File

@ -0,0 +1,38 @@
From 755e1f27c58016507053d192351666862905b3cc Mon Sep 17 00:00:00 2001
From: Ronan Arraes Jardim Chagas <ronisbr@gmail.com>
Date: Tue, 19 Mar 2019 15:12:58 +1030
Subject: [PATCH 07/16] Fix a bug when xdg-terminal needs gsettings to get the
default terminal
xdg-terminal is not working when it needs gsettings to obtain the
default terminal. Thus, xdg-terminal cannot be used in MATE, Cinnamon
or GNOME. This issue was already reported in:
https://bugs.freedesktop.org/show_bug.cgi?id=93231
Thus, this patch provides a temporary workaround until upstream fixes
it.
Link: https://bugs.freedesktop.org/show_bug.cgi?id=93231
Signed-off-by: Simon Lees <sflees@suse.de>
---
scripts/xdg-terminal.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/xdg-terminal.in b/scripts/xdg-terminal.in
index f67897d..221487c 100644
--- a/scripts/xdg-terminal.in
+++ b/scripts/xdg-terminal.in
@@ -86,8 +86,8 @@ terminal_gsettings()
{
term_schema="$1"; shift
- term_exec=`gsettings get ${term_schema} exec`
- term_exec_arg=`gsettings get ${term_schema} exec-arg`
+ term_exec=`gsettings get ${term_schema} exec | sed -r "s/^'(.*)'$/\1/"`
+ term_exec_arg=`gsettings get ${term_schema} exec-arg | sed -r "s/^'(.*)'$/\1/"`
terminal_exec=`which $term_exec 2>/dev/null`
--
2.31.1

View File

@ -0,0 +1,67 @@
From acdf8909f2bf65ca20e69ab1e6bc6854d54b333d Mon Sep 17 00:00:00 2001
From: "sor.alexei@meowr.ru" <sor.alexei@meowr.ru>
Date: Tue, 19 Mar 2019 15:13:38 +1030
Subject: [PATCH 08/16] Fixes -x argument, which is the default for
{gnome,mate}-terminal
Signed-off-by: Simon Lees <sflees@suse.de>
---
scripts/xdg-terminal.in | 34 +++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/scripts/xdg-terminal.in b/scripts/xdg-terminal.in
index 221487c..36a9833 100644
--- a/scripts/xdg-terminal.in
+++ b/scripts/xdg-terminal.in
@@ -65,11 +65,17 @@ terminal_gnome()
if [ x"$1" = x"" ]; then
$terminal_exec
else
- if [ x"$term_exec_arg" = x"" ]; then
- $terminal_exec "$1"
- else
- $terminal_exec "$term_exec_arg" "$1"
- fi
+ case "$term_exec_arg" in
+ "")
+ "$terminal_exec" "$1"
+ ;;
+ *-x*)
+ "$terminal_exec" "$term_exec_arg" sh -c "$1"
+ ;;
+ *)
+ "$terminal_exec" "$term_exec_arg" "$1"
+ ;;
+ esac
fi
if [ $? -eq 0 ]; then
@@ -93,13 +99,19 @@ terminal_gsettings()
if [ -x "$terminal_exec" ]; then
if [ x"$1" = x"" ]; then
- $terminal_exec
+ "$terminal_exec"
else
- if [ x"$term_exec_arg" = x"" ]; then
- $terminal_exec "$1"
- else
- $terminal_exec "$term_exec_arg" "$1"
- fi
+ case "$term_exec_arg" in
+ "")
+ "$terminal_exec" "$1"
+ ;;
+ *-x*)
+ "$terminal_exec" "$term_exec_arg" sh -c "$1"
+ ;;
+ *)
+ "$terminal_exec" "$term_exec_arg" "$1"
+ ;;
+ esac
fi
if [ $? -eq 0 ]; then
--
2.31.1

View File

@ -0,0 +1,41 @@
From 455d066182546b37984e6b9719bde2347bf6fa94 Mon Sep 17 00:00:00 2001
From: Iain Lane <iain.lane@canonical.com>
Date: Tue, 2 Oct 2018 10:29:03 +0100
Subject: [PATCH 09/16] xdg-screensaver: Sanitise window name before sending it
over the bus
libdbus expects string arguments to be valid UTF-8. If they are not,
then it aborts, which causes our backgrounded command to terminate
abnormally.
Signed-off-by: Simon Lees <sflees@suse.de>
---
scripts/xdg-screensaver.in | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/scripts/xdg-screensaver.in b/scripts/xdg-screensaver.in
index 9e68196..ccb4307 100644
--- a/scripts/xdg-screensaver.in
+++ b/scripts/xdg-screensaver.in
@@ -468,6 +468,7 @@ screensaver_gnome_screensaver()
perl -e '
use strict;
use warnings;
+use Encode qw(decode);
use IO::File;
use Net::DBus;
use X11::Protocol;
@@ -489,6 +490,10 @@ while (1) {
}
}
+# Replace any invalid unicode characters with U+FFFD, so we dont crash when we
+# pass them over to D-Bus
+$window_name = decode("utf8", $window_name, Encode::FB_DEFAULT);
+
# Inhibit idle detection (flags = 8) with window name and ID.
# We have no reason so just send the window name again.
my $bus = Net::DBus->session();
--
2.31.1

View File

@ -0,0 +1,60 @@
From 0801b7104c46ac2eff07bf8b867f7d45c74963c2 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Sun, 30 Oct 2016 06:21:53 +0000
Subject: [PATCH 10/16] xdg-su: fix some easy TODOs
Although xdg-su is not currently shipped, fix some trivial documentation
TODOs.
Signed-off-by: Simon Lees <sflees@suse.de>
---
TODO | 3 ---
scripts/desc/xdg-su.xml | 11 ++++++++++-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/TODO b/TODO
index 183ea6c..a4f3b17 100644
--- a/TODO
+++ b/TODO
@@ -16,9 +16,6 @@ General
* Add xdg-autostart
xdg-su:
-* The summary is incorrect, it suggests that it can only run things as
-root which is incorrect according to the main body of the document.
-* The -c option is listed in the synopsis, but not in options.
* It would be useful if it was possible to distinguish between a failure
because of a bad password or some other failure.
* use sudo style syntax, drop -c option
diff --git a/scripts/desc/xdg-su.xml b/scripts/desc/xdg-su.xml
index 53a0f32..b4e1b7e 100644
--- a/scripts/desc/xdg-su.xml
+++ b/scripts/desc/xdg-su.xml
@@ -30,7 +30,7 @@
<refnamediv>
<refname>xdg-su</refname>
- <refpurpose>run a GUI program as root after prompting for the root password</refpurpose>
+ <refpurpose>run a GUI program as another user (typically root) after prompting for that user's password</refpurpose>
</refnamediv>
<refsynopsisdiv>
@@ -67,6 +67,15 @@
<refsect1 id="options">
<title>Options</title>
<variablelist>
+ <varlistentry>
+ <term><option>-c <replaceable>command</replaceable></option></term>
+ <listitem>
+ <simpara>
+ the command to run. This argument is mandatory.
+ </simpara>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>-u <replaceable>user</replaceable></option></term>
<listitem>
--
2.31.1

View File

@ -0,0 +1,40 @@
From 15144f8abd0bfd7de23b18a282f539d1e9c79ef9 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Sun, 30 Oct 2016 06:12:45 +0000
Subject: [PATCH 11/16] xdg-open: fix comment typo
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Also bump Rex Dieters copyright date
Signed-off-by: Simon Lees <sflees@suse.de>
---
scripts/xdg-open.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index 09ef6d8..c38e1e0 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -7,7 +7,7 @@
# Refer to the usage() function below for usage.
#
# Copyright 2009-2010, Fathi Boudra <fabo@freedesktop.org>
-# Copyright 2009-2010, Rex Dieter <rdieter@fedoraproject.org>
+# Copyright 2009-2016, Rex Dieter <rdieter@fedoraproject.org>
# Copyright 2006, Kevin Krammer <kevin.krammer@gmx.at>
# Copyright 2006, Jeremy White <jwhite@codeweavers.com>
#
@@ -510,7 +510,7 @@ fi
DEBUG 2 "Selected DE $DE"
-# sanitize BROWSER (avoid caling ourselves in particular)
+# sanitize BROWSER (avoid calling ourselves in particular)
case "${BROWSER}" in
*:"xdg-open"|"xdg-open":*)
BROWSER=$(echo $BROWSER | sed -e 's|:xdg-open||g' -e 's|xdg-open:||g')
--
2.31.1

View File

@ -0,0 +1,26 @@
From 7f5349ea485fa9e0a4cb69dc645fbaf9ce3cec2e Mon Sep 17 00:00:00 2001
From: mvdlinde <linde@b1-systems.de>
Date: Sun, 3 Mar 2019 16:20:48 +0000
Subject: [PATCH 12/16] Enable cinnamon screensaver for xdg aware desktop
environments (eg lxqt)
---
scripts/xdg-screensaver.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/xdg-screensaver.in b/scripts/xdg-screensaver.in
index 9e68196..bc5c4ee 100644
--- a/scripts/xdg-screensaver.in
+++ b/scripts/xdg-screensaver.in
@@ -887,6 +887,8 @@ xscreensaver-command -version 2> /dev/null | grep XScreenSaver > /dev/null && DE
dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.ScreenSaver > /dev/null 2>&1 && DE="gnome_screensaver"
# Consider "mate-screensaver" a separate DE
dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.mate.ScreenSaver > /dev/null 2>&1 && DE="mate_screensaver"
+# Consider "cinnamon-screensaver" a separate DE
+dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.cinnamon.ScreenSaver > /dev/null 2>&1 && DE="cinnamon"
# Consider "xautolock" a separate DE
xautolock -enable > /dev/null 2>&1 && DE="xautolock_screensaver"
--
2.31.1

View File

@ -0,0 +1,30 @@
From bfcefa162b1dcd6d62e193019969ff2f5ff331cf Mon Sep 17 00:00:00 2001
From: Cameron Fieber <cameron@fieber.ca>
Date: Mon, 25 Mar 2019 22:30:25 -0700
Subject: [PATCH 13/16] support digits in uri scheme regex
As per RFC 2396[1] a valid URI scheme may contain a digit:
scheme = alpha *( alpha | digit | + | - | . )
[1]: https://www.ietf.org/rfc/rfc2396.txt
---
scripts/xdg-open.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index c38e1e0..202f3e3 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -72,7 +72,7 @@ get_key()
is_file_url_or_path()
{
if echo "$1" | grep -q '^file://' \
- || ! echo "$1" | egrep -q '^[[:alpha:]+\.\-]+:'; then
+ || ! echo "$1" | egrep -q '^[[:alpha:]][[:alpha:][:digit:]+\.\-]*:'; then
return 0
else
return 1
--
2.31.1

View File

@ -0,0 +1,40 @@
From 0547886c0a7ae79145998495a6e3af6a1450d0c7 Mon Sep 17 00:00:00 2001
From: Martin Puppe <dev@mpuppe.de>
Date: Sat, 13 Apr 2019 12:46:44 +0200
Subject: [PATCH 14/16] xdg-mime: return correct exit code for GNOME
If the desktop environment was GNOME and none of the commands for
detecting the MIME type of a file was available, xdg-mime used to return
exit code 0 even though it failed. The man page says it should return
exit code 3. This commit fixes the issue.
I have considered returning exit code 4 instead since that is what would
be returned if info_kde() or info_generic() fail to find a tool for MIME
type detection. But I have decided to implement the behavior as
specified in the man page.
The exit code of an if construct is 0 if no condition
tested true [^1]. The author of the original code probably was not aware
of this.
[^1]: https://www.gnu.org/software/bash/manual/html_node/Conditional-Constructs.html#Conditional-Constructs
---
scripts/xdg-mime.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/xdg-mime.in b/scripts/xdg-mime.in
index 0e567c7..034d0ef 100644
--- a/scripts/xdg-mime.in
+++ b/scripts/xdg-mime.in
@@ -84,6 +84,8 @@ info_gnome()
elif gnomevfs-info --help 2>/dev/null 1>&2; then
DEBUG 1 "Running gnomevfs-info \"$1\""
gnomevfs-info --slow-mime "$1" 2> /dev/null | grep "^MIME" | cut -d ":" -f 2 | sed s/"^ "//
+ else
+ exit_failure_operation_impossible "no method available for querying MIME type of '$filename'"
fi
if [ $? -eq 0 ]; then
--
2.31.1

View File

@ -0,0 +1,40 @@
From 9816ebb3e6fd9f23e993b8b7fcbd56f92d9c9197 Mon Sep 17 00:00:00 2001
From: Andrea Tarocchi <andrea.tarocchi@gmail.com>
Date: Thu, 20 Feb 2020 22:01:04 +0100
Subject: [PATCH 15/16] fixed #166: xdg-open dose not search correctly in
directories with spaces in the name
---
scripts/xdg-mime.in | 2 +-
scripts/xdg-open.in | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/xdg-mime.in b/scripts/xdg-mime.in
index 034d0ef..612d2ce 100644
--- a/scripts/xdg-mime.in
+++ b/scripts/xdg-mime.in
@@ -307,7 +307,7 @@ search_desktop_file()
grep -l "$MIME;" "$dir/"*.desktop 2>/dev/null
- for f in $dir/*/; do
+ for f in "$dir/"*/; do
[ -d "$f" ] && search_desktop_file "$MIME" "$f"
done
}
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index 202f3e3..8de839a 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -328,7 +328,7 @@ search_desktop_file()
fi
fi
- for d in $dir/*/; do
+ for d in "$dir/"*/; do
[ -d "$d" ] && search_desktop_file "$default" "$d" "$target"
done
}
--
2.31.1

View File

@ -0,0 +1,59 @@
From d11b33ec7f24cfb1546f6b459611d440013bdc72 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com>
Date: Wed, 21 Oct 2020 16:58:20 +0200
Subject: [PATCH 16/16] Fix xdg-settings support for default-web-browser for
Plasma 5.19+
---
scripts/xdg-settings.in | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
mode change 100644 => 100755 scripts/xdg-settings.in
diff --git a/scripts/xdg-settings.in b/scripts/xdg-settings.in
old mode 100644
new mode 100755
index 3781de8..ab18d3a
--- a/scripts/xdg-settings.in
+++ b/scripts/xdg-settings.in
@@ -130,7 +130,7 @@ set_browser_mime()
fix_local_desktop_file "$1" "$MIME" || return
mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/applications"
xdg-mime default "$1" "$MIME" || return
- if [ x"`get_browser_mime`" != x"$1" ]; then
+ if [ x"`get_browser_mime $MIME`" != x"$1" ]; then
# Put back the original value
xdg-mime default "$orig" "$MIME"
exit_failure_operation_failed
@@ -203,7 +203,13 @@ resolve_kde_browser_desktop()
read_kde_browser()
{
- read_kde_config kdeglobals General BrowserApplication
+ ret=`read_kde_config kdeglobals General BrowserApplication`
+ if [ -z "$ret" ]; then
+ # since Plasma >= 5.19
+ ret=`get_browser_mime "x-scheme-handler/http"`
+ fi
+
+ echo $ret
}
get_browser_kde()
@@ -252,7 +258,13 @@ check_browser_kde()
set_browser_kde()
{
- set_browser_mime "$1" || return
+ # Set the default browser.
+ for protocol in http https; do
+ set_browser_mime "$1" "x-scheme-handler/$protocol" || return
+ done
+
+ # Plasma < 5.19
+ set_browser_mime "$1" "text/html" || return
if [ x"${KDE_SESSION_VERSION}" = x"5" ]; then
kwriteconfig5 --file kdeglobals --group General --key BrowserApplication "$1"
else
--
2.31.1

View File

@ -0,0 +1,30 @@
From 6519ca76246c3c1ad941d3117d4e3a2d4a1dc599 Mon Sep 17 00:00:00 2001
From: shamilbi <shamilbi@gmail.com>
Date: Tue, 27 Jun 2023 19:25:38 +0200
Subject: [PATCH] fix: egrep and fgrep commands have been deprecated since 2007
https://news.slashdot.org/story/22/09/05/0135254/
The egrep and fgrep commands have been deprecated since 2007.
Beginning with GNU Grep 3.8 today, calling these commands will now issue
a warning to the user that instead they should use
grep -E and grep -F, respectively
---
scripts/xdg-open.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index 2456aa7..140a216 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -72,7 +72,7 @@ get_key()
is_file_url_or_path()
{
if echo "$1" | grep -q '^file://' \
- || ! echo "$1" | egrep -q '^[[:alpha:]][[:alpha:][:digit:]+\.\-]*:'; then
+ || ! echo "$1" | grep -Eq '^[[:alpha:]][[:alpha:][:digit:]+\.\-]*:'; then
return 0
else
return 1
--
GitLab

17
sources
View File

@ -1,20 +1,3 @@
SHA512 (xdg-utils-1.1.3.tar.gz) = d1f819a211eb4104a90dfdc6fedcb640fd46b15ccfc8762266f8f538c49d74cb00027b8c1af991fb2a200acb4379986ae375700e06a2aa08fb41a38f883acb3e SHA512 (xdg-utils-1.1.3.tar.gz) = d1f819a211eb4104a90dfdc6fedcb640fd46b15ccfc8762266f8f538c49d74cb00027b8c1af991fb2a200acb4379986ae375700e06a2aa08fb41a38f883acb3e
SHA512 (xdg-utils-1.1.3.tar.gz.md5sum) = e467c3226563f800be9120a499181e91e5dc8ef1347140aceb9ac582bbf2ad2b54ecdcd6fef7dc3cec599333dfda02f830f17cb857d0fb91238a47f36399c3b1 SHA512 (xdg-utils-1.1.3.tar.gz.md5sum) = e467c3226563f800be9120a499181e91e5dc8ef1347140aceb9ac582bbf2ad2b54ecdcd6fef7dc3cec599333dfda02f830f17cb857d0fb91238a47f36399c3b1
SHA512 (xdg-utils-1.1.3.tar.gz.sha1sum) = bd5986c298c6496a2b21aa83a86d768473dd19b25070c04487000a2b5c3b29df5b3e967eab400db94f9a21444a334b97965e5555bcbbfaed48ab56280222c8a2 SHA512 (xdg-utils-1.1.3.tar.gz.sha1sum) = bd5986c298c6496a2b21aa83a86d768473dd19b25070c04487000a2b5c3b29df5b3e967eab400db94f9a21444a334b97965e5555bcbbfaed48ab56280222c8a2
SHA512 (0001-open-for-post-1.1.3-development.patch) = e1335d9d1ef13431eeb6945162bde6af4d5351af814a0e56d627a0e53e31e3d60d4466e59c3024e8c4badba127860d42ee43935ebdd4f6407de4e02fc70e5674
SHA512 (0002-xdg-open-better-pcmanfm-check-BR106636-BR106161.patch) = d7f36222e0ab32179ddb62e72576f9740f0bf829ec01f5b1c12c3f8206a16faeb2c7bff232d75d04aa91f80cf2478b36cc91e60f750791ad707f909df33f299b
SHA512 (0003-xdg-email-Support-for-Deepin.patch) = dd765bc2d7585a41b144cdb5b2a9955efb484cfb1130d138d46e3fc5e82245597f610ebd519df3b5fa840c03be1667038c8c5b606b6b2311410c955610b7b1f7
SHA512 (0004-Restore-matching-of-older-deepin-names.patch) = cefa214ed2f98f6f018ce73ecdcdb8be5337875121534f0be48becfea3a4b1c5b3ff5cd333c32fff30d11f174f91c59a69267f80b12f0364d42bf902278089e4
SHA512 (0005-xdg-open-handle-file-localhost.patch) = 112a48fd5f6376dfed090e0ea5e22427309187325d775e7c4e92b71713f300ec390e14ea45f3d5132489316de19754d020da301fdc8f5892538de8b14298cc2e
SHA512 (0006-test-lib.sh-run-eat-xdg-open-s-exit-code.patch) = 0c222edfd0212b54cd80231927d6cfdbcbc5980e84246a782167a8963fc34b541242e0c36e4cad264fdf7eff0c1b050426216980f552a6da7e7105e596324dd8
SHA512 (0007-Fix-a-bug-when-xdg-terminal-needs-gsettings-to-get-t.patch) = 4497285c808bac541f02d19658e8e05aa5e039e43a9111a1d34ff48933a7a28aee592f0f54e504dd9094d266cde261ef47272a6737fcf66c776753d5835bdef2
SHA512 (0008-Fixes-x-argument-which-is-the-default-for-gnome-mate.patch) = 65985208b2850f52c7c6105afb24aa1a0ccdd0841c4f863ff4af2ef5bcd0a72e17c3e6f454afa02399bc987a44249cab368f0f574ead08e972015d5157e0e3f9
SHA512 (0009-xdg-screensaver-Sanitise-window-name-before-sending-.patch) = d910eafb08cfc9508f9035c6a28e402d7da26c1461b6d3411a34ce17315d64b9de802c65cf5ffb93439ba55336e64410ee313bb3a43ec68d637f0a360c011fb3
SHA512 (0010-xdg-su-fix-some-easy-TODOs.patch) = f055e3093508409f0a29eb2bc056c1ee225f2dd072176947cb87056c4ca26a5605eff2bb61dcc96cbf6977fc754fb7e05aad38de3481ea9de016101d4eb70cfd
SHA512 (0011-xdg-open-fix-comment-typo.patch) = 7f0dc54b3460222096e150f767de9241f75591452dd8101817a607bfc83c9eec4c20c4c28e66e013ba68dca5e0bb0de93d9223e5596658cc7c7d8544aaab13dc
SHA512 (0012-Enable-cinnamon-screensaver-for-xdg-aware-desktop-en.patch) = 6bf9ec232d6d6df961dbbcb9b797f8242221c837ab5524148c7e9e7e6c888797a4312fed996b966fff8d29dc6017ca1d33cee3560287d8bcf372db20182c6779
SHA512 (0013-support-digits-in-uri-scheme-regex.patch) = c4f6f2efb1dd8c884d452fcb9067b3eedc104604856da361b163bf1323ae880e253f3e62d33b47c6f0c549ad939a96974aae21efde679783590b511f71e194e9
SHA512 (0014-xdg-mime-return-correct-exit-code-for-GNOME.patch) = bb6c89009067db65fbfc9ffafcf8d329ad809bb7420358a1c20cb21a391f6916390c2f18134a3b5654e267583a036c5ec8ce1fc0cc4df9b221a0f572e6941627
SHA512 (0015-fixed-166-xdg-open-dose-not-search-correctly-in-dire.patch) = dd23d094e3db5c984617e577e56056e7ac168b2ab6b66ec0aaa4cca2c43709bff36671fe2681004e08bc0886c2efc12ece5fe10697b2fd9ea64ddb81c09c05ba
SHA512 (0016-Fix-xdg-settings-support-for-default-web-browser-for.patch) = 1f5841c4c46b62e3f6ae2ddb6bc0411d9105e23941e0c593a23a6731a8a4cc6946574d4f9c85b766ca4297303edb9f6a91cf2c435e74609936c86b89e5e190f2
SHA512 (0017-Use-grep-E-instead-of-the-obsoleted-egrep.patch) = 94e8f391c51946a730d8b2a86f48b34e5e60a77b6b26af2be11c660e8493db2ac375f619d60ed21e8f9de84ec7c000ff497f076013e2028648dd84bd18229514

View File

@ -1,19 +1,20 @@
Summary: Basic desktop integration functions Summary: Basic desktop integration functions
Name: xdg-utils Name: xdg-utils
Version: 1.1.3 Version: 1.1.3
Release: 15%{?dist} Release: 15%{?dist}
URL: http://portland.freedesktop.org/ URL: https://www.freedesktop.org/wiki/Software/xdg-utils/
%if 0%{?snap:1} %if 0%{?snap:1}
Source0: xdg-utils-%{version}-%{snap}.tar.gz Source0: xdg-utils-%{version}-%{snap}.tar.gz
%else %else
# at least until freedesktop folks move over to release dir
Source0: https://people.freedesktop.org/~rdieter/xdg-utils/xdg-utils-%{version}.tar.gz Source0: https://people.freedesktop.org/~rdieter/xdg-utils/xdg-utils-%{version}.tar.gz
#Source0: http://portland.freedesktop.org/download/xdg-utils-%{version}%{?prerelease:-%{prerelease}}.tar.gz # New location
#Source0: https://gitlab.freedesktop.org/xdg/xdg-utils/-/archive/v1.1.3/xdg-utils-v%%{version}.tar.gz
#Source0: http://portland.freedesktop.org/download/xdg-utils-%%{version}%%{?prerelease:-%%{prerelease}}.tar.gz
%endif %endif
Source1: xdg-utils-git_checkout.sh Source1: xdg-utils-git_checkout.sh
License: MIT License: MIT
## upstream patches (treat as sources in lookaside cache) ## upstream patches (treat as sources in lookaside cache)
Patch1: 0001-open-for-post-1.1.3-development.patch Patch1: 0001-open-for-post-1.1.3-development.patch
@ -49,7 +50,7 @@ Requires: which
%description %description
The %{name} package is a set of simple scripts that provide basic The %{name} package is a set of simple scripts that provide basic
desktop integration functions for any Free Desktop, such as Linux. desktop integration functions for any Free Desktop, such as Linux.
They are intended to provide a set of defacto standards. They are intended to provide a set of defacto standards.
This means that: This means that:
* Third party software developers can rely on these xdg-utils * Third party software developers can rely on these xdg-utils
for all of their simple integration needs. for all of their simple integration needs.
@ -80,15 +81,15 @@ The following scripts are provided at this time:
make scripts-clean -C scripts make scripts-clean -C scripts
make man scripts %{?_smp_mflags} -C scripts make man scripts %{?_smp_mflags} -C scripts
%endif %endif
make %{?_smp_mflags} %make_build
%install %install
make install DESTDIR=%{buildroot} %make_install
%files %files
%doc ChangeLog LICENSE README TODO %doc ChangeLog README TODO
%license LICENSE
%{_bindir}/xdg-desktop-icon %{_bindir}/xdg-desktop-icon
%{_bindir}/xdg-desktop-menu %{_bindir}/xdg-desktop-menu
%{_bindir}/xdg-email %{_bindir}/xdg-email
@ -111,6 +112,9 @@ make install DESTDIR=%{buildroot}
* Tue Jul 25 2023 Rafael Guterres Jeffman <rjeffman@redhat.com> - 1.1.3-15 * Tue Jul 25 2023 Rafael Guterres Jeffman <rjeffman@redhat.com> - 1.1.3-15
- Use "grep -E" instead of the obsoleted "egrep" - Use "grep -E" instead of the obsoleted "egrep"
Resolves: BZ#2140197 Resolves: BZ#2140197
- mark LICENSE as %%license
- Spec cleanup
- Small patches, as a rule, are in git dist, to be more easy to read.
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-14 * Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild