Unity support patch doesn't build with nautilus 3.25.90

Bug #1711241 reported by Jeremy Bícha
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nautilus (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I have prepared nautilus 3.25.90 in the GNOME3 Staging PPA for Ubuntu 17.10 "artful".

The 12_unity_launcher_support.patch has a problem that fails the build and I don't know how to fix it so I disabled the patch for now.

Nautilus 3.25 introduces meson support and drops autotools support so that's one factor when I updated the patch.

But when I disable the patch, nautilus crashes on start in Unity.

Build log attached.

Build Log Excerpt
==================

[164/222] cc -Isrc/nautilus@sta -Isrc -Isubprojects/libgd/libgd -I../src -I. -I../ -Isubprojects/libgd -I../subprojects/libgd -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/mirclient -I/usr/include/mircore -I/usr/include/mircookie -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/gnome-autoar-0 -I/usr/include/libxml2 -I/usr/include/zeitgeist-2.0 -I/usr/include/gsettings-desktop-schemas -I/usr/include/gail-3.0 -I/usr/include/gnome-desktop-3.0 -I/usr/include/tracker-2.0 -I/usr/include/tracker-2.0/libtracker-sparql -I/usr/include/libexif -I/usr/include/unity/unity -I/usr/include/dee-1.0 -I/usr/include/libdbusmenu-glib-0.4 -I/usr/include/exempi-2.0 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wno-deprecated-declarations -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -DLIBGD_GTK_HACKS=1 -DLIBGD__VIEW_COMMON=1 -DLIBGD_MAIN_ICON_VIEW=1 -DLIBGD_MAIN_LIST_VIEW=1 -DLIBGD_MAIN_VIEW=1 -DLIBGD_TAGGED_ENTRY=1 -MMD -MQ 'src/nautilus@sta/unity-quicklist-handler.c.o' -MF 'src/nautilus@sta/unity-quicklist-handler.c.o.d' -o 'src/nautilus@sta/unity-quicklist-handler.c.o' -c ../src/unity-quicklist-handler.c
FAILED: src/nautilus@sta/unity-quicklist-handler.c.o
cc -Isrc/nautilus@sta -Isrc -Isubprojects/libgd/libgd -I../src -I. -I../ -Isubprojects/libgd -I../subprojects/libgd -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/mirclient -I/usr/include/mircore -I/usr/include/mircookie -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/gnome-autoar-0 -I/usr/include/libxml2 -I/usr/include/zeitgeist-2.0 -I/usr/include/gsettings-desktop-schemas -I/usr/include/gail-3.0 -I/usr/include/gnome-desktop-3.0 -I/usr/include/tracker-2.0 -I/usr/include/tracker-2.0/libtracker-sparql -I/usr/include/libexif -I/usr/include/unity/unity -I/usr/include/dee-1.0 -I/usr/include/libdbusmenu-glib-0.4 -I/usr/include/exempi-2.0 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wno-deprecated-declarations -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -DLIBGD_GTK_HACKS=1 -DLIBGD__VIEW_COMMON=1 -DLIBGD_MAIN_ICON_VIEW=1 -DLIBGD_MAIN_LIST_VIEW=1 -DLIBGD_MAIN_VIEW=1 -DLIBGD_TAGGED_ENTRY=1 -MMD -MQ 'src/nautilus@sta/unity-quicklist-handler.c.o' -MF 'src/nautilus@sta/unity-quicklist-handler.c.o.d' -o 'src/nautilus@sta/unity-quicklist-handler.c.o' -c ../src/unity-quicklist-handler.c
../src/unity-quicklist-handler.c: In function ‘unity_quicklist_handler_get_singleton’:
../src/unity-quicklist-handler.c:154:9: error: expected declaration or statement at end of input
         unity_quicklist_handler_singleton = unity_quicklist_handler_new ();
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/unity-quicklist-handler.c:154:9: error: expected declaration or statement at end of input

Tags: artful
Revision history for this message
Jeremy Bícha (jbicha) wrote :
Jeremy Bícha (jbicha)
description: updated
Revision history for this message
Khurshid Alam (khurshid-alam) wrote :

The patch for src/unity-quicklist-handler.c at the bottom is like this:

+UnityQuicklistHandler *
+unity_quicklist_handler_get_singleton (void)
+{
+ if (!unity_quicklist_handler_singleton)
+ {
+ unity_quicklist_handler_singleton = unity_quicklist_handler_new ();

It seems it has been cut off from the end.

It should be :

+UnityQuicklistHandler *
+unity_quicklist_handler_get_singleton (void)
+{
+ if (!unity_quicklist_handler_singleton)
+ {
+ unity_quicklist_handler_singleton = unity_quicklist_handler_new ();
+ }
+ return unity_quicklist_handler_singleton;
+}
+
+
+UnityQuicklistHandler *
+unity_quicklist_handler_new (void)
+{
+ return g_object_new (UNITY_TYPE_QUICKLIST_HANDLER, NULL);
+}

Revision history for this message
Khurshid Alam (khurshid-alam) wrote :

Note: The 4-space tab in comments doesn't work on launchpad.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Khurshid, thank you!

But nautilus still crashes if run under Unity or with XDG_CURRENT_DESKTOP=Unity

Revision history for this message
Jeremy Bícha (jbicha) wrote :

The crash comes from 0002-Only-use-a-header-bar-in-GNOME-shell.patch so I disabled that patch since it wasn't clear to me what isn't working after rebasing on 3.25. Someone interested in Unity development can take a look at that, but I don't see a need to delay Nautilus updates because of that. Uploaded.

Changed in nautilus (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nautilus - 1:3.25.90-0ubuntu1

---------------
nautilus (1:3.25.90-0ubuntu1) artful; urgency=medium

  [ Jeremy Bicha ]
  * New upstream release.
  * Build with meson.
  * Refresh patches.
  * Drop build-with-tracker2.patch: Applied in new release
  * Disable 0002-Only-use-a-header-bar-in-GNOME-shell.patch:
    - Nautilus crashes in Unity with this patch.
  * Add git_desktop-remove-spaces.patch:
    - Backport commit to fix .desktop by removing spaces from MimeType line

  [ Khurshid Alam ]
  * 12_unity_launcher_support.patch:
    - Restore lines accidentally dropped in previous merge, fixes build
      failure (LP: #1711241)

 -- Khurshid Alam <email address hidden> Mon, 21 Aug 2017 05:55:14 -0400

Changed in nautilus (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Sebastien Bacher (seb128) wrote :

Jeremy, how does the new version handle fts if tracker is not installed? Does it hide the corresponding UI elements? Upstream hinted that tracked was an hard requirement now with that version...

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Ok, I see now that there is a drop-down connected to the Search field that offers the choice between "Full Text" and "File Name". Without tracker running, they both do the same thing.

tracker is now a required build-dependency for nautilus (not a problem since we've already been doing that for all Ubuntu architectures).

Without tracker running, you won't have the new full text search. The Batch Rename feature allows renaming using metadata but that won't work either.

Of course the nautilus maintainer doesn't like us not including tracker by default but the app is still usable without tracker: it's just not as nice and search is likely slower.

One more issue: assuming we don't install tracker by default for Ubuntu 17.10 and assuming the issue isn't fixed, I intend to release note https://bugs.debian.org/865496

Revision history for this message
Mike Neac (neac) wrote :

I was under impression that unity is gone from main support. So what is with libunity dependency in nautilus 3.25? Version 3.24 was working fine without it.
And nautilus should be without those header bar patches. Please leave it as it is.

Revision history for this message
Khurshid Alam (khurshid-alam) wrote :

I can not debug the issue as I can't install all the debugging symbols. I will try later.

@Mike Neac

Ubuntu is going to ship Unity-7 to make the transition easier. Also Mate is using hud and unity-gtk-module, xfce is using indicators and all (and hence various unity dependency) and xfce also prefer titlebar instead of headerbar. These patches made carefully so that it doesn't affect gnome-shell anyway.

Revision history for this message
Khurshid Alam (khurshid-alam) wrote :

Hi Jeremy,

Sorry for the delay.

I have modified the headerbar patch for nautilus

https://git.launchpad.net/~khurshid-alam/nautilus/+git/unity-test/tree/debian/patches/0002-Only-use-a-header-bar-in-GNOME-shell.patch

For me, It is working well in Unity and Ubuntu (both xorg and wayland) sessions and nautilus doesn't crash. Please test and if it works for you please re-enable the patch.

Screencast: https://vimeo.com/239618810

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Khurshid, please file a new bug. If you attach a patch you want sponsored, please subscribe ubuntu-sponsors.

Otherwise, it will be very easy for your work to not be seen since this bug is fixed and closed.

Revision history for this message
Khurshid Alam (khurshid-alam) wrote :

Done. LP: #1727168

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.