Compare commits

..

No commits in common. "c9s" and "c8" have entirely different histories.
c9s ... c8

16 changed files with 518 additions and 801 deletions

6
.gitignore vendored
View File

@ -1,5 +1 @@
/xdg-utils-1.1.3.tar.gz SOURCES/xdg-utils-1.1.2.tar.gz
/xdg-utils-1.1.3.tar.gz.md5sum
/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

1
.xdg-utils.metadata Normal file
View File

@ -0,0 +1 @@
20cd4cc5cfaa904b12abf6d584deb568367f4d83 SOURCES/xdg-utils-1.1.2.tar.gz

View File

@ -0,0 +1,25 @@
From 233512d857379115736216392b048c753b5d04b5 Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@math.unl.edu>
Date: Mon, 8 May 2017 07:33:56 -0500
Subject: [PATCH 1/8] bump version: 1.1.2+
---
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 160e3ca..8b85883 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.2"
+ echo "@NAME@ 1.1.2+"
exit_success
;;
esac
--
2.14.3

View File

@ -0,0 +1,24 @@
From fb9ee8c69932feb716ad4db793a7941dd06b345c Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@math.unl.edu>
Date: Mon, 8 May 2017 07:34:29 -0500
Subject: [PATCH 2/8] init 1.1.3 ChangeLog section
---
ChangeLog | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 77e6cef..c819efb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,6 @@
-=== xdg-utils 1.1.2 (unreleased) ===
+=== xdg-utils 1.1.3 ===
+
+=== xdg-utils 1.1.2 ===
2017-02-28 Rex Dieter <rdieter@fedoraproject.org>
* xdg-open: Add "chromium" to fallback browsers (BR99366)
--
2.14.3

View File

@ -0,0 +1,47 @@
From afeedb5c932371482b4ffe7b5e98bc1d619f9594 Mon Sep 17 00:00:00 2001
From: Nicholas Guriev <guriev-ns@ya.ru>
Date: Sat, 30 Sep 2017 21:34:18 +0300
Subject: [PATCH 3/8] Fix tests for 1f8e58d51e6fb3f50f59ed2d8265f2f346ac68e6
---
autotests/t-xdg-mime-query-default.sh | 2 ++
autotests/t-xdg-settings.sh | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/autotests/t-xdg-mime-query-default.sh b/autotests/t-xdg-mime-query-default.sh
index 66bb8d7..a746b1d 100755
--- a/autotests/t-xdg-mime-query-default.sh
+++ b/autotests/t-xdg-mime-query-default.sh
@@ -3,6 +3,8 @@ COMMAND_TESTED="xdg-mime query default"
. ./test-lib.sh
test_that_it reads \$XDG_CONFIG_HOME/mimeapps.list
+mock mosaic # Default app should exist
+mock_desktop_file mosaic
mock_default_app x-scheme-handler/http mosaic
handler=$(run generic xdg-mime query default x-scheme-handler/http)
assert_equal mosaic.desktop "$handler"
diff --git a/autotests/t-xdg-settings.sh b/autotests/t-xdg-settings.sh
index 7b697e4..b8255ab 100755
--- a/autotests/t-xdg-settings.sh
+++ b/autotests/t-xdg-settings.sh
@@ -12,12 +12,16 @@ assert_run gconftool-2 --get /desktop/gnome/applications/browser/exec
for de in gnome3 cinnamon lxde mate generic; do
test_that_it determines default browser from \
\$XDG_CONFIG_HOME/mimeapps.list in $de
+ mock mosaic # Default app should exist
+ mock_desktop_file mosaic
mock_default_app x-scheme-handler/http mosaic
assert_equal mosaic.desktop \
"$(run $de xdg-settings get default-web-browser)"
test_that_it determines default URL handler from \
\$XDG_CONFIG_HOME/mimeapps.list in $de
+ mock footorrent # Default app should exist
+ mock_desktop_file footorrent
mock_default_app x-scheme-handler/magnet footorrent
assert_equal \
footorrent.desktop \
--
2.14.3

View File

@ -0,0 +1,25 @@
From 186b6d7839ae8528d845c977fb680a46bd1c6123 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
Date: Fri, 13 Oct 2017 11:40:05 +0300
Subject: [PATCH 4/8] xdg-mime.1: Add missing period
---
scripts/desc/xdg-mime.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/desc/xdg-mime.xml b/scripts/desc/xdg-mime.xml
index 04d1e17..64bfc85 100644
--- a/scripts/desc/xdg-mime.xml
+++ b/scripts/desc/xdg-mime.xml
@@ -119,7 +119,7 @@ and adding descriptions for new file types</refpurpose>
</simpara>
<simpara>
<replaceable>application</replaceable> is the desktop file
- id of the application and has the form vendor-name.desktop
+ id of the application and has the form vendor-name.desktop.
<replaceable>application</replaceable> must already be installed
in the desktop menu before it can be made the default handler.
The application's desktop file must list support for all the
--
2.14.3

View File

@ -0,0 +1,209 @@
From fa5805559ad27382ef62110cb23e67d6eb649030 Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@gmail.com>
Date: Wed, 29 Nov 2017 14:07:24 -0600
Subject: [PATCH 5/8] Spelling fixes (BR103255)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Credit to Ville Skyttä <ville.skytta@iki.fi>
---
ChangeLog | 4 ++--
scripts/desc/xdg-settings.xml | 2 +-
scripts/xdg-desktop-menu.in | 2 +-
scripts/xdg-screensaver.in | 2 +-
tests/README | 4 ++--
tests/debug/t.extraout | 2 +-
tests/debug/t.interactive | 2 +-
tests/doc_gen.pl | 2 +-
tests/include/testassertions.sh | 10 +++++-----
tests/testrun | 2 +-
10 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c819efb..292915f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -541,7 +541,7 @@
2006-04-24 Kevin Krammer <kevin.krammer@gmx.at>
* Applied patch provided by Benedikt Meurer <benedikt.meurer@unix-ag.uni-siegen.de>
- to improve the compatability of the Makefile
+ to improve the compatibility of the Makefile
* Added --title option to xdg-file-dialog
* Applied another path by Benedikt to let xdg-file-dialog use
zenity on GNOME and XFCE
@@ -564,7 +564,7 @@
Currently only used in xdg-mime to gather feedback
2006-04-08 Kevin Krammer <kevin.krammer@gmx.at>
- * In case of $BROWSER being not avialable or empty, try a fixed list of well
+ * In case of $BROWSER being not available or empty, try a fixed list of well
known browsers instead
2006-04-06 Kevin Krammer <kevin.krammer@gmx.at>
diff --git a/scripts/desc/xdg-settings.xml b/scripts/desc/xdg-settings.xml
index 56055b7..255d712 100644
--- a/scripts/desc/xdg-settings.xml
+++ b/scripts/desc/xdg-settings.xml
@@ -114,7 +114,7 @@
<refsect1 id="properties">
<title>Properties</title>
<para>
- When using xdg-settings to get, check or set a destkop setting, properties
+ When using xdg-settings to get, check or set a desktop setting, properties
and possibly sub-properties are used to specify the setting to be changed.
</para>
<para>
diff --git a/scripts/xdg-desktop-menu.in b/scripts/xdg-desktop-menu.in
index 13159cb..9d837e1 100644
--- a/scripts/xdg-desktop-menu.in
+++ b/scripts/xdg-desktop-menu.in
@@ -394,7 +394,7 @@ while [ $# -gt 0 ] ; do
case "$parm" in
*.directory)
if [ -n "$desktop_files" ] ; then
- exit_failure_syntax "'$parm' must preceed any *.desktop file"
+ exit_failure_syntax "'$parm' must precede any *.desktop file"
fi
directory_files="$directory_files $parm"
;;
diff --git a/scripts/xdg-screensaver.in b/scripts/xdg-screensaver.in
index aecd8e3..9e68196 100644
--- a/scripts/xdg-screensaver.in
+++ b/scripts/xdg-screensaver.in
@@ -583,7 +583,7 @@ screensaver_mate_screensaver()
{
# DBUS interface for mate-screensaver
# This is same as gnome's for now but may change in the future as MATE
-# does not follow gnome's developement necessarily.
+# does not follow gnome's development necessarily.
case "$1" in
suspend)
screensaver_suspend_loop \
diff --git a/tests/README b/tests/README
index 26469f2..8ebcfef 100644
--- a/tests/README
+++ b/tests/README
@@ -18,7 +18,7 @@ NORESULT: test_system_mime_install
See xdg-test.log for details.
NOT OK!
-FAIL indicates (not suprisingly) a test failure.
+FAIL indicates (not surprisingly) a test failure.
NORESULT indicates that the test prerequisites failed for some reason.
(e.g. the install phase of an uninstall test failed)
UNTESTED means that something needed was not found. This is fine and should
@@ -26,7 +26,7 @@ UNTESTED means that something needed was not found. This is fine and should
(e.g. test requires root, but we are not running as root)
NOTE: The test runner makes guesses about appropriate values of XDG_TEST_DIR
- and PATH. These values can be overriden explicitly.
+ and PATH. These values can be overridden explicitly.
To run tests individually, or as smaller groups do something like
diff --git a/tests/debug/t.extraout b/tests/debug/t.extraout
index ea84b33..4946673 100755
--- a/tests/debug/t.extraout
+++ b/tests/debug/t.extraout
@@ -4,7 +4,7 @@
. "$XDG_TEST_DIR/include/testcontrol.sh"
test_extraout() {
-test_start "$FUNCNAME: verify functionallity of assert_nostdout"
+test_start "$FUNCNAME: verify functionality of assert_nostdout"
test_procedure
diff --git a/tests/debug/t.interactive b/tests/debug/t.interactive
index fa203c2..6f6f858 100755
--- a/tests/debug/t.interactive
+++ b/tests/debug/t.interactive
@@ -4,7 +4,7 @@
. "$XDG_TEST_DIR/include/testcontrol.sh"
test_interactive() {
-test_start "$FUNCNAME: verify functionallity of assert_interactive"
+test_start "$FUNCNAME: verify functionality of assert_interactive"
test_procedure
diff --git a/tests/doc_gen.pl b/tests/doc_gen.pl
index ed29d94..50d134d 100755
--- a/tests/doc_gen.pl
+++ b/tests/doc_gen.pl
@@ -102,7 +102,7 @@ for $f ( @test_files ) {
}
#find initilization
elsif ( m/test_init/ ) {
- print HTM "<h2>Depencencies</h2>\n";
+ print HTM "<h2>Dependencies</h2>\n";
$state = 'INIT';
next;
}
diff --git a/tests/include/testassertions.sh b/tests/include/testassertions.sh
index 1ba026d..142c0de 100644
--- a/tests/include/testassertions.sh
+++ b/tests/include/testassertions.sh
@@ -5,7 +5,7 @@
. "$XDG_TEST_DIR/include/testfuncs.sh"
## NOTE: Documentation is generated AUTOMATICALLY from this file
-## Function usage must immediately follow function delcaration
+## Function usage must immediately follow function declaration
assert_exit() {
# execute command (saving output) and check exit code
@@ -41,7 +41,7 @@ assert_interactive_notroot() {
}
assert_interactive() {
-# Useage:
+# Usage:
# assert_interactive {msg} [y|n|C|s varname]
#
# msg is the text to print.
@@ -122,7 +122,7 @@ assert_file_not_in_path() {
assert_file() {
-# Assert the existance of an exact filename
+# Assert the existence of an exact filename
# Usage: assert_file FILE
if [ ! -e "$1" ] ; then
test_fail "'$1' does not exist"
@@ -140,7 +140,7 @@ assert_file() {
}
assert_nofile() {
-# Assert the non existance of an exact filename.
+# Assert the non existence of an exact filename.
# Opposite of 'assert_file'
if [ -e "$1" ] ; then
test_fail "'$1' exists."
@@ -339,7 +339,7 @@ get_unique_name() {
varname="$1"
file="$2"
if [ -z "$varname" ] ; then
- echo "TEST SYNAX ERROR: get_unique_name requries a variable name"
+ echo "TEST SYNAX ERROR: get_unique_name requires a variable name"
exit 255
fi
diff --git a/tests/testrun b/tests/testrun
index 822fc69..4a9f748 100755
--- a/tests/testrun
+++ b/tests/testrun
@@ -123,7 +123,7 @@ if [ -z "$XDG_TEST_SELF_LAUNCH" ] ; then # not self launched
else
SUCMD=`which sudo 2>/dev/null`
echo "Running ${SUCMD-su} for system tests."
- echo "Please enter an apropriate password if requested."
+ echo "Please enter an appropriate password if requested."
fi
# Note if sudo is not found, $SUCMD will be blank, so run su directly.
# We cannot assume su works since systems like Ubuntu require sudo
--
2.14.3

View File

@ -0,0 +1,48 @@
From eda08ef065adac7cfa46f296d378cc06a3131d3e Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@gmail.com>
Date: Mon, 18 Dec 2017 15:50:45 -0600
Subject: [PATCH 6/8] xdg-mime awk script syntax error (BR104298)
---
ChangeLog | 3 +++
scripts/xdg-mime.in | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 292915f..964006c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
=== xdg-utils 1.1.3 ===
+2017-1218
+ * xdg-mime awk script syntax error (BR104298)
+
=== xdg-utils 1.1.2 ===
2017-02-28 Rex Dieter <rdieter@fedoraproject.org>
diff --git a/scripts/xdg-mime.in b/scripts/xdg-mime.in
index b67581c..0e567c7 100644
--- a/scripts/xdg-mime.in
+++ b/scripts/xdg-mime.in
@@ -171,7 +171,7 @@ make_default_kde()
blanks++
suppress=1
} else if (associations && index($0, prefix) == 1) {
- value=substr($0, length(prefix) + 1, length)
+ value=substr($0, length(prefix) + 1, length())
split(value, apps, ";")
value=application ";"
count=0
@@ -369,7 +369,7 @@ check_mimeapps_list()
} else if (index($0, "[") == 1) {
indefault=0
} else if (!found && indefault && index($0, prefix) == 1) {
- print substr($0, length(prefix) +1, length)
+ print substr($0, length(prefix) +1, length())
found=1
}
}
--
2.14.3

View File

@ -0,0 +1,53 @@
From 7d4360c64d94de53d907f13ca99837285e972ec6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= <luis.artur.pereira@gmail.com>
Date: Wed, 17 May 2017 14:33:30 +0100
Subject: [PATCH 7/8] xdg-open: Fixes LXQt behavior
Commit 6387086e4938d568c2bab185632f60e1619b3f68 introduced LXQt support.
In xdg-open it assumed that LXQt and LXDE are the same. They aren't. LXQt
does not have pcmanfm, it has pcmanfm-qt.
LXQt doesn't want to rely on pcmamfm-qt to handle it: LXQt is very modular
and can be deployed without pcmanfm-qt.
open_generic() works for LXQt but it depends on mimeopen and mimetype. In
the future we will want, for sure, to drop those dependencies. That's the
reason for the existence of open_lxqt().
---
scripts/xdg-open.in | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index 9817c5f..2972257 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -447,6 +447,11 @@ open_lxde()
fi
}
+open_lxqt()
+{
+ open_generic "$1"
+}
+
[ x"$1" != x"" ] || exit_failure_syntax
url=
@@ -511,10 +516,14 @@ case "$DE" in
open_xfce "$url"
;;
- lxde|lxqt)
+ lxde)
open_lxde "$url"
;;
+ lxqt)
+ open_lxqt "$url"
+ ;;
+
enlightenment)
open_enlightenment "$url"
;;
--
2.14.3

View File

@ -0,0 +1,27 @@
From 13963edddcad55438f03aefd4db1538cc8f68f14 Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@gmail.com>
Date: Tue, 27 Feb 2018 15:58:42 -0600
Subject: [PATCH 8/8] Changelog for prior commit
---
ChangeLog | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 964006c..8060d47 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
=== xdg-utils 1.1.3 ===
-2017-1218
+2018-02-27
+ * xdg-open: Fixes LXQt behavior (BR81674,BR103146)
+
+2017-12-18
* xdg-mime awk script syntax error (BR104298)
=== xdg-utils 1.1.2 ===
--
2.14.3

View File

@ -0,0 +1,40 @@
From ce802d71c3466d1dbb24f2fe9b6db82a1f899bcb Mon Sep 17 00:00:00 2001
From: Gabriel Corona <gabriel.corona@enst-bretagne.fr>
Date: Mon, 19 Mar 2018 22:09:00 +0100
Subject: [PATCH] Avoid argument injection vulnerability in open_envvar()
---
scripts/xdg-open.in | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
index 2972257..021524b 100644
--- a/scripts/xdg-open.in
+++ b/scripts/xdg-open.in
@@ -351,6 +351,11 @@ open_generic_xdg_x_scheme_handler()
fi
}
+has_single_argument()
+{
+ test $# = 1
+}
+
open_envvar()
{
local oldifs="$IFS"
@@ -365,7 +370,10 @@ open_envvar()
fi
if echo "$browser" | grep -q %s; then
- $(printf "$browser" "$1")
+ # Avoid argument injection.
+ # See https://bugs.freedesktop.org/show_bug.cgi?id=103807
+ # URIs don't have IFS characters spaces anyway.
+ has_single_argument $1 && $(printf "$browser" "$1")
else
$browser "$1"
fi
--
2.17.1

View File

@ -1,12 +1,14 @@
#global prerelease rc3
#global snap 20150927git
Summary: Basic desktop integration functions Summary: Basic desktop integration functions
Name: xdg-utils Name: xdg-utils
Version: 1.1.3 Version: 1.1.2
Release: 11%{?dist} Release: 5%{?dist}
URL: http://portland.freedesktop.org/ URL: http://portland.freedesktop.org/
%if 0%{?snap:1} %if 0%{?snap:1}
Source0: xdg-utils-%{version}-%{snap}.tar.gz Source0: xdg-utils-1.1.0-%{snap}.tar.gz
%else %else
# at least until freedesktop folks move over to release dir # 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
@ -15,14 +17,21 @@ Source0: https://people.freedesktop.org/~rdieter/xdg-utils/xdg-utils-%{version}
Source1: xdg-utils-git_checkout.sh Source1: xdg-utils-git_checkout.sh
License: MIT License: MIT
# upstream patches ## upstream patches (treat as sources in lookaside cache)
Patch0: xdg-utils-1.1.3-upstream-fixes.patch Patch1: 0001-bump-version-1.1.2.patch
Patch2: 0002-init-1.1.3-ChangeLog-section.patch
Patch3: 0003-Fix-tests-for-1f8e58d51e6fb3f50f59ed2d8265f2f346ac68.patch
Patch4: 0004-xdg-mime.1-Add-missing-period.patch
Patch5: 0005-Spelling-fixes-BR103255.patch
Patch6: 0006-xdg-mime-awk-script-syntax-error-BR104298.patch
Patch7: 0007-xdg-open-Fixes-LXQt-behavior.patch
Patch8: 0008-Changelog-for-prior-commit.patch
Patch9: CVE-2017-18266.patch
# make sure BuildArch comes *after* patches, to ensure %%autosetup works right # make sure BuildArch comes *after* patches, to ensure %%autosetup works right
# http://bugzilla.redhat.com/1084309 # http://bugzilla.redhat.com/1084309
BuildArch: noarch BuildArch: noarch
BuildRequires: make
BuildRequires: gawk BuildRequires: gawk
BuildRequires: xmlto lynx BuildRequires: xmlto lynx
@ -92,39 +101,9 @@ make install DESTDIR=%{buildroot}
%changelog %changelog
* Tue Nov 23 2021 David King <amigadave@amigadave.com> - 1.1.3-11 * Thu Sep 20 2018 Alexander Larsson <alexl@redhat.com> - 1.1.2-5
- Pull in upstream fixes (#1881372) - Add patch for CVE-2017-18266
Resolves: #1578769
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1.1.3-10
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.1.3-9
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu May 24 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.1.3-2
- pull in upstream fixes
* Thu May 10 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.1.3-1
- xdg-utils-1.1.3
* Tue Feb 27 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.1.2-4 * Tue Feb 27 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.1.2-4
- pull in upstream fixes - pull in upstream fixes

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}

View File

@ -1,5 +0,0 @@
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.sha1sum) = bd5986c298c6496a2b21aa83a86d768473dd19b25070c04487000a2b5c3b29df5b3e967eab400db94f9a21444a334b97965e5555bcbbfaed48ab56280222c8a2
SHA512 (0001-open-for-post-1.1.3-development.patch) = e1335d9d1ef13431eeb6945162bde6af4d5351af814a0e56d627a0e53e31e3d60d4466e59c3024e8c4badba127860d42ee43935ebdd4f6407de4e02fc70e5674
SHA512 (0002-xdg-open-better-pcmanfm-check-BR106636-BR106161.patch) = d7f36222e0ab32179ddb62e72576f9740f0bf829ec01f5b1c12c3f8206a16faeb2c7bff232d75d04aa91f80cf2478b36cc91e60f750791ad707f909df33f299b

View File

@ -1,746 +0,0 @@
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 01/16] 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.33.1
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 02/16] 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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1
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.33.1