Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xdg-desktop-portal for openSUSE:Factory checked in at 2022-03-23 20:16:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xdg-desktop-portal (Old) and /work/SRC/openSUSE:Factory/.xdg-desktop-portal.new.25692 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xdg-desktop-portal" Wed Mar 23 20:16:59 2022 rev:25 rq:963643 version:1.14.1 Changes: -------- --- /work/SRC/openSUSE:Factory/xdg-desktop-portal/xdg-desktop-portal.changes 2022-03-20 20:54:51.130466339 +0100 +++ /work/SRC/openSUSE:Factory/.xdg-desktop-portal.new.25692/xdg-desktop-portal.changes 2022-03-23 20:18:14.882458336 +0100 @@ -1,0 +2,14 @@ +Sat Mar 19 09:41:29 UTC 2022 - Bj??rn Lie <bjorn....@gmail.com> + +- Update to version 1.14.1: + + Fix an issue in 1.14.0 where xdg-desktop-portal.service + starting before graphical-session-pre.target would cause the + GNOME session to deadlock by moving code to a new libexec + binary which handles deleting or migrating .desktop files (and + icons) from the dynamic launcher portal for apps which have + been uninstalled or renamed. + + Fix some bugs in the aforementioned launcher migration + implementation, "xdg-desktop-portal-rewrite-launchers". + + Fix build without libsystemd. + +------------------------------------------------------------------- Old: ---- xdg-desktop-portal-1.14.0.tar.xz New: ---- xdg-desktop-portal-1.14.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xdg-desktop-portal.spec ++++++ --- /var/tmp/diff_new_pack.tWFggk/_old 2022-03-23 20:18:15.430458646 +0100 +++ /var/tmp/diff_new_pack.tWFggk/_new 2022-03-23 20:18:15.438458650 +0100 @@ -17,7 +17,7 @@ Name: xdg-desktop-portal -Version: 1.14.0 +Version: 1.14.1 Release: 0 Summary: A portal frontend service for Flatpak License: LGPL-2.1-or-later @@ -106,9 +106,11 @@ %{_libexecdir}/xdg-desktop-portal-validate-icon %{_libexecdir}/xdg-document-portal %{_libexecdir}/xdg-permission-store +%{_libexecdir}/xdg-desktop-portal-rewrite-launchers %{_userunitdir}/%{name}.service %{_userunitdir}/xdg-document-portal.service %{_userunitdir}/xdg-permission-store.service +%{_userunitdir}/xdg-desktop-portal-rewrite-launchers.service %files devel %doc %{_defaultdocdir}/%{name}/ ++++++ xdg-desktop-portal-1.14.0.tar.xz -> xdg-desktop-portal-1.14.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/Makefile.in new/xdg-desktop-portal-1.14.1/Makefile.in --- old/xdg-desktop-portal-1.14.0/Makefile.in 2022-03-17 18:58:30.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/Makefile.in 2022-03-18 21:30:37.000000000 +0100 @@ -98,7 +98,8 @@ libexec_PROGRAMS = $(am__EXEEXT_1) xdg-permission-store$(EXEEXT) \ xdg-document-portal$(EXEEXT) $(am__EXEEXT_1) \ xdg-desktop-portal$(EXEEXT) \ - xdg-desktop-portal-validate-icon$(EXEEXT) $(am__EXEEXT_1) + xdg-desktop-portal-validate-icon$(EXEEXT) \ + xdg-desktop-portal-rewrite-launchers$(EXEEXT) $(am__EXEEXT_1) TESTS = $(am__EXEEXT_2) $(am__EXEEXT_8) installed_test_PROGRAMS = $(am__EXEEXT_6) check_PROGRAMS = $(am__EXEEXT_5) @@ -466,6 +467,17 @@ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(xdg_desktop_portal_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ +am_xdg_desktop_portal_rewrite_launchers_OBJECTS = src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.$(OBJEXT) +nodist_xdg_desktop_portal_rewrite_launchers_OBJECTS = +xdg_desktop_portal_rewrite_launchers_OBJECTS = \ + $(am_xdg_desktop_portal_rewrite_launchers_OBJECTS) \ + $(nodist_xdg_desktop_portal_rewrite_launchers_OBJECTS) +xdg_desktop_portal_rewrite_launchers_DEPENDENCIES = \ + $(am__DEPENDENCIES_1) +xdg_desktop_portal_rewrite_launchers_LINK = $(LIBTOOL) $(AM_V_lt) \ + --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ + $(CCLD) $(xdg_desktop_portal_rewrite_launchers_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ am_xdg_desktop_portal_validate_icon_OBJECTS = \ src/xdg_desktop_portal_validate_icon-validate-icon.$(OBJEXT) xdg_desktop_portal_validate_icon_OBJECTS = \ @@ -608,6 +620,7 @@ src/$(DEPDIR)/xdg_desktop_portal-xdp-dbus.Po \ src/$(DEPDIR)/xdg_desktop_portal-xdp-impl-dbus.Po \ src/$(DEPDIR)/xdg_desktop_portal-xdp-utils.Po \ + src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Po \ src/$(DEPDIR)/xdg_desktop_portal_validate_icon-validate-icon.Po \ src/$(DEPDIR)/xdg_document_portal-sd-escape.Po \ src/$(DEPDIR)/xdg_document_portal-xdp-utils.Po \ @@ -681,6 +694,8 @@ $(nodist_tests_test_backends_SOURCES) \ $(xdg_desktop_portal_SOURCES) \ $(nodist_xdg_desktop_portal_SOURCES) \ + $(xdg_desktop_portal_rewrite_launchers_SOURCES) \ + $(nodist_xdg_desktop_portal_rewrite_launchers_SOURCES) \ $(xdg_desktop_portal_validate_icon_SOURCES) \ $(xdg_document_portal_SOURCES) \ $(nodist_xdg_document_portal_SOURCES) \ @@ -691,6 +706,7 @@ $(am__test_portals_SOURCES_DIST) $(test_xdp_utils_SOURCES) \ $(testdb_SOURCES) $(tests_test_backends_SOURCES) \ $(am__xdg_desktop_portal_SOURCES_DIST) \ + $(xdg_desktop_portal_rewrite_launchers_SOURCES) \ $(xdg_desktop_portal_validate_icon_SOURCES) \ $(xdg_document_portal_SOURCES) $(xdg_permission_store_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ @@ -1270,7 +1286,8 @@ document-portal/org.freedesktop.impl.portal.PermissionStore.service.in \ document-portal/org.freedesktop.portal.Documents.service.in \ $(NULL) src/org.freedesktop.portal.Desktop.service.in \ - src/xdg-desktop-portal.service.in ${NULL} + src/xdg-desktop-portal.service.in \ + src/xdg-desktop-portal-rewrite-launchers.service.in ${NULL} dbus_service_DATA = $(NULL) \ document-portal/org.freedesktop.impl.portal.PermissionStore.service \ document-portal/org.freedesktop.portal.Documents.service \ @@ -1278,7 +1295,8 @@ systemduserunit_DATA = $(NULL) \ document-portal/xdg-permission-store.service \ document-portal/xdg-document-portal.service $(NULL) \ - src/xdg-desktop-portal.service + src/xdg-desktop-portal.service \ + src/xdg-desktop-portal-rewrite-launchers.service ACLOCAL_AMFLAGS = --install -I m4 ${ACLOCAL_FLAGS} AM_CPPFLAGS = \ -DG_LOG_DOMAIN=\"xdg-desktop-portal\" \ @@ -1401,6 +1419,10 @@ xdg_desktop_portal_validate_icon_SOURCES = src/validate-icon.c xdg_desktop_portal_validate_icon_LDADD = $(GDK_PIXBUF_LIBS) xdg_desktop_portal_validate_icon_CFLAGS = $(GDK_PIXBUF_CFLAGS) -DHELPER=\"$(BWRAP)\" -D_GNU_SOURCE=1 +xdg_desktop_portal_rewrite_launchers_SOURCES = src/rewrite-launchers.c +nodist_xdg_desktop_portal_rewrite_launchers_SOURCES = src/dynamic-launcher.h +xdg_desktop_portal_rewrite_launchers_LDADD = $(BASE_LIBS) +xdg_desktop_portal_rewrite_launchers_CFLAGS = $(BASE_CFLAGS) tests_test_backends_CFLAGS = $(AM_CFLAGS) $(BASE_CFLAGS) tests_test_backends_LDADD = \ $(AM_LDADD) \ @@ -2127,6 +2149,12 @@ xdg-desktop-portal$(EXEEXT): $(xdg_desktop_portal_OBJECTS) $(xdg_desktop_portal_DEPENDENCIES) $(EXTRA_xdg_desktop_portal_DEPENDENCIES) @rm -f xdg-desktop-portal$(EXEEXT) $(AM_V_CCLD)$(xdg_desktop_portal_LINK) $(xdg_desktop_portal_OBJECTS) $(xdg_desktop_portal_LDADD) $(LIBS) +src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.$(OBJEXT): \ + src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) + +xdg-desktop-portal-rewrite-launchers$(EXEEXT): $(xdg_desktop_portal_rewrite_launchers_OBJECTS) $(xdg_desktop_portal_rewrite_launchers_DEPENDENCIES) $(EXTRA_xdg_desktop_portal_rewrite_launchers_DEPENDENCIES) + @rm -f xdg-desktop-portal-rewrite-launchers$(EXEEXT) + $(AM_V_CCLD)$(xdg_desktop_portal_rewrite_launchers_LINK) $(xdg_desktop_portal_rewrite_launchers_OBJECTS) $(xdg_desktop_portal_rewrite_launchers_LDADD) $(LIBS) src/xdg_desktop_portal_validate_icon-validate-icon.$(OBJEXT): \ src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) @@ -2311,6 +2339,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_desktop_portal-xdp-dbus.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_desktop_portal-xdp-impl-dbus.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_desktop_portal-xdp-utils.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_desktop_portal_validate_icon-validate-icon.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_document_portal-sd-escape.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/xdg_document_portal-xdp-utils.Po@am__quote@ # am--include-marker @@ -3717,6 +3746,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xdg_desktop_portal_CPPFLAGS) $(CPPFLAGS) $(xdg_desktop_portal_CFLAGS) $(CFLAGS) -c -o src/xdg_desktop_portal-xdg-desktop-resources.obj `if test -f 'src/xdg-desktop-resources.c'; then $(CYGPATH_W) 'src/xdg-desktop-resources.c'; else $(CYGPATH_W) '$(srcdir)/src/xdg-desktop-resources.c'; fi` +src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.o: src/rewrite-launchers.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xdg_desktop_portal_rewrite_launchers_CFLAGS) $(CFLAGS) -MT src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.o -MD -MP -MF src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Tpo -c -o src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.o `test -f 'src/rewrite-launchers.c' || echo '$(srcdir)/'`src/rewrite-launchers.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Tpo src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/rewrite-launchers.c' object='src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xdg_desktop_portal_rewrite_launchers_CFLAGS) $(CFLAGS) -c -o src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.o `test -f 'src/rewrite-launchers.c' || echo '$(srcdir)/'`src/rewrite-launchers.c + +src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.obj: src/rewrite-launchers.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xdg_desktop_portal_rewrite_launchers_CFLAGS) $(CFLAGS) -MT src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.obj -MD -MP -MF src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Tpo -c -o src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.obj `if test -f 'src/rewrite-launchers.c'; then $(CYGPATH_W) 'src/rewrite-launchers.c'; else $(CYGPATH_W) '$(srcdir)/src/rewrite-launchers.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Tpo src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/rewrite-launchers.c' object='src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xdg_desktop_portal_rewrite_launchers_CFLAGS) $(CFLAGS) -c -o src/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.obj `if test -f 'src/rewrite-launchers.c'; then $(CYGPATH_W) 'src/rewrite-launchers.c'; else $(CYGPATH_W) '$(srcdir)/src/rewrite-launchers.c'; fi` + src/xdg_desktop_portal_validate_icon-validate-icon.o: src/validate-icon.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xdg_desktop_portal_validate_icon_CFLAGS) $(CFLAGS) -MT src/xdg_desktop_portal_validate_icon-validate-icon.o -MD -MP -MF src/$(DEPDIR)/xdg_desktop_portal_validate_icon-validate-icon.Tpo -c -o src/xdg_desktop_portal_validate_icon-validate-icon.o `test -f 'src/validate-icon.c' || echo '$(srcdir)/'`src/validate-icon.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/xdg_desktop_portal_validate_icon-validate-icon.Tpo src/$(DEPDIR)/xdg_desktop_portal_validate_icon-validate-icon.Po @@ -4841,6 +4884,7 @@ -rm -f src/$(DEPDIR)/xdg_desktop_portal-xdp-dbus.Po -rm -f src/$(DEPDIR)/xdg_desktop_portal-xdp-impl-dbus.Po -rm -f src/$(DEPDIR)/xdg_desktop_portal-xdp-utils.Po + -rm -f src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Po -rm -f src/$(DEPDIR)/xdg_desktop_portal_validate_icon-validate-icon.Po -rm -f src/$(DEPDIR)/xdg_document_portal-sd-escape.Po -rm -f src/$(DEPDIR)/xdg_document_portal-xdp-utils.Po @@ -5014,6 +5058,7 @@ -rm -f src/$(DEPDIR)/xdg_desktop_portal-xdp-dbus.Po -rm -f src/$(DEPDIR)/xdg_desktop_portal-xdp-impl-dbus.Po -rm -f src/$(DEPDIR)/xdg_desktop_portal-xdp-utils.Po + -rm -f src/$(DEPDIR)/xdg_desktop_portal_rewrite_launchers-rewrite-launchers.Po -rm -f src/$(DEPDIR)/xdg_desktop_portal_validate_icon-validate-icon.Po -rm -f src/$(DEPDIR)/xdg_document_portal-sd-escape.Po -rm -f src/$(DEPDIR)/xdg_document_portal-xdp-utils.Po diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/NEWS new/xdg-desktop-portal-1.14.1/NEWS --- old/xdg-desktop-portal-1.14.0/NEWS 2022-03-17 18:58:12.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/NEWS 2022-03-18 21:30:17.000000000 +0100 @@ -1,3 +1,16 @@ +Changes in 1.14.1 +================= +Released: 2022-03-18 + +- Fix an issue in 1.14.0 where xdg-desktop-portal.service starting before + graphical-session-pre.target would cause the GNOME session to deadlock by + moving code to a new libexec binary which handles deleting or migrating + .desktop files (and icons) from the dynamic launcher portal for apps which + have been uninstalled or renamed. +- Fix some bugs in the aforementioned launcher migration implementation, + "xdg-desktop-portal-rewrite-launchers". +- Fix build without libsystemd + Changes in 1.14.0 ================= Released: 2022-03-17 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/configure new/xdg-desktop-portal-1.14.1/configure --- old/xdg-desktop-portal-1.14.0/configure 2022-03-17 18:58:29.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/configure 2022-03-18 21:30:36.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xdg-desktop-portal 1.14.0. +# Generated by GNU Autoconf 2.69 for xdg-desktop-portal 1.14.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='xdg-desktop-portal' PACKAGE_TARNAME='xdg-desktop-portal' -PACKAGE_VERSION='1.14.0' -PACKAGE_STRING='xdg-desktop-portal 1.14.0' +PACKAGE_VERSION='1.14.1' +PACKAGE_STRING='xdg-desktop-portal 1.14.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1431,7 +1431,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xdg-desktop-portal 1.14.0 to adapt to many kinds of systems. +\`configure' configures xdg-desktop-portal 1.14.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1503,7 +1503,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xdg-desktop-portal 1.14.0:";; + short | recursive ) echo "Configuration of xdg-desktop-portal 1.14.1:";; esac cat <<\_ACEOF @@ -1687,7 +1687,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xdg-desktop-portal configure 1.14.0 +xdg-desktop-portal configure 1.14.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2052,7 +2052,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xdg-desktop-portal $as_me 1.14.0, which was +It was created by xdg-desktop-portal $as_me 1.14.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -12795,7 +12795,7 @@ # Define the identity of the package. PACKAGE='xdg-desktop-portal' - VERSION='1.14.0' + VERSION='1.14.1' # Some tools Automake needs. @@ -17253,7 +17253,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xdg-desktop-portal $as_me 1.14.0, which was +This file was extended by xdg-desktop-portal $as_me 1.14.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17319,7 +17319,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xdg-desktop-portal config.status 1.14.0 +xdg-desktop-portal config.status 1.14.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/configure.ac new/xdg-desktop-portal-1.14.1/configure.ac --- old/xdg-desktop-portal-1.14.0/configure.ac 2022-03-17 18:23:37.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/configure.ac 2022-03-18 21:30:17.000000000 +0100 @@ -1,6 +1,6 @@ AC_PREREQ([2.63]) -AC_INIT([xdg-desktop-portal],[1.14.0]) +AC_INIT([xdg-desktop-portal],[1.14.1]) AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/cs.po new/xdg-desktop-portal-1.14.1/po/cs.po --- old/xdg-desktop-portal-1.14.0/po/cs.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/cs.po 2022-03-18 21:31:02.000000000 +0100 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2019-10-24 16:06+0200\n" "Last-Translator: Daniel Rusek <m...@asciiwolf.com>\n" "Language-Team: Czech <gnome-cs-l...@gnome.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/da.po new/xdg-desktop-portal-1.14.1/po/da.po --- old/xdg-desktop-portal-1.14.0/po/da.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/da.po 2022-03-18 21:31:02.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-10-12 01:25+0200\n" "Last-Translator: scootergrisen\n" "Language-Team: Danish\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/de.po new/xdg-desktop-portal-1.14.1/po/de.po --- old/xdg-desktop-portal-1.14.0/po/de.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/de.po 2022-03-18 21:31:02.000000000 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2016-09-23 19:17+0200\n" "Last-Translator: Mario Bl??ttermann <mario.blaetterm...@gmail.com>\n" "Language-Team: German <gnome...@gnome.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/en_GB.po new/xdg-desktop-portal-1.14.1/po/en_GB.po --- old/xdg-desktop-portal-1.14.0/po/en_GB.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/en_GB.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2019-08-24 23:48+0100\n" "Last-Translator: Zander Brown <zbr...@gnome.org>\n" "Language-Team: English - United Kingdom <en...@li.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/es.po new/xdg-desktop-portal-1.14.1/po/es.po --- old/xdg-desktop-portal-1.14.0/po/es.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/es.po 2022-03-18 21:31:02.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2021-12-04 14:52+0100\n" "Last-Translator: Adolfo Jayme Barrientos <fit...@ubuntu.com>\n" "Language-Team: Spanish\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/fr.po new/xdg-desktop-portal-1.14.1/po/fr.po --- old/xdg-desktop-portal-1.14.0/po/fr.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/fr.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2017-03-02 11:34+0100\n" "Last-Translator: Nicolas Cuffia <cuffia.cuceg...@vivaldi.net>\n" "Language-Team: French <gnom...@traduc.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/gl.po new/xdg-desktop-portal-1.14.1/po/gl.po --- old/xdg-desktop-portal-1.14.0/po/gl.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/gl.po 2022-03-18 21:31:02.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-01-06 00:03+0100\n" "Last-Translator: Fran Di??guez <frandieg...@gnome.org>\n" "Language-Team: Galician\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/hi.po new/xdg-desktop-portal-1.14.1/po/hi.po --- old/xdg-desktop-portal-1.14.0/po/hi.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/hi.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal 1.8.1\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2021-09-09 00:42+0700\n" "Last-Translator: Dmitry <dmitrydmitry...@gmail.com>\n" "Language-Team: Hindi <kde-i18n-...@kde.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/hr.po new/xdg-desktop-portal-1.14.1/po/hr.po --- old/xdg-desktop-portal-1.14.0/po/hr.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/hr.po 2022-03-18 21:31:02.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-01-25 16:44+0100\n" "Last-Translator: Milo Ivir <m...@milotype.de>\n" "Language-Team: \n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/hu.po new/xdg-desktop-portal-1.14.1/po/hu.po --- old/xdg-desktop-portal-1.14.0/po/hu.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/hu.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2019-02-12 21:18+0100\n" "Last-Translator: Bal??zs ??r <ur.balazs at fsf dot hu>\n" "Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/id.po new/xdg-desktop-portal-1.14.1/po/id.po --- old/xdg-desktop-portal-1.14.0/po/id.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/id.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-01-26 17:23+0700\n" "Last-Translator: Kukuh Syafaat <kukuhsyaf...@gnome.org>\n" "Language-Team: Indonesian <gnome-l10n...@googlegroups.com>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/it.po new/xdg-desktop-portal-1.14.1/po/it.po --- old/xdg-desktop-portal-1.14.0/po/it.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/it.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-02-10 16:11+0100\n" "Last-Translator: Milo Casagrande <m...@milo.name>\n" "Language-Team: Italian <gnome-it-l...@gnome.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/lt.po new/xdg-desktop-portal-1.14.1/po/lt.po --- old/xdg-desktop-portal-1.14.0/po/lt.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/lt.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-03-07 20:26+0200\n" "Last-Translator: Moo\n" "Language-Team: Lithuanian <gnome...@lists.akl.lt>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/nl.po new/xdg-desktop-portal-1.14.1/po/nl.po --- old/xdg-desktop-portal-1.14.0/po/nl.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/nl.po 2022-03-18 21:31:02.000000000 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2021-07-18 14:05+0200\n" "Last-Translator: Heimen Stoffels <vistau...@fastmail.com>\n" "Language-Team: Dutch\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/pl.po new/xdg-desktop-portal-1.14.1/po/pl.po --- old/xdg-desktop-portal-1.14.0/po/pl.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/pl.po 2022-03-18 21:31:02.000000000 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2019-10-24 16:30+0200\n" "Last-Translator: Piotr Dr??g <piotrd...@gmail.com>\n" "Language-Team: Polish <community-pol...@mozilla.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/pt.po new/xdg-desktop-portal-1.14.1/po/pt.po --- old/xdg-desktop-portal-1.14.0/po/pt.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/pt.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2022-01-20 10:40-0300\n" "Last-Translator: Juliano de Souza Camargo <julian...@protonmail.com>\n" "Language-Team: Portuguese < https://l10n.gnome.org/teams/pt/>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/pt_BR.po new/xdg-desktop-portal-1.14.1/po/pt_BR.po --- old/xdg-desktop-portal-1.14.0/po/pt_BR.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/pt_BR.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2019-11-24 22:29-0300\n" "Last-Translator: Rafael Fontenelle <rafae...@gnome.org>\n" "Language-Team: Brazilian Portuguese <gnome-pt_br-l...@gnome.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/ro.po new/xdg-desktop-portal-1.14.1/po/ro.po --- old/xdg-desktop-portal-1.14.0/po/ro.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/ro.po 2022-03-18 21:31:02.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2022-02-18 10:51+0000\n" "Last-Translator: Sergiu Bivol <ser...@cip.md>\n" "Language-Team: Romanian\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/ru.po new/xdg-desktop-portal-1.14.1/po/ru.po --- old/xdg-desktop-portal-1.14.0/po/ru.po 2022-03-17 18:59:06.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/ru.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-04-04 06:13+0300\n" "Last-Translator: ?????????????? ?????????????? <finz...@yandex.ru>\n" "Language-Team: Russian <gnome-...@gnome.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/sk.po new/xdg-desktop-portal-1.14.1/po/sk.po --- old/xdg-desktop-portal-1.14.0/po/sk.po 2022-03-17 18:59:07.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/sk.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-09-22 14:32+0200\n" "Last-Translator: Du??an Kazik <prescot...@gmail.com>\n" "Language-Team: Slovak <gnome-sk-l...@gnome.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/sr.po new/xdg-desktop-portal-1.14.1/po/sr.po --- old/xdg-desktop-portal-1.14.0/po/sr.po 2022-03-17 18:59:07.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/sr.po 2022-03-18 21:31:02.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2016-09-14 12:54+0200\n" "Last-Translator: ???????????????? ?????????????? <miroslavniko...@rocketmail.com>\n" "Language-Team: ???????????? <gnome...@googlegroups.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/sv.po new/xdg-desktop-portal-1.14.1/po/sv.po --- old/xdg-desktop-portal-1.14.0/po/sv.po 2022-03-17 18:59:07.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/sv.po 2022-03-18 21:31:03.000000000 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-09-20 00:11+0200\n" "Last-Translator: Anders Jonsson <anders.jons...@norsjovallen.se>\n" "Language-Team: Swedish <tp...@listor.tp-sv.se>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/tr.po new/xdg-desktop-portal-1.14.1/po/tr.po --- old/xdg-desktop-portal-1.14.0/po/tr.po 2022-03-17 18:59:07.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/tr.po 2022-03-18 21:31:03.000000000 +0100 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-02-27 21:57+0300\n" "Last-Translator: Sabri ??nal <libreaj...@gmail.com>\n" "Language-Team: T??rk??e <gnome-t...@gnome.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/uk.po new/xdg-desktop-portal-1.14.1/po/uk.po --- old/xdg-desktop-portal-1.14.0/po/uk.po 2022-03-17 18:59:07.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/uk.po 2022-03-18 21:31:03.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2019-11-10 13:03+0200\n" "Last-Translator: Yuri Chornoivan <yurc...@ukr.net>\n" "Language-Team: Ukrainian <trans...@lists.fedoraproject.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/xdg-desktop-portal.pot new/xdg-desktop-portal-1.14.1/po/xdg-desktop-portal.pot --- old/xdg-desktop-portal-1.14.0/po/xdg-desktop-portal.pot 2022-03-17 18:58:46.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/xdg-desktop-portal.pot 2022-03-18 21:30:48.000000000 +0100 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: xdg-desktop-portal 1.14.0\n" +"Project-Id-Version: xdg-desktop-portal 1.14.1\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <l...@li.org>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/zh_CN.po new/xdg-desktop-portal-1.14.1/po/zh_CN.po --- old/xdg-desktop-portal-1.14.0/po/zh_CN.po 2022-03-17 18:59:07.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/zh_CN.po 2022-03-18 21:31:03.000000000 +0100 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2020-10-09 00:19+0800\n" "Last-Translator: Dingzhong Chen <wsxy...@gmail.com>\n" "Language-Team: Chinese - China <i18n...@googlegroups.com>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/po/zh_TW.po new/xdg-desktop-portal-1.14.1/po/zh_TW.po --- old/xdg-desktop-portal-1.14.0/po/zh_TW.po 2022-03-17 18:59:07.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/po/zh_TW.po 2022-03-18 21:31:03.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: xdg-desktop-portal master\n" "Report-Msgid-Bugs-To: https://github.com/flatpak/xdg-desktop-portal/issues\n" -"POT-Creation-Date: 2022-03-17 10:58-0700\n" +"POT-Creation-Date: 2022-03-18 13:30-0700\n" "PO-Revision-Date: 2021-10-01 23:52+0700\n" "Last-Translator: Dmitry <dmitrydmitry...@gmail.com>\n" "Language-Team: Chinese (Taiwan) <chinese-l...@googlegroups.com>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/src/Makefile.am.inc new/xdg-desktop-portal-1.14.1/src/Makefile.am.inc --- old/xdg-desktop-portal-1.14.0/src/Makefile.am.inc 2022-03-17 18:23:12.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/src/Makefile.am.inc 2022-03-18 20:06:50.000000000 +0100 @@ -1,15 +1,18 @@ libexec_PROGRAMS += \ xdg-desktop-portal \ xdg-desktop-portal-validate-icon \ + xdg-desktop-portal-rewrite-launchers \ $(NULL) service_in_files += \ src/org.freedesktop.portal.Desktop.service.in \ src/xdg-desktop-portal.service.in \ + src/xdg-desktop-portal-rewrite-launchers.service.in \ ${NULL} dbus_service_DATA += src/org.freedesktop.portal.Desktop.service systemduserunit_DATA += src/xdg-desktop-portal.service +systemduserunit_DATA += src/xdg-desktop-portal-rewrite-launchers.service xdp_dbus_built_sources = src/xdp-dbus.c src/xdp-dbus.h xdp_impl_dbus_built_sources = src/xdp-impl-dbus.c src/xdp-impl-dbus.h @@ -180,3 +183,8 @@ xdg_desktop_portal_validate_icon_SOURCES = src/validate-icon.c xdg_desktop_portal_validate_icon_LDADD = $(GDK_PIXBUF_LIBS) xdg_desktop_portal_validate_icon_CFLAGS = $(GDK_PIXBUF_CFLAGS) -DHELPER=\"$(BWRAP)\" -D_GNU_SOURCE=1 + +xdg_desktop_portal_rewrite_launchers_SOURCES = src/rewrite-launchers.c +nodist_xdg_desktop_portal_rewrite_launchers_SOURCES = src/dynamic-launcher.h +xdg_desktop_portal_rewrite_launchers_LDADD = $(BASE_LIBS) +xdg_desktop_portal_rewrite_launchers_CFLAGS = $(BASE_CFLAGS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/src/dynamic-launcher.c new/xdg-desktop-portal-1.14.1/src/dynamic-launcher.c --- old/xdg-desktop-portal-1.14.0/src/dynamic-launcher.c 2022-03-17 18:23:12.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/src/dynamic-launcher.c 2022-03-18 20:13:44.000000000 +0100 @@ -243,7 +243,7 @@ else subdir = g_strdup_printf ("%sx%s", icon_size, icon_size); - icon_subdir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "icons", subdir, NULL); + icon_subdir = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_ICONS_DIR, subdir, NULL); icon_path = g_build_filename (icon_subdir, icon_name, NULL); g_key_file_set_string (key_file, G_KEY_FILE_DESKTOP_GROUP, "Icon", icon_path); @@ -375,7 +375,7 @@ /* Put the desktop file in ~/.local/share/xdg-desktop-portal/applications/ so * there's no ambiguity about which launchers were created by this portal. */ - desktop_dir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "applications", NULL); + desktop_dir = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_APPLICATIONS_DIR, NULL); g_mkdir_with_parents (desktop_dir, 0700); desktop_path = g_build_filename (desktop_dir, arg_desktop_file_id, NULL); if (!g_key_file_save_to_file (desktop_keyfile, desktop_path, &error)) @@ -386,7 +386,7 @@ */ link_path = g_build_filename (g_get_user_data_dir (), "applications", arg_desktop_file_id, NULL); link_file = g_file_new_for_path (link_path); - relative_path = g_build_filename ("..", "xdg-desktop-portal", "applications", arg_desktop_file_id, NULL); + relative_path = g_build_filename ("..", XDG_PORTAL_APPLICATIONS_DIR, arg_desktop_file_id, NULL); g_file_delete (link_file, NULL, NULL); if (!g_file_make_symbolic_link (link_file, relative_path, NULL, &error)) goto error; @@ -751,8 +751,8 @@ return G_DBUS_METHOD_INVOCATION_HANDLED; } - icon_dir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "icons", NULL); - desktop_dir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "applications", NULL); + icon_dir = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_ICONS_DIR, NULL); + desktop_dir = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_APPLICATIONS_DIR, NULL); link_file = g_file_new_build_filename (g_get_user_data_dir (), "applications", arg_desktop_file_id, NULL); if (!g_file_delete (link_file, NULL, &error)) @@ -803,7 +803,7 @@ if (!validate_desktop_file_id (app_id, arg_desktop_file_id, &error)) goto error; - desktop_dir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "applications", NULL); + desktop_dir = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_APPLICATIONS_DIR, NULL); desktop_path = g_build_filename (desktop_dir, arg_desktop_file_id, NULL); if (!g_file_get_contents (desktop_path, &contents, &length, &error)) @@ -852,8 +852,8 @@ if (!validate_desktop_file_id (app_id, arg_desktop_file_id, &error)) goto error; - desktop_dir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "applications", NULL); - icon_dir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "icons", NULL); + desktop_dir = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_APPLICATIONS_DIR, NULL); + icon_dir = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_ICONS_DIR, NULL); desktop_path = g_build_filename (desktop_dir, arg_desktop_file_id, NULL); if (!g_file_get_contents (desktop_path, &contents, &length, &error)) @@ -957,7 +957,7 @@ if (!validate_desktop_file_id (app_id, arg_desktop_file_id, &error)) goto error; - desktop_dir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "applications", NULL); + desktop_dir = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_APPLICATIONS_DIR, NULL); desktop_path = g_build_filename (desktop_dir, arg_desktop_file_id, NULL); if (!g_file_test (desktop_path, G_FILE_TEST_EXISTS)) @@ -999,219 +999,6 @@ return G_DBUS_METHOD_INVOCATION_HANDLED; } -static char * -find_renamed_app_id (const char *old_app_id) -{ - g_autofree char *renamed_to = NULL; - GList *app_infos = g_app_info_get_all (); - for (GList *l = app_infos; l; l = l->next) - { - GDesktopAppInfo *info = l->data; - g_auto(GStrv) renamed_from = NULL; - renamed_from = g_desktop_app_info_get_string_list (info, "X-Flatpak-RenamedFrom", NULL); - if (renamed_from == NULL) - continue; - if (!g_strv_contains ((const char * const *)renamed_from, old_app_id)) - continue; - - renamed_to = g_desktop_app_info_get_string (info, "X-Flatpak"); - break; - } - - g_list_free_full (app_infos, g_object_unref); - return g_steal_pointer (&renamed_to); -} - -/* - * It's possible an app was renamed using Flatpak's end-of-life-rebase - * mechanism, and either (a) the app was installed system-wide and the update - * was applied by another user, so the migration for this user has to happen - * when x-d-p launches at the start of the session, or (b) the version of - * Flatpak is not new enough for the migration of the launchers to be handled - * by Flatpak, so x-d-p has to do it. - * - * This function also handles deleting the launchers in case the parent app has - * been uninstalled. - */ -static void -migrate_renamed_app_launchers (void) -{ - g_autoptr(GFile) desktop_dir = NULL; - g_autoptr(GFileEnumerator) children = NULL; - g_autoptr(GError) error = NULL; - g_autofree char *icon_dir = NULL; - - desktop_dir = g_file_new_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "applications", NULL); - children = g_file_enumerate_children (desktop_dir, "standard::name", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &error); - if (children == NULL) - { - if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) - g_warning ("Error encountered enumerating launchers: %s", error->message); - return; - } - - icon_dir = g_build_filename (g_get_user_data_dir (), "xdg-desktop-portal", "icons", NULL); - for (;;) - { - g_autoptr(GFileInfo) info = g_file_enumerator_next_file (children, NULL, NULL); - const char *desktop_name; - g_autofree char *desktop_path = NULL; - g_autofree char *icon_path = NULL; - g_autofree char *tryexec_path = NULL; - g_autofree char *app_id = NULL; - g_autofree char *renamed_to = NULL; - g_autoptr(GKeyFile) key_file = NULL; - g_autoptr(GFile) icon_file = NULL; - g_autoptr(GFile) desktop_file = NULL; - - if (info == NULL) - return; - - desktop_name = g_file_info_get_name (info); - if (!g_str_has_suffix (desktop_name, ".desktop")) - continue; - - desktop_path = g_build_filename (g_file_peek_path (desktop_dir), desktop_name, NULL); - key_file = g_key_file_new (); - if (!g_key_file_load_from_file (key_file, desktop_path, - G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, - &error)) - { - g_warning ("Error encountered loading key file %s: %s", desktop_path, error->message); - continue; - } - - tryexec_path = g_key_file_get_string (key_file, G_KEY_FILE_DESKTOP_GROUP, "TryExec", NULL); - if (tryexec_path == NULL) - continue; - if (!g_path_is_absolute (tryexec_path)) - { - /* Here we're just checking for existence not a renamed binary */ - renamed_to = g_find_program_in_path (tryexec_path); - if (renamed_to) - continue; - } - else if (g_file_test (tryexec_path, G_FILE_TEST_IS_EXECUTABLE)) - { - continue; - } - else if (g_key_file_has_key (key_file, G_KEY_FILE_DESKTOP_GROUP, "X-Flatpak", NULL)) - { - app_id = g_path_get_basename (tryexec_path); - if (strlen(app_id) < 2 || - !g_dbus_is_name (app_id) || - !g_str_has_prefix (desktop_name, app_id)) - { - g_warning ("Unable to determine app id for %s", desktop_name); - continue; - } - renamed_to = find_renamed_app_id (app_id); - } - - icon_path = g_key_file_get_string (key_file, G_KEY_FILE_DESKTOP_GROUP, "Icon", NULL); - if (g_str_has_prefix (icon_path, icon_dir)) - icon_file = g_file_new_for_path (icon_path); - - desktop_file = g_file_new_for_path (desktop_path); - - if (renamed_to == NULL) - { - g_autoptr(GFile) link_file = NULL; - - link_file = g_file_new_build_filename (g_get_user_data_dir (), "applications", desktop_name, NULL); - if (!g_file_delete (link_file, NULL, &error)) - { - g_warning ("Couldn't delete sym link %s: %s", g_file_peek_path (link_file), error->message); - g_clear_error (&error); - } - - if (!g_file_delete (desktop_file, NULL, &error)) - { - g_warning ("Couldn't delete desktop file %s: %s", g_file_peek_path (desktop_file), error->message); - g_clear_error (&error); - } - - if (icon_file && !g_file_delete (icon_file, NULL, &error)) - { - g_warning ("Couldn't delete icon file %s: %s", g_file_peek_path (icon_file), error->message); - g_clear_error (&error); - } - } - else /* renamed_to != NULL */ - { - g_autoptr(GFile) link_file = NULL; - g_autoptr(GString) data_string = NULL; - g_autoptr(GKeyFile) new_key_file = NULL; - g_autofree char *new_desktop = NULL; - g_autofree char *new_icon = NULL; - g_autofree char *icon_basename = NULL; - g_autofree char *link_path = NULL; - g_autofree char *relative_path = NULL; - g_autofree char *old_data = NULL; - const gchar *desktop_suffix; - gchar *icon_suffix; - - if (!g_key_file_has_key (key_file, G_KEY_FILE_DESKTOP_GROUP, "X-Flatpak", NULL)) - g_assert_not_reached (); - - /* Fix paths in desktop file with a find-and-replace. */ - old_data = g_key_file_to_data (key_file, NULL, NULL); - data_string = g_string_new ((const char *)old_data); - g_string_replace (data_string, app_id, renamed_to, 0); - new_key_file = g_key_file_new (); - if (!g_key_file_load_from_data (new_key_file, data_string->str, -1, - G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, - &error)) - { - g_warning ("Cannot load desktop file %s after rewrite: %s", desktop_path, error->message); - g_warning ("Key file contents:\n%s\n", (const char *)data_string->str); - continue; - } - if (!g_key_file_save_to_file (new_key_file, desktop_path, &error)) - { - g_warning ("Couldn't rewrite desktop file %s: %s", desktop_path, error->message); - continue; - } - - /* Rename desktop file */ - desktop_suffix = desktop_name + strlen (app_id); - new_desktop = g_strconcat (renamed_to, desktop_suffix, NULL); - if (!g_file_set_display_name (desktop_file, new_desktop, NULL, &error)) - { - g_warning ("Unable to rename desktop file %s -> %s: %s", desktop_name, new_desktop, error->message); - continue; - } - - /* Fix symlink */ - link_path = g_build_filename (g_get_user_data_dir (), "applications", desktop_name, NULL); - link_file = g_file_new_for_path (link_path); - relative_path = g_build_filename ("..", "xdg-desktop-portal", "applications", new_desktop, NULL); - g_file_delete (link_file, NULL, NULL); - if (!g_file_make_symbolic_link (link_file, relative_path, NULL, &error)) - { - g_warning ("Unable to rename desktop file %s -> %s: %s", desktop_name, new_desktop, error->message); - continue; - } - - /* And rename the icon */ - if (icon_file) - { - icon_basename = g_path_get_basename (icon_path); - if (!g_str_has_prefix (icon_basename, app_id)) - continue; - - icon_suffix = icon_basename + strlen (app_id); - new_icon = g_strconcat (renamed_to, icon_suffix, NULL); - if (!g_file_set_display_name (icon_file, new_icon, NULL, &error)) - { - g_warning ("Unable to rename icon file %s -> %s: %s", icon_basename, new_icon, error->message); - continue; - } - } - } - } -} - static void dynamic_launcher_iface_init (XdpDynamicLauncherIface *iface) { @@ -1231,7 +1018,6 @@ g_object_bind_property (G_OBJECT (impl), "supported-launcher-types", G_OBJECT (dl), "supported-launcher-types", G_BINDING_SYNC_CREATE); - migrate_renamed_app_launchers (); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/src/dynamic-launcher.h new/xdg-desktop-portal-1.14.1/src/dynamic-launcher.h --- old/xdg-desktop-portal-1.14.0/src/dynamic-launcher.h 2022-03-17 18:23:12.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/src/dynamic-launcher.h 2022-03-18 20:13:44.000000000 +0100 @@ -26,6 +26,9 @@ #include <gio/gio.h> +#define XDG_PORTAL_APPLICATIONS_DIR "xdg-desktop-portal" G_DIR_SEPARATOR_S "applications" +#define XDG_PORTAL_ICONS_DIR "xdg-desktop-portal" G_DIR_SEPARATOR_S "icons" + GDBusInterfaceSkeleton * dynamic_launcher_create (GDBusConnection *connection, const char *dbus_name); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/src/rewrite-launchers.c new/xdg-desktop-portal-1.14.1/src/rewrite-launchers.c --- old/xdg-desktop-portal-1.14.0/src/rewrite-launchers.c 1970-01-01 01:00:00.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/src/rewrite-launchers.c 2022-03-18 21:30:17.000000000 +0100 @@ -0,0 +1,285 @@ +/* + * Copyright ?? 2022 Matthew Leeds + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + * Authors: + * Matthew Leeds <mwle...@protonmail.com> + */ + +#include "config.h" + +#ifdef HAVE_GLIB_2_66 + +#include <glib.h> +#include <gio/gdesktopappinfo.h> + +#include "dynamic-launcher.h" + +static char * +find_renamed_app_id (const char *old_app_id) +{ + g_autofree char *renamed_to = NULL; + g_autofree char *desktop_id = NULL; + + desktop_id = g_strconcat (old_app_id, ".desktop", NULL); + + GList *app_infos = g_app_info_get_all (); + for (GList *l = app_infos; l; l = l->next) + { + GDesktopAppInfo *info = l->data; + g_auto(GStrv) renamed_from = NULL; + renamed_from = g_desktop_app_info_get_string_list (info, "X-Flatpak-RenamedFrom", NULL); + if (renamed_from == NULL) + continue; + if (!g_strv_contains ((const char * const *)renamed_from, desktop_id)) + continue; + + renamed_to = g_desktop_app_info_get_string (info, "X-Flatpak"); + break; + } + + g_list_free_full (app_infos, g_object_unref); + return g_steal_pointer (&renamed_to); +} + +/* + * It's possible an app was renamed using Flatpak's end-of-life-rebase + * mechanism, and either (a) the app was installed system-wide and the update + * was applied by another user, so the migration for this user has to happen + * when this binary runs at the start of the session, or (b) the version of + * Flatpak is not new enough for the migration of the launchers to be handled + * by Flatpak, so x-d-p has to do it. + * + * This function also handles deleting the launchers in case the parent app has + * been uninstalled. + */ +static gboolean +migrate_renamed_app_launchers (void) +{ + g_autoptr(GFile) desktop_dir = NULL; + g_autoptr(GFileEnumerator) children = NULL; + g_autoptr(GError) error = NULL; + g_autofree char *icon_dir_path = NULL; + g_autofree char *desktop_dir_path = NULL; + gboolean success = TRUE; + + desktop_dir_path = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_APPLICATIONS_DIR, NULL); + desktop_dir = g_file_new_for_path (desktop_dir_path); + children = g_file_enumerate_children (desktop_dir, "standard::name", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &error); + if (children == NULL) + { + if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) + { + g_warning ("Error encountered enumerating launchers: %s", error->message); + success = FALSE; + } + return success; + } + + icon_dir_path = g_build_filename (g_get_user_data_dir (), XDG_PORTAL_ICONS_DIR, NULL); + for (;;) + { + g_autoptr(GFileInfo) info = g_file_enumerator_next_file (children, NULL, NULL); + const char *desktop_name; + g_autofree char *desktop_path = NULL; + g_autofree char *icon_path = NULL; + g_autofree char *tryexec_path = NULL; + g_autofree char *app_id = NULL; + g_autofree char *renamed_to = NULL; + g_autoptr(GKeyFile) key_file = NULL; + g_autoptr(GFile) icon_file = NULL; + g_autoptr(GFile) desktop_file = NULL; + + if (info == NULL) + return success; + + desktop_name = g_file_info_get_name (info); + if (!g_str_has_suffix (desktop_name, ".desktop")) + continue; + + desktop_path = g_build_filename (g_file_peek_path (desktop_dir), desktop_name, NULL); + key_file = g_key_file_new (); + if (!g_key_file_load_from_file (key_file, desktop_path, + G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, + &error)) + { + g_warning ("Error encountered loading key file %s: %s", desktop_path, error->message); + g_clear_error (&error); + success = FALSE; + continue; + } + + tryexec_path = g_key_file_get_string (key_file, G_KEY_FILE_DESKTOP_GROUP, "TryExec", NULL); + if (tryexec_path == NULL) + continue; + if (!g_path_is_absolute (tryexec_path)) + { + /* Here we're just checking for existence not a renamed binary */ + renamed_to = g_find_program_in_path (tryexec_path); + if (renamed_to) + continue; + } + else if (g_file_test (tryexec_path, G_FILE_TEST_IS_EXECUTABLE)) + { + continue; + } + else if (g_key_file_has_key (key_file, G_KEY_FILE_DESKTOP_GROUP, "X-Flatpak", NULL)) + { + app_id = g_path_get_basename (tryexec_path); + if (strlen(app_id) < 2 || + !g_dbus_is_name (app_id) || + !g_str_has_prefix (desktop_name, app_id)) + { + g_warning ("Unable to determine app id for %s", desktop_name); + success = FALSE; + continue; + } + renamed_to = find_renamed_app_id (app_id); + } + + icon_path = g_key_file_get_string (key_file, G_KEY_FILE_DESKTOP_GROUP, "Icon", NULL); + if (g_str_has_prefix (icon_path, icon_dir_path)) + icon_file = g_file_new_for_path (icon_path); + + desktop_file = g_file_new_for_path (desktop_path); + + if (renamed_to == NULL) + { + g_autoptr(GFile) link_file = NULL; + + link_file = g_file_new_build_filename (g_get_user_data_dir (), "applications", desktop_name, NULL); + if (!g_file_delete (link_file, NULL, &error)) + { + g_warning ("Couldn't delete sym link %s: %s", g_file_peek_path (link_file), error->message); + g_clear_error (&error); + success = FALSE; + } + + if (!g_file_delete (desktop_file, NULL, &error)) + { + g_warning ("Couldn't delete desktop file %s: %s", g_file_peek_path (desktop_file), error->message); + g_clear_error (&error); + success = FALSE; + } + + if (icon_file && !g_file_delete (icon_file, NULL, &error)) + { + g_warning ("Couldn't delete icon file %s: %s", g_file_peek_path (icon_file), error->message); + g_clear_error (&error); + success = FALSE; + } + } + else /* renamed_to != NULL */ + { + g_autoptr(GFile) link_file = NULL; + g_autoptr(GFile) new_link_file = NULL; + g_autoptr(GString) data_string = NULL; + g_autoptr(GKeyFile) new_key_file = NULL; + g_autofree char *new_desktop = NULL; + g_autofree char *new_desktop_path = NULL; + g_autofree char *new_icon = NULL; + g_autofree char *icon_basename = NULL; + g_autofree char *link_path = NULL; + g_autofree char *relative_path = NULL; + g_autofree char *old_data = NULL; + const gchar *desktop_suffix; + gchar *icon_suffix; + + if (!g_key_file_has_key (key_file, G_KEY_FILE_DESKTOP_GROUP, "X-Flatpak", NULL)) + g_assert_not_reached (); + + /* Fix paths in desktop file with a find-and-replace. */ + old_data = g_key_file_to_data (key_file, NULL, NULL); + data_string = g_string_new ((const char *)old_data); + g_string_replace (data_string, app_id, renamed_to, 0); + new_key_file = g_key_file_new (); + if (!g_key_file_load_from_data (new_key_file, data_string->str, -1, + G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, + &error)) + { + g_warning ("Cannot load desktop file %s after rewrite: %s", desktop_path, error->message); + g_warning ("Key file contents:\n%s\n", (const char *)data_string->str); + g_clear_error (&error); + success = FALSE; + continue; + } + + /* Write it out at the new path */ + g_assert (g_str_has_prefix (desktop_name, app_id)); + desktop_suffix = desktop_name + strlen (app_id); + new_desktop = g_strconcat (renamed_to, desktop_suffix, NULL); + new_desktop_path = g_build_filename (desktop_dir_path, new_desktop, NULL); + if (!g_key_file_save_to_file (new_key_file, new_desktop_path, &error)) + { + g_warning ("Couldn't rewrite desktop file %s to %s: %s", + desktop_path, new_desktop_path, error->message); + g_clear_error (&error); + success = FALSE; + continue; + } + + /* Fix symlink */ + link_path = g_build_filename (g_get_user_data_dir (), "applications", desktop_name, NULL); + link_file = g_file_new_for_path (link_path); + relative_path = g_build_filename ("..", XDG_PORTAL_APPLICATIONS_DIR, new_desktop, NULL); + g_file_delete (link_file, NULL, NULL); + new_link_file = g_file_new_build_filename (g_get_user_data_dir (), "applications", new_desktop, NULL); + if (!g_file_make_symbolic_link (new_link_file, relative_path, NULL, &error)) + { + g_warning ("Unable to rename desktop file link %s -> %s: %s", + desktop_name, new_desktop, error->message); + g_clear_error (&error); + success = FALSE; + continue; + } + + /* Delete the old desktop file */ + unlink (desktop_path); + + /* And rename the icon */ + if (icon_file) + { + icon_basename = g_path_get_basename (icon_path); + if (!g_str_has_prefix (icon_basename, app_id)) + continue; + + icon_suffix = icon_basename + strlen (app_id); + new_icon = g_strconcat (renamed_to, icon_suffix, NULL); + if (!g_file_set_display_name (icon_file, new_icon, NULL, &error)) + { + g_warning ("Unable to rename icon file %s -> %s: %s", + icon_basename, new_icon, error->message); + g_clear_error (&error); + success = FALSE; + continue; + } + } + } + } + + return success; +} +#endif /* HAVE_GLIB_2_66 */ + +int +main (int argc, char *argv[]) +{ +/* The dynamic launcher portal is only compiled against GLib >= 2.66 */ +#ifdef HAVE_GLIB_2_66 + if (!migrate_renamed_app_launchers ()) + return 1; +#endif + return 0; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/src/xdg-desktop-portal-rewrite-launchers.service.in new/xdg-desktop-portal-1.14.1/src/xdg-desktop-portal-rewrite-launchers.service.in --- old/xdg-desktop-portal-1.14.0/src/xdg-desktop-portal-rewrite-launchers.service.in 1970-01-01 01:00:00.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/src/xdg-desktop-portal-rewrite-launchers.service.in 2022-03-18 20:06:50.000000000 +0100 @@ -0,0 +1,13 @@ +[Unit] +Description=Rewrite dynamic launcher portal entries +# Do it before the graphical session in case the launchers we need to rewrite +# are configured to launch automatically +PartOf=graphical-session-pre.target + +[Service] +Type=oneshot +ExecStart=@libexecdir@/xdg-desktop-portal-rewrite-launchers +Slice=session.slice + +[Install] +WantedBy=graphical-session-pre.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/src/xdg-desktop-portal.service.in new/xdg-desktop-portal-1.14.1/src/xdg-desktop-portal.service.in --- old/xdg-desktop-portal-1.14.0/src/xdg-desktop-portal.service.in 2022-03-17 18:23:12.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/src/xdg-desktop-portal.service.in 2022-03-17 19:41:59.000000000 +0100 @@ -1,12 +1,8 @@ [Unit] Description=Portal service -PartOf=graphical-session-pre.target [Service] Type=dbus BusName=org.freedesktop.portal.Desktop ExecStart=@libexecdir@/xdg-desktop-portal Slice=session.slice - -[Install] -WantedBy=graphical-session-pre.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/src/xdp-utils.c new/xdg-desktop-portal-1.14.1/src/xdp-utils.c --- old/xdg-desktop-portal-1.14.0/src/xdp-utils.c 2022-03-17 18:23:12.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/src/xdp-utils.c 2022-03-18 21:30:17.000000000 +0100 @@ -144,6 +144,7 @@ return app_info; } +#ifdef HAVE_LIBSYSTEMD char * _xdp_parse_app_id_from_unit_name (const char *unit) { @@ -183,6 +184,7 @@ return g_steal_pointer (&app_id); } +#endif /* HAVE_LIBSYSTEMD */ void set_appid_from_pid (XdpAppInfo *app_info, pid_t pid) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/src/xdp-utils.h new/xdg-desktop-portal-1.14.1/src/xdp-utils.h --- old/xdg-desktop-portal-1.14.0/src/xdp-utils.h 2022-03-17 18:23:12.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/src/xdp-utils.h 2022-03-18 21:30:17.000000000 +0100 @@ -199,7 +199,9 @@ /* exposed for the benefit of tests */ int _xdp_parse_cgroup_file (FILE *f, gboolean *is_snap); +#ifdef HAVE_LIBSYSTEMD char *_xdp_parse_app_id_from_unit_name (const char *unit); +#endif #if !GLIB_CHECK_VERSION (2, 58, 0) static inline gboolean diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xdg-desktop-portal-1.14.0/tests/test-xdp-utils.c new/xdg-desktop-portal-1.14.1/tests/test-xdp-utils.c --- old/xdg-desktop-portal-1.14.0/tests/test-xdp-utils.c 2022-03-17 18:23:12.000000000 +0100 +++ new/xdg-desktop-portal-1.14.1/tests/test-xdp-utils.c 2022-03-18 21:30:17.000000000 +0100 @@ -127,6 +127,7 @@ xdp_set_documents_mountpoint (NULL); } +#ifdef HAVE_LIBSYSTEMD static void test_app_id_via_systemd_unit (void) { @@ -166,6 +167,7 @@ g_assert_cmpstr (app_id, ==, "org.gnome.Terminal"); g_clear_pointer (&app_id, g_free); } +#endif /* HAVE_LIBSYSTEMD */ int main (int argc, char **argv) {