Tags 741804 -patch
Thanks

This was blocking a transition in raspbian stretch and I decided to take a look to see if I could fix it before resorting to removal (since raspbian doesn't have an unstable I don't like to remove stuff from raspbian testing that is still in Debian unstable).

I applied Domenico Iezzi's patch to remove -DGTK_DISABLE_DEPRECATED and tried to build the package. Unfortunately it was no longer sufficient to make the package build and my attempts at fixing the build also failed.

The first problem I ran into was a build dependency problem. It seems libpanel-applet-4-dev has been replaced by libpanel-applet-dev so I changed that build dependency.

I then discovered that the .pc file for libpanel-applet had also changed name and updated configure.ac to match.

While looking into the configure problem I ran into incomplete cleanup by the clean target (config.log was left behind) causing unrepresentable changes to source errors.

Unfortunately after doing all of that the actual build failed with.

applet-main.c:878:3: warning: ‘gtk_action_group_new’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkactiongroup.h:175) [-Wdeprecated-declarations]
action_group = gtk_action_group_new ("Indicator Applet Actions");
^
applet-main.c:879:3: warning: ‘gtk_action_group_set_translation_domain’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkactiongroup.h:252) [-Wdeprecated-declarations]
gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE);
^
applet-main.c:880:3: warning: ‘gtk_action_group_add_actions’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkactiongroup.h:210) [-Wdeprecated-declarations]
gtk_action_group_add_actions (action_group, menu_actions,
^
applet-main.c:883:45: warning: passing argument 3 of ‘panel_applet_setup_menu’ from incompatible pointer type
panel_applet_setup_menu(applet, menu_xml, action_group);
^
In file included from applet-main.c:27:0:
/usr/include/gnome-panel/libpanel-applet/panel-applet.h:154:20: note: expected ‘struct GSimpleActionGroup *’ but argument is of type ‘struct GtkActionGroup *’
void panel_applet_setup_menu (PanelApplet *applet,
^
applet-main.c:883:3: error: too few arguments to function ‘panel_applet_setup_menu’
panel_applet_setup_menu(applet, menu_xml, action_group);
^
In file included from applet-main.c:27:0:
/usr/include/gnome-panel/libpanel-applet/panel-applet.h:154:20: note: declared here
void panel_applet_setup_menu (PanelApplet *applet,
^
Makefile:597: recipe for target 'indicator_applet-applet-main.o' failed
make[3]: *** [indicator_applet-applet-main.o] Error 1
make[3]: Leaving directory '/indicator-applet-0.5.0/src'
Makefile:438: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/indicator-applet-0.5.0'
Makefile:369: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/indicator-applet-0.5.0'
/usr/share/cdbs/1/class/makefile.mk:47: recipe for target 'debian/stamp-makefile-build' failed
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
root@odroidu2:/indicator-applet-0.5.0#

It seems that panel_applet_setup_menu has added an extra parameter and changed the type of an existing one. The only documentation I could find with a quick google was clear as mud and does not give me confidence to attempt a fix. This really needs to be looked at by someone more familiar with said library.

A debdiff of what I have done so far is attatched.
diff -Nru indicator-applet-0.5.0/debian/changelog 
indicator-applet-0.5.0/debian/changelog
--- indicator-applet-0.5.0/debian/changelog     2013-06-21 14:39:09.000000000 
+0000
+++ indicator-applet-0.5.0/debian/changelog     2015-07-03 18:51:18.000000000 
+0000
@@ -1,3 +1,15 @@
+indicator-applet (0.5.0-1.1+rpi1) stretch-staging; urgency=medium
+
+  * Remove -DGTK_DISABLE_DEPRECATED in configure.ac  to allow build with more
+    recent GTK (Closes: 741804)
+  * Change build-dependency from libpanel-applet-4-dev (which no longer exists)
+    to libpanel-applet-dev
+  * Fix clean target
+  * Change libpanelapplet-4.0 to libpanel-applet in configure.ac to match
+    .pc filename change.
+
+ -- Peter Michael Green <plugw...@raspbian.org>  Fri, 03 Jul 2015 18:24:35 
+0000
+
 indicator-applet (0.5.0-1.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru indicator-applet-0.5.0/debian/control 
indicator-applet-0.5.0/debian/control
--- indicator-applet-0.5.0/debian/control       2012-05-21 05:14:53.000000000 
+0000
+++ indicator-applet-0.5.0/debian/control       2015-07-03 18:38:49.000000000 
+0000
@@ -6,7 +6,7 @@
 Build-Depends: debhelper (>= 7),
                cdbs (>= 0.4.41),
                libgtk-3-dev,
-               libpanel-applet-4-dev,
+               libpanel-applet-dev,
                gnome-doc-utils,
                libtool,
                intltool,
diff -Nru indicator-applet-0.5.0/debian/patches/gtk-deprecated-libs.patch 
indicator-applet-0.5.0/debian/patches/gtk-deprecated-libs.patch
--- indicator-applet-0.5.0/debian/patches/gtk-deprecated-libs.patch     
1970-01-01 00:00:00.000000000 +0000
+++ indicator-applet-0.5.0/debian/patches/gtk-deprecated-libs.patch     
2015-07-03 18:24:20.000000000 +0000
@@ -0,0 +1,36 @@
+Patch by Domenico Iezzi <dodo.godl...@gmail.com>
+Taken from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741804
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -12,7 +12,6 @@
+       -DINDICATOR_ICONS_DIR=\""$(INDICATORICONSDIR)"\" \
+       -DINDICATOR_APPLET \
+       -DGDK_DISABLE_DEPRECATED \
+-      -DGTK_DISABLE_DEPRECATED \
+       -I$(srcdir)/.. \
+       $(APPLET_CFLAGS)
+ 
+@@ -33,7 +32,6 @@
+       -DINDICATOR_ICONS_DIR=\""$(INDICATORICONSDIR)"\" \
+       -DINDICATOR_APPLET_APPMENU \
+       -DGDK_DISABLE_DEPRECATED \
+-      -DGTK_DISABLE_DEPRECATED \
+       -I$(srcdir)/.. \
+       $(APPLET_CFLAGS)
+ 
+@@ -54,7 +52,6 @@
+       -DINDICATOR_ICONS_DIR=\""$(INDICATORICONSDIR)"\" \
+       -DINDICATOR_APPLET_SESSION \
+       -DGDK_DISABLE_DEPRECATED \
+-      -DGTK_DISABLE_DEPRECATED \
+       -I$(srcdir)/.. \
+       $(APPLET_CFLAGS)
+ 
+@@ -75,7 +72,6 @@
+       -DINDICATOR_ICONS_DIR=\""$(INDICATORICONSDIR)"\" \
+       -DINDICATOR_APPLET_COMPLETE \
+       -DGDK_DISABLE_DEPRECATED \
+-      -DGTK_DISABLE_DEPRECATED \
+       -I$(srcdir)/.. \
+       $(APPLET_CFLAGS)
+ 
diff -Nru indicator-applet-0.5.0/debian/patches/pc-name.patch 
indicator-applet-0.5.0/debian/patches/pc-name.patch
--- indicator-applet-0.5.0/debian/patches/pc-name.patch 1970-01-01 
00:00:00.000000000 +0000
+++ indicator-applet-0.5.0/debian/patches/pc-name.patch 2015-07-03 
18:54:14.000000000 +0000
@@ -0,0 +1,14 @@
+Description: Change libpanelapplet-4.0 to libpanel-applet in configure.ac to 
match .pc filename change.
+Author: Peter Michael Green <plugw...@raspbian.org>
+
+--- indicator-applet-0.5.0.orig/configure.ac
++++ indicator-applet-0.5.0/configure.ac
+@@ -28,7 +28,7 @@ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RU
+ GTK_REQUIRED_VERSION=3.1
+ INDICATOR_REQUIRED_VERSION=0.3.92
+ INDICATOR_PKG=indicator3-0.4
+-APPLET_PKG=libpanelapplet-4.0
++APPLET_PKG=libpanel-applet
+ 
+ PKG_CHECK_MODULES(APPLET, gtk+-3.0 >= $GTK_REQUIRED_VERSION
+                           x11
diff -Nru indicator-applet-0.5.0/debian/patches/series 
indicator-applet-0.5.0/debian/patches/series
--- indicator-applet-0.5.0/debian/patches/series        2013-06-21 
14:37:17.000000000 +0000
+++ indicator-applet-0.5.0/debian/patches/series        2015-07-03 
18:53:43.000000000 +0000
@@ -1 +1,3 @@
 glib-single-include.patch
+gtk-deprecated-libs.patch
+pc-name.patch
diff -Nru indicator-applet-0.5.0/debian/rules 
indicator-applet-0.5.0/debian/rules
--- indicator-applet-0.5.0/debian/rules 2012-02-19 18:39:52.000000000 +0000
+++ indicator-applet-0.5.0/debian/rules 2015-07-03 18:48:40.000000000 +0000
@@ -6,3 +6,5 @@
 
 LDFLAGS += -Wl,-z,defs -Wl,--as-needed
 
+clean::
+       rm -f config.log

Reply via email to