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