Marco Trevisan (Treviño) has proposed merging 
~3v1n0/ubuntu/+source/gnome-session:ubuntu/master-fix-install into 
~ubuntu-desktop/ubuntu/+source/gnome-session:ubuntu/master.

Requested reviews:
  Ubuntu Desktop (ubuntu-desktop)
Related bugs:
  Bug #1787748 in gnome-session (Ubuntu): "ubuntu.session is trying to write 
'/usr/share/gnome-session/sessions/ubuntu.session', which is also in the 
gnome-session"
  https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/1787748

For more details, see:
https://code.launchpad.net/~3v1n0/ubuntu/+source/gnome-session/+git/gnome-session/+merge/353513
-- 
Your team Ubuntu Desktop is requested to review the proposed merge of 
~3v1n0/ubuntu/+source/gnome-session:ubuntu/master-fix-install into 
~ubuntu-desktop/ubuntu/+source/gnome-session:ubuntu/master.
diff --git a/debian/changelog b/debian/changelog
index 432151e..e86ff6e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,36 @@
+gnome-session (3.29.90-1ubuntu2) UNRELEASED; urgency=medium
+
+  * debian/gnome-session.install:
+    - Revert change that was wrongly merged from debian, causing
+      gnome-session and ubuntu-session to have the same files (LP: #1787748)
+  * debian/control:
+    - Set Breaks/Replaces on gnome-shell <=> ubuntu-settings for versions
+      <= 3.29.90-1ubuntu1 (LP: #1787748)
+    - Build-depends on meson (>= 0.47.0) as per dict usage
+  * debian/gnome-session.install:
+    - install all gnome-provided *.session files
+  * d/p/ubuntu/post_install-install-gnome.desktop-session-in-wayland-ses.patch:
+    - Do not install gnome.session in xsessions (as defaults to wayland) 
+  * d/p/ubuntu/ubuntu-sessions.patch:
+    - Install session X and wayland .desktop files only in the relative-type
+      directories, and cleanup the meson code using a dict.
+  * debian/rules:
+    - Use dh_missing --fail-missing
+  * d/p/53_add_sessionmigration.patch:
+    - Use Gbp-Pq topic, moved to d/p/ubuntu/add_sessionmigration.patch
+  * d/p/95_dbus_request_shutdown.patch:
+    - Use Gbp-Pq topic, moved to d/p/ubuntu/dbus_request_shutdown.patch
+  * d/p/ignore_gsettings_region.patch:
+    - Use Gbp-Pq topic, moved to d/p/ubuntu/ignore_gsettings_region.patch
+  * d/p/103_kill_the_fail_whale.patch:
+    - Use Gbp-Pq topic, moved to d/p/ubuntu/kill_the_fail_whale.patch
+  * d/p/51_remove_session_saving_from_gui.patch:
+    - Use Gbp-Pq topic, moved to d/p/ubuntu/remove_session_saving_from_gui.patch
+  * d/p/22_support_autostart_delay.patch:
+    - Use Gbp-Pq topic, moved to d/p/ubuntu/support_autostart_delay.patch
+
+ -- Marco Trevisan (Treviño) <ma...@ubuntu.com>  Tue, 21 Aug 2018 16:11:31 +0200
+
 gnome-session (3.29.90-1ubuntu1) cosmic; urgency=medium
 
   * Merge with debian, remaining changes:
diff --git a/debian/control b/debian/control
index 9f1f0a0..dfc7921 100644
--- a/debian/control
+++ b/debian/control
@@ -56,8 +56,10 @@ Suggests: gnome-user-docs,
 #          desktop-base,
           gnome-keyring
 Provides: x-session-manager
-Breaks: gnome-session-wayland (<< 3.22.1)
-Replaces: gnome-session-wayland (<< 3.22.1)
+Breaks: gnome-session-wayland (<< 3.22.1),
+        ubuntu-session (<= 3.29.90-1ubuntu1),
+Replaces: gnome-session-wayland (<< 3.22.1),
+          ubuntu-session (<= 3.29.90-1ubuntu1),
 Description: GNOME Session Manager - GNOME 3 session
  The GNOME Session Manager is in charge of starting the core components
  of the GNOME desktop, and applications that should be launched at
@@ -105,10 +107,12 @@ Depends: ${misc:Depends},
 Recommends: session-migration,
             python3,
 Provides: x-session-manager,
-Breaks: unity (<< 7.5.0+17.10.20170619),
+Breaks: gnome-session (<= 3.29.90-1ubuntu1),
+        unity (<< 7.5.0+17.10.20170619),
         unity-settings-daemon (<< 15.04.1+17.04.20170619),
         hud (<< 14.10+17.10.20170619),
         unity-gtk-module (<< 0.0.0+17.04.20170918),
+Replaces: gnome-session (<= 3.29.90-1ubuntu1),
 Description: Ubuntu session with GNOME Shell
  This package contains the required components for running a GNOME 3 session
  with default Ubuntu configuration, based on the GNOME Shell.
diff --git a/debian/control.in b/debian/control.in
index 3b65c1d..756f405 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -25,7 +25,7 @@ Build-Depends: debhelper (>= 11.1.3),
                libgles2-mesa-dev,
                libxtst-dev,
                libxrender-dev,
-               meson (>= 0.43.0),
+               meson (>= 0.47.0),
                xmlto,
                xsltproc,
                xtrans-dev,
@@ -52,8 +52,10 @@ Suggests: gnome-user-docs,
 #          desktop-base,
           gnome-keyring
 Provides: x-session-manager
-Breaks: gnome-session-wayland (<< 3.22.1)
-Replaces: gnome-session-wayland (<< 3.22.1)
+Breaks: gnome-session-wayland (<< 3.22.1),
+        ubuntu-session (<= 3.29.90-1ubuntu1),
+Replaces: gnome-session-wayland (<< 3.22.1),
+          ubuntu-session (<= 3.29.90-1ubuntu1),
 Description: GNOME Session Manager - GNOME 3 session
  The GNOME Session Manager is in charge of starting the core components
  of the GNOME desktop, and applications that should be launched at
@@ -101,10 +103,12 @@ Depends: ${misc:Depends},
 Recommends: session-migration,
             python3,
 Provides: x-session-manager,
-Breaks: unity (<< 7.5.0+17.10.20170619),
+Breaks: gnome-session (<= 3.29.90-1ubuntu1),
+        unity (<< 7.5.0+17.10.20170619),
         unity-settings-daemon (<< 15.04.1+17.04.20170619),
         hud (<< 14.10+17.10.20170619),
         unity-gtk-module (<< 0.0.0+17.04.20170918),
+Replaces: gnome-session (<= 3.29.90-1ubuntu1),
 Description: Ubuntu session with GNOME Shell
  This package contains the required components for running a GNOME 3 session
  with default Ubuntu configuration, based on the GNOME Shell.
diff --git a/debian/gnome-session.install b/debian/gnome-session.install
index 0f6143c..b33b6d8 100644
--- a/debian/gnome-session.install
+++ b/debian/gnome-session.install
@@ -1,4 +1,4 @@
 usr/share/doc
-usr/share/xsessions/*.desktop
-usr/share/gnome-session/sessions/*.session
-usr/share/wayland-sessions/*.desktop
+usr/share/xsessions/gnome-xorg.desktop
+usr/share/gnome-session/sessions/gnome*.session
+usr/share/wayland-sessions/gnome.desktop
diff --git a/debian/patches/revert_remove_gnome_session_properties.patch b/debian/patches/revert_remove_gnome_session_properties.patch
index 8212cff..59616bf 100644
--- a/debian/patches/revert_remove_gnome_session_properties.patch
+++ b/debian/patches/revert_remove_gnome_session_properties.patch
@@ -5812,10 +5812,10 @@ index 0000000..497fb9d
 +  </g>
 +</svg>
 diff --git a/data/meson.build b/data/meson.build
-index 62cbb75..7f9f2ed 100644
+index ba0f654..cbf05fa 100644
 --- a/data/meson.build
 +++ b/data/meson.build
-@@ -162,7 +162,30 @@ if enable_session_selector
+@@ -109,7 +109,30 @@ if enable_session_selector
    )
  endif
  
diff --git a/debian/patches/series b/debian/patches/series
index f391d3e..d300786 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,9 +1,10 @@
 debian/Revert-main-Remove-GNOME_DESKTOP_SESSION_ID-envvar.patch
-22_support_autostart_delay.patch
+ubuntu/support_autostart_delay.patch
 ubuntu/ubuntu-sessions.patch
-51_remove_session_saving_from_gui.patch
-53_add_sessionmigration.patch
-95_dbus_request_shutdown.patch
-103_kill_the_fail_whale.patch
-ignore_gsettings_region.patch
+ubuntu/post_install-install-gnome.desktop-session-in-wayland-ses.patch
+ubuntu/remove_session_saving_from_gui.patch
+ubuntu/add_sessionmigration.patch
+ubuntu/dbus_request_shutdown.patch
+ubuntu/kill_the_fail_whale.patch
+ubuntu/ignore_gsettings_region.patch
 revert_remove_gnome_session_properties.patch
diff --git a/debian/patches/53_add_sessionmigration.patch b/debian/patches/ubuntu/add_sessionmigration.patch
index 9ef4735..1e64cdc 100644
--- a/debian/patches/53_add_sessionmigration.patch
+++ b/debian/patches/ubuntu/add_sessionmigration.patch
@@ -1,6 +1,6 @@
 From: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com>
 Date: Wed, 15 Aug 2018 17:13:26 +0200
-Subject: _add_sessionmigration
+Subject: gsm-session-fill: Launch session migration
 
 ===================================================================
 ---
diff --git a/debian/patches/95_dbus_request_shutdown.patch b/debian/patches/ubuntu/dbus_request_shutdown.patch
index 9b26df8..9b26df8 100644
--- a/debian/patches/95_dbus_request_shutdown.patch
+++ b/debian/patches/ubuntu/dbus_request_shutdown.patch
diff --git a/debian/patches/ignore_gsettings_region.patch b/debian/patches/ubuntu/ignore_gsettings_region.patch
index 8c037c1..8c037c1 100644
--- a/debian/patches/ignore_gsettings_region.patch
+++ b/debian/patches/ubuntu/ignore_gsettings_region.patch
diff --git a/debian/patches/103_kill_the_fail_whale.patch b/debian/patches/ubuntu/kill_the_fail_whale.patch
index 5843d73..7bf08e5 100644
--- a/debian/patches/103_kill_the_fail_whale.patch
+++ b/debian/patches/ubuntu/kill_the_fail_whale.patch
@@ -1,6 +1,6 @@
 From: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com>
 Date: Wed, 15 Aug 2018 17:13:26 +0200
-Subject: _kill_the_fail_whale
+Subject: kill the fail whale
 
 ===================================================================
 ---
diff --git a/debian/patches/ubuntu/post_install-install-gnome.desktop-session-in-wayland-ses.patch b/debian/patches/ubuntu/post_install-install-gnome.desktop-session-in-wayland-ses.patch
new file mode 100644
index 0000000..d58e740
--- /dev/null
+++ b/debian/patches/ubuntu/post_install-install-gnome.desktop-session-in-wayland-ses.patch
@@ -0,0 +1,38 @@
+From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <m...@3v1n0.net>
+Date: Tue, 21 Aug 2018 17:32:13 +0200
+Subject: post_install: install gnome.desktop session in wayland-sessions only
+
+In ubuntu we use a symlink from gnome-xorg.desktop to gnome.desktop, so
+no need to install this for X sessions.
+
+Forwarded: Not needed
+---
+ data/meson.build      | 2 +-
+ meson_post_install.py | 4 ----
+ 2 files changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/data/meson.build b/data/meson.build
+index d066fa7..ba0f654 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -14,7 +14,7 @@ i18n.merge_file(
+   #  join_paths(session_datadir, 'xsessions'),
+   #  join_paths(session_datadir, 'wayland-sessions')
+   #]
+-  install_dir: join_paths(session_datadir, 'xsessions')
++  install_dir: join_paths(session_datadir, 'wayland-sessions')
+ )
+ 
+ ubuntu_sessions = {
+diff --git a/meson_post_install.py b/meson_post_install.py
+index e2e352c..e88375d 100644
+--- a/meson_post_install.py
++++ b/meson_post_install.py
+@@ -20,7 +20,3 @@ if not os.environ.get('DESTDIR'):
+ dst_dir = os.path.join(install_root, 'wayland-sessions')
+ if not os.path.exists(dst_dir):
+   os.makedirs(dst_dir)
+-
+-src = os.path.join(install_root, 'xsessions', 'gnome.desktop')
+-dst = os.path.join(dst_dir, 'gnome.desktop')
+-shutil.copyfile(src, dst)
diff --git a/debian/patches/51_remove_session_saving_from_gui.patch b/debian/patches/ubuntu/remove_session_saving_from_gui.patch
index 8d63a07..c905870 100644
--- a/debian/patches/51_remove_session_saving_from_gui.patch
+++ b/debian/patches/ubuntu/remove_session_saving_from_gui.patch
@@ -1,6 +1,6 @@
 From: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com>
 Date: Wed, 15 Aug 2018 17:13:26 +0200
-Subject: _remove_session_saving_from_gui
+Subject: Remove session saving from gui
 
 ===================================================================
 ---
diff --git a/debian/patches/22_support_autostart_delay.patch b/debian/patches/ubuntu/support_autostart_delay.patch
index 310df37..310df37 100644
--- a/debian/patches/22_support_autostart_delay.patch
+++ b/debian/patches/ubuntu/support_autostart_delay.patch
diff --git a/debian/patches/ubuntu/ubuntu-sessions.patch b/debian/patches/ubuntu/ubuntu-sessions.patch
index f3ed3e2..42d2563 100644
--- a/debian/patches/ubuntu/ubuntu-sessions.patch
+++ b/debian/patches/ubuntu/ubuntu-sessions.patch
@@ -1,33 +1,27 @@
 From: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com>
 Date: Wed, 15 Aug 2018 17:13:26 +0200
-Subject: tweak the session system to make it for ubuntu.
+Subject: sessions: Tweak the system to make it for ubuntu.
 
 The session contains:
  - ubuntu (gnome-shell with ubuntu tweaks) in ubuntu-session package
  - unity in unity-session package
  - gnome-shell in the main gnome-session package.
- (TryExec enables to show them or not depends on the package installed)
-Forwarded: Not needed
-The session contains:
- - ubuntu (gnome-shell with ubuntu tweaks) in ubuntu-session package
- - unity in unity-session package
- - gnome-shell in the main gnome-session package.
+ - ubuntu-communitheme-snap into ubuntu-session package
  (TryExec enables to show them or not depends on the package installed)
 
 Forwarded: Not needed
 ---
- data/gnome.desktop.in                            |  4 +-
- data/meson.build                                 | 72 +++++++++++++++++++++++-
- data/ubuntu-communitheme-snap-wayland.desktop.in |  7 +++
- data/ubuntu-communitheme-snap.desktop.in         |  7 +++
- data/ubuntu-wayland.desktop.in                   |  7 +++
- data/ubuntu.desktop.in                           |  7 +++
- data/ubuntu.session.desktop.in.in                |  3 +
- data/unity.desktop.in                            |  7 +++
- data/unity.session.desktop.in.in                 |  4 ++
- meson_post_install.py                            |  7 +++
- po/POTFILES.in                                   |  7 +++
- 11 files changed, 129 insertions(+), 3 deletions(-)
+ data/gnome.desktop.in                            |  4 +--
+ data/meson.build                                 | 41 +++++++++++++++++-------
+ data/ubuntu-communitheme-snap-wayland.desktop.in |  7 ++++
+ data/ubuntu-communitheme-snap.desktop.in         |  7 ++++
+ data/ubuntu-wayland.desktop.in                   |  7 ++++
+ data/ubuntu.desktop.in                           |  7 ++++
+ data/ubuntu.session.desktop.in.in                |  3 ++
+ data/unity.desktop.in                            |  7 ++++
+ data/unity.session.desktop.in.in                 |  4 +++
+ po/POTFILES.in                                   |  7 ++++
+ 10 files changed, 80 insertions(+), 14 deletions(-)
  create mode 100644 data/ubuntu-communitheme-snap-wayland.desktop.in
  create mode 100644 data/ubuntu-communitheme-snap.desktop.in
  create mode 100644 data/ubuntu-wayland.desktop.in
@@ -51,88 +45,51 @@ index 7b78e94..bfdc424 100644
  Type=Application
  DesktopNames=GNOME
 diff --git a/data/meson.build b/data/meson.build
-index 89af98f..62cbb75 100644
+index 89af98f..d066fa7 100644
 --- a/data/meson.build
 +++ b/data/meson.build
-@@ -17,6 +17,25 @@ i18n.merge_file(
+@@ -17,21 +17,38 @@ i18n.merge_file(
    install_dir: join_paths(session_datadir, 'xsessions')
  )
  
-+desktop = 'ubuntu-wayland.desktop'
-+
-+# FIXME: The same target can not be copied into two directories.
-+#        There is a workaround in meson_post_install.py until proper solution arises:
-+#        https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
-+i18n.merge_file(
-+  desktop,
-+  type: 'desktop',
-+  input: desktop + '.in',
-+  output: desktop,
-+  po_dir: po_dir,
-+  install: true,
-+  #install_dir: [
-+  #  join_paths(session_datadir, 'xsessions'),
-+  #  join_paths(session_datadir, 'wayland-sessions')
-+  #]
-+  install_dir: join_paths(session_datadir, 'xsessions')
-+)
+-desktop = 'gnome-xorg.desktop'
+-
+-i18n.merge_file(
+-  desktop,
+-  type: 'desktop',
+-  input: desktop + '.in',
+-  output: desktop,
+-  po_dir: po_dir,
+-  install: true,
+-  install_dir: join_paths(session_datadir, 'xsessions')
+-)
++ubuntu_sessions = {
++  'xsessions': [
++    'gnome-xorg.desktop',
++    'ubuntu.desktop',
++    'ubuntu-communitheme-snap.desktop',
++    'unity.desktop',
++  ],
++  'wayland-sessions': [
++    'ubuntu-wayland.desktop',
++    'ubuntu-communitheme-snap-wayland.desktop',
++  ],
++}
 +
- desktop = 'gnome-xorg.desktop'
- 
- i18n.merge_file(
-@@ -29,9 +48,60 @@ i18n.merge_file(
-   install_dir: join_paths(session_datadir, 'xsessions')
- )
++foreach type, desktop_files : ubuntu_sessions
++  foreach desktop: desktop_files
++    i18n.merge_file(
++      desktop,
++      type: 'desktop',
++      input: desktop + '.in',
++      output: desktop,
++      po_dir: po_dir,
++      install: true,
++      install_dir: join_paths(session_datadir, type)
++    )
++  endforeach
++endforeach
  
-+desktop = 'ubuntu.desktop'
-+
-+i18n.merge_file(
-+  desktop,
-+  type: 'desktop',
-+  input: desktop + '.in',
-+  output: desktop,
-+  po_dir: po_dir,
-+  install: true,
-+  install_dir: join_paths(session_datadir, 'xsessions')
-+)
-+
-+desktop = 'ubuntu-communitheme-snap.desktop'
-+
-+i18n.merge_file(
-+  desktop,
-+  type: 'desktop',
-+  input: desktop + '.in',
-+  output: desktop,
-+  po_dir: po_dir,
-+  install: true,
-+  install_dir: join_paths(session_datadir, 'xsessions')
-+)
-+
-+desktop = 'ubuntu-communitheme-snap-wayland.desktop'
-+
-+i18n.merge_file(
-+  desktop,
-+  type: 'desktop',
-+  input: desktop + '.in',
-+  output: desktop,
-+  po_dir: po_dir,
-+  install: true,
-+  install_dir: join_paths(session_datadir, 'xsessions')
-+)
-+
-+
-+desktop = 'unity.desktop'
-+
-+i18n.merge_file(
-+  desktop,
-+  type: 'desktop',
-+  input: desktop + '.in',
-+  output: desktop,
-+  po_dir: po_dir,
-+  install: true,
-+  install_dir: join_paths(session_datadir, 'xsessions')
-+)
-+
  sessions = [
    'gnome.session',
 -  'gnome-dummy.session'
@@ -226,21 +183,6 @@ index 0000000..615b492
 +Name=Unity
 +RequiredComponents=unity-settings-daemon;
 +DesktopName=Unity:Unity7:ubuntu
-diff --git a/meson_post_install.py b/meson_post_install.py
-index e2e352c..b8a8b4f 100644
---- a/meson_post_install.py
-+++ b/meson_post_install.py
-@@ -24,3 +24,10 @@ if not os.path.exists(dst_dir):
- src = os.path.join(install_root, 'xsessions', 'gnome.desktop')
- dst = os.path.join(dst_dir, 'gnome.desktop')
- shutil.copyfile(src, dst)
-+
-+src = os.path.join(install_root, 'xsessions', 'ubuntu-wayland.desktop')
-+dst = os.path.join(dst_dir, 'ubuntu-wayland.desktop')
-+shutil.copyfile(src, dst)
-+src = os.path.join(install_root, 'xsessions', 'ubuntu-communitheme-snap-wayland.desktop')
-+dst = os.path.join(dst_dir, 'ubuntu-communitheme-snap-wayland.desktop')
-+shutil.copyfile(src, dst)
 diff --git a/po/POTFILES.in b/po/POTFILES.in
 index 63faf7d..c20c662 100644
 --- a/po/POTFILES.in
-- 
ubuntu-desktop mailing list
ubuntu-desktop@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop

Reply via email to