[evolution] I#373 - [Flatpak] Do not restart already running D-Bus services



commit 80ddd7199f5ba1123d538e427d4a1b81a3d26ba7
Author: Milan Crha <mcrha redhat com>
Date:   Wed Mar 27 12:38:47 2019 +0100

    I#373 - [Flatpak] Do not restart already running D-Bus services
    
    Closes https://gitlab.gnome.org/GNOME/evolution/issues/373

 flatpak/org.gnome.Evolution-master.json | 37 +++++++++++++++++++++++++++------
 flatpak/org.gnome.Evolution-stable.json | 37 +++++++++++++++++++++++++++------
 2 files changed, 62 insertions(+), 12 deletions(-)
---
diff --git a/flatpak/org.gnome.Evolution-master.json b/flatpak/org.gnome.Evolution-master.json
index f2f47a268c..fd191903d5 100644
--- a/flatpak/org.gnome.Evolution-master.json
+++ b/flatpak/org.gnome.Evolution-master.json
@@ -263,18 +263,43 @@
                                                "else",
                                                "       export GIO_USE_NETWORK_MONITOR=base",
                                                "       gsettings reset org.gnome.evolution-data-server 
network-monitor-gio-name",
-                                               "       /app/libexec/evolution-source-registry &",
-                                               "       sleep 1",
-                                               "       /app/libexec/evolution-addressbook-factory -r &",
-                                               "       /app/libexec/evolution-calendar-factory -r &",
-                                               "       sleep 1",
+                                               "",
+                                               "       gdbus wait --session --timeout=300 @SOURCES_SERVICE@",
+                                               "       if [ \"${PIPESTATUS[0]}\" != \"0\" ]; then",
+                                               "               /app/libexec/evolution-source-registry &",
+                                               "               gdbus wait --session --timeout=1000 
@SOURCES_SERVICE@",
+                                               "       fi",
+                                               "",
+                                               "       gdbus wait --session --timeout=300 
@ADDRESSBOOK_SERVICE@",
+                                               "       if [ \"${PIPESTATUS[0]}\" != \"0\" ]; then",
+                                               "               /app/libexec/evolution-addressbook-factory -r 
&",
+                                               "               gdbus wait --session --timeout=1000 
@ADDRESSBOOK_SERVICE@",
+                                               "       fi",
+                                               "",
+                                               "       gdbus wait --session --timeout=300 
@CALENDAR_SERVICE@",
+                                               "       if [ \"${PIPESTATUS[0]}\" != \"0\" ]; then",
+                                               "               /app/libexec/evolution-calendar-factory -r &",
+                                               "               gdbus wait --session --timeout=1000 
@CALENDAR_SERVICE@",
+                                               "       fi",
+                                               "",
                                                "       /app/bin/evolution.bin \"$@\"",
                                                "fi"
                                        ],
-                                       "dest-filename": "flatpak-evolution-wrapper.sh"
+                                       "dest-filename": "flatpak-evolution-wrapper.sh.in"
+                               },
+                               {
+                                       "type": "script",
+                                       "commands": [
+                                               "sed -e \"s|\\@SOURCES_SERVICE\\@|$(pkg-config 
--variable=sourcesdbusservicename evolution-data-server-1.2)|\" \\",
+                                               "       -e \"s|\\@ADDRESSBOOK_SERVICE\\@|$(pkg-config 
--variable=addressbookdbusservicename evolution-data-server-1.2)|\" \\",
+                                               "       -e \"s|\\@CALENDAR_SERVICE\\@|$(pkg-config 
--variable=calendardbusservicename evolution-data-server-1.2)|\""
+                                       ],
+                                       "dest-filename": "flatpak-evolution-fix-service-names.sh"
                                }
                        ],
                        "post-install": [
+                               "./flatpak-evolution-fix-service-names.sh <flatpak-evolution-wrapper.sh.in 
flatpak-evolution-wrapper.sh",
+                               "chmod a+x flatpak-evolution-wrapper.sh",
                                "mv /app/bin/evolution /app/bin/evolution.bin",
                                "cp flatpak-evolution-wrapper.sh /app/bin/evolution"
                        ]
diff --git a/flatpak/org.gnome.Evolution-stable.json b/flatpak/org.gnome.Evolution-stable.json
index 8b4bd4c45e..614ae693a9 100644
--- a/flatpak/org.gnome.Evolution-stable.json
+++ b/flatpak/org.gnome.Evolution-stable.json
@@ -262,18 +262,43 @@
                                                "else",
                                                "       export GIO_USE_NETWORK_MONITOR=base",
                                                "       gsettings reset org.gnome.evolution-data-server 
network-monitor-gio-name",
-                                               "       /app/libexec/evolution-source-registry &",
-                                               "       sleep 1",
-                                               "       /app/libexec/evolution-addressbook-factory -r &",
-                                               "       /app/libexec/evolution-calendar-factory -r &",
-                                               "       sleep 1",
+                                               "",
+                                               "       gdbus wait --session --timeout=300 @SOURCES_SERVICE@",
+                                               "       if [ \"${PIPESTATUS[0]}\" != \"0\" ]; then",
+                                               "               /app/libexec/evolution-source-registry &",
+                                               "               gdbus wait --session --timeout=1000 
@SOURCES_SERVICE@",
+                                               "       fi",
+                                               "",
+                                               "       gdbus wait --session --timeout=300 
@ADDRESSBOOK_SERVICE@",
+                                               "       if [ \"${PIPESTATUS[0]}\" != \"0\" ]; then",
+                                               "               /app/libexec/evolution-addressbook-factory -r 
&",
+                                               "               gdbus wait --session --timeout=1000 
@ADDRESSBOOK_SERVICE@",
+                                               "       fi",
+                                               "",
+                                               "       gdbus wait --session --timeout=300 
@CALENDAR_SERVICE@",
+                                               "       if [ \"${PIPESTATUS[0]}\" != \"0\" ]; then",
+                                               "               /app/libexec/evolution-calendar-factory -r &",
+                                               "               gdbus wait --session --timeout=1000 
@CALENDAR_SERVICE@",
+                                               "       fi",
+                                               "",
                                                "       /app/bin/evolution.bin \"$@\"",
                                                "fi"
                                        ],
-                                       "dest-filename": "flatpak-evolution-wrapper.sh"
+                                       "dest-filename": "flatpak-evolution-wrapper.sh.in"
+                               },
+                               {
+                                       "type": "script",
+                                       "commands": [
+                                               "sed -e \"s|\\@SOURCES_SERVICE\\@|$(pkg-config 
--variable=sourcesdbusservicename evolution-data-server-1.2)|\" \\",
+                                               "       -e \"s|\\@ADDRESSBOOK_SERVICE\\@|$(pkg-config 
--variable=addressbookdbusservicename evolution-data-server-1.2)|\" \\",
+                                               "       -e \"s|\\@CALENDAR_SERVICE\\@|$(pkg-config 
--variable=calendardbusservicename evolution-data-server-1.2)|\""
+                                       ],
+                                       "dest-filename": "flatpak-evolution-fix-service-names.sh"
                                }
                        ],
                        "post-install": [
+                               "./flatpak-evolution-fix-service-names.sh <flatpak-evolution-wrapper.sh.in 
flatpak-evolution-wrapper.sh",
+                               "chmod a+x flatpak-evolution-wrapper.sh",
                                "mv /app/bin/evolution /app/bin/evolution.bin",
                                "cp flatpak-evolution-wrapper.sh /app/bin/evolution"
                        ]


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]