Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: libindicator

libindicator (16.10.0+18.04.20180321.1-0ubuntu4) eoan; urgency=medium * Remove hard-coded dependency on multiarch-support. -- Matthias Klose <doko@ubuntu.com> Tue, 03 Sep 2019 19:43:27 +0200 libindicator (16.10.0+18.04.20180321.1-0ubuntu3) eoan; urgency=medium * Don't build with -Werror. -- Matthias Klose <doko@ubuntu.com> Tue, 03 Sep 2019 18:14:42 +0200 libindicator (16.10.0+18.04.20180321.1-0ubuntu2) eoan; urgency=medium * No-change rebuild to drop multiarch-support dependency. -- Matthias Klose <doko@ubuntu.com> Sun, 01 Sep 2019 03:41:11 +0000 libindicator (16.10.0+18.04.20180321.1-0ubuntu1) bionic; urgency=medium [ Olivier Tilloy ] * Cast GtkWidget to the expected widget type to fix build failures on bionic [-Werror=incompatible-pointer-types] (LP: #1757261) -- Marco Trevisan (Treviño) <mail@3v1n0.net> Wed, 21 Mar 2018 17:40:06 +0000 libindicator (16.10.0+18.04.20171205.1-0ubuntu1) bionic; urgency=medium * Drop unnecessary dependency of libindicator3-dev on libindicator-dev -- Jeremy Bicha <jbicha@ubuntu.com> Tue, 05 Dec 2017 06:34:40 +0000 libindicator (16.10.0+16.10.20160913-0ubuntu1) yakkety; urgency=medium [ Ted Gould ] * indicator-common: Add a package to hold shared systemd targets for systemd user session. -- Marco Trevisan (Treviño) <mail@3v1n0.net> Tue, 13 Sep 2016 14:29:09 +0000 libindicator (12.10.2+16.04.20151208-0ubuntu1) xenial; urgency=medium * Add -lm via LDADD to resolve FTBFS in Xenial -- Iain Lane <iain@orangesquash.org.uk> Tue, 08 Dec 2015 11:30:05 +0000 libindicator (12.10.2+14.10.20140922-0ubuntu1) utopic; urgency=low [ Marco Trevisan (Treviño) ] * IndicatorNG: Reverse the scroll delta on left scroll events -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 22 Sep 2014 13:41:36 +0000 libindicator (12.10.2+14.04.20140402-0ubuntu1) trusty; urgency=low [ William Hua ] * Don't load using the icon info structure if it's a GBytesIcon. (LP: #1293548) -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 02 Apr 2014 14:50:52 +0000 libindicator (12.10.2+14.04.20140304-0ubuntu1) trusty; urgency=low [ Marco Trevisan (Treviño) ] * IndicatorImageHelper: always try to use a GIcon or the filename as source of the GdkImage We don't need to fallback to pure pixbuf, unless an indicator provided a custom icon that is not in the current theme path. This helps a lot in reducing the Unity7 workload as this decreases the cases where we need to encode the pixbuf contents, send them via dbus to unity, encode them back, reload to a new pixbuf... Also thanks to this, the library clients can load the actual icon, scaled at the value they want. (LP: #784055) -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 04 Mar 2014 10:58:35 +0000 libindicator (12.10.2+14.04.20140218-0ubuntu1) trusty; urgency=low [ Marco Trevisan (Treviño) ] * IndicatorObject: add parent_window parameter to IndicatorEntry -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 18 Feb 2014 15:45:39 +0000 libindicator (12.10.2+14.04.20140129-0ubuntu1) trusty; urgency=low [ Colin Watson ] * Use named icons rather than (deprecated) stock items. (LP: #1262626) [ Lars Uebernickel ] * Don't treat deprecation warnings as errors and fix indicator-ng test for gtk 3.10. (LP: #1262626) * indicator-ng: support "submenu-action" on root menu items (LP: #793450) -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 29 Jan 2014 16:47:10 +0000 libindicator (12.10.2+14.04.20131125-0ubuntu2) trusty; urgency=medium * Build with -Wno-error=deprecated-declarations. -- Matthias Klose <doko@ubuntu.com> Thu, 19 Dec 2013 13:37:49 +0100 libindicator (12.10.2+14.04.20131125-0ubuntu1) trusty; urgency=low [ Charles Kerr ] * When we can't get a handle to the bus, exit gracefully instead of crashing. (LP: #1218222) [ Lars Uebernickel ] * Warn when an indicator doesn't get respawned anymore. * indicator-ng: always create entry.label and entry.image They used to be created lazily when the root menu item changed to include and image or a label. However, there is no way to notify a panel that this happened. Panels connect to notify signals on these widgets when an entry gets added. If the widgets don't exist from the very beginning, the panel won't update when they change. . (LP: #1220204) * Allow setting different positions for each profile in indicator files The 'Position' key in a profile section has precedence over the global 'Position' key, but otherwise the same semantics. We need this along with lp:~larsu/unity8/per-profile-indicator-positions to enable different positioning on the desktop and phone. [ Ubuntu daily release ] * Automatic snapshot from revision 517 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 25 Nov 2013 03:55:11 +0000 libindicator (12.10.2+13.10.20130913-0ubuntu2) saucy; urgency=low * libindicator/indicator-ng.c: backport fix for indicator icons not updating sometimes (lp: #1220204) -- Sebastien Bacher <seb128@ubuntu.com> Fri, 18 Oct 2013 13:15:30 -0400 libindicator (12.10.2+13.10.20130913-0ubuntu1) saucy; urgency=low [ Lars Uebernickel ] * Expose scrolling and middle clicking to fix bug #1221242 and #1204036 (make scrolling and middle clicking work on the sound indicator). (LP: #1221242, #1204036) [ Ubuntu daily release ] * Automatic snapshot from revision 511 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 13 Sep 2013 15:15:37 +0000 libindicator (12.10.2+13.10.20130823-0ubuntu1) saucy; urgency=low [ Marco Trevisan (Treviño) ] * IndicatorDesktopShortcuts: add support to Path key for shortcut items. (LP: #1113883) [ Ubuntu daily release ] * Automatic snapshot from revision 509 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 23 Aug 2013 02:08:00 +0000 libindicator (12.10.2+13.10.20130731-0ubuntu1) saucy; urgency=low [ Charles Kerr ] * in indicator-loader3, if we're looking at an ng-style indicator, show all of its profiles instead of just one. [ Ubuntu daily release ] * Automatic snapshot from revision 507 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 31 Jul 2013 02:02:40 +0000 libindicator (12.10.2+13.10.20130719-0ubuntu1) saucy; urgency=low [ Marco Trevisan (Treviño) ] * IndicatorDesktopShortcuts: fix memory leak, free groupheader. [ Ubuntu daily release ] * Automatic snapshot from revision 505 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 19 Jul 2013 02:03:03 +0000 libindicator (12.10.2+13.10.20130702-0ubuntu1) saucy; urgency=low [ Lars Uebernickel ] * Add support for indicators to tell the panel where they'd like to appear Merged from lp:~larsu/libindicator/positionable [ Ubuntu daily release ] * Automatic snapshot from revision 503 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 02 Jul 2013 02:02:39 +0000 libindicator (12.10.2+13.10.20130628-0ubuntu1) saucy; urgency=low [ Charles Kerr ] * Fixes a crasher bug in ng's parsing of the response to org.freedesktop.DBus.StartServiceByName: The result's variant format is "(u)", not "u". [ Ubuntu daily release ] * Automatic snapshot from revision 501 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 28 Jun 2013 02:02:40 +0000 libindicator (12.10.2daily13.06.19.1-0ubuntu1) saucy; urgency=low [ Charles Kerr ] * in indicator_ng_update_entry, unconditionally call set_label, set_icon, set_accessible. Previously these were only called if the respective fields weren't NULL, which made it impossible to, for example, turn off a label or icon once it had been set. [ Ted Gould ] * Remove the GTK2 version of the tools. [ Didier Roche ] * Add missing conflicts/replaces [ Lars Uebernickel ] * Merge lp:~larsu/new-indicator-file-format IndicatorNg: update indicator file format The old file format had some shortcomings: (1) It was impossible to efficiently reuse a menu for different profiles, because the profile name was implicit in the object path. The only way to do this was to export the same menu twice. Now, object paths have to be set explicitly in the indicator file. (2) The well-known dbus name of a service and the name of its service file were similar but slightly different (com.canonical.indicator.test vs com.canonical.test.indicator), which caused some confusion on when to use which. Now, the file name *is* the bus name, and the `BusName` key has been dropped. The new file format is documented in README. * Merge lp:~larsu/call-ido-init * indicator-ng: properly fail when keyfile doesn't exist. [ Ubuntu daily release ] * Automatic snapshot from revision 499 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 19 Jun 2013 10:45:13 +0000 libindicator (12.10.2daily13.06.07-0ubuntu1) saucy; urgency=low [ Ted Gould ] * Migrating away from deprecated gtk_icon_info_free(). [ William Hua ] * Use GIcon's serialization/deserialization interface for indicator icons so that we can load icons as PNG data transmitted over the bus. [ Marco Trevisan (Treviño) ] * IndicatorDesktopShortcuts: Use the proper way to create an AppInfo from command-line Removed the hack that we used to create a .desktop app-info from a locally generated keyfile, using g_app_info_create_from_commandline instead. (LP: #1168373) * tests: fix compilation and make check. [ Ubuntu daily release ] * Automatic snapshot from revision 492 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 07 Jun 2013 02:02:37 +0000 libindicator (12.10.2daily13.05.02-0ubuntu1) saucy; urgency=low * Automatic snapshot from revision 487 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 02 May 2013 22:59:05 +0000 libindicator (12.10.2daily13.04.10-0ubuntu1) raring; urgency=low [ Marco Trevisan (Treviño) ] * Libindicator should use startup-notify when launching application shortcuts (LP: #1166890) * Opening new-window from quicklist static action does not focus the newly opened window (LP: #1164483) [ Ubuntu daily release ] * Automatic snapshot from revision 486 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 10 Apr 2013 02:02:06 +0000 libindicator (12.10.2daily13.04.09-0ubuntu1) raring; urgency=low * Automatic snapshot from revision 484 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 09 Apr 2013 02:02:03 +0000 libindicator (12.10.2daily13.04.08-0ubuntu1) raring; urgency=low [ Marco Trevisan (Treviño) ] * Opening calendar/contacts from quicklist does not focus the new window (LP: #1164483) * Libindicator should pass platform-data when launching application shortcuts (LP: #1164470) [ Ubuntu daily release ] * Automatic snapshot from revision 483 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 08 Apr 2013 02:02:11 +0000 libindicator (12.10.2daily13.02.25-0ubuntu1) raring; urgency=low * Automatic snapshot from revision 479 -- Automatic PS uploader <ps-jenkins@lists.canonical.com> Mon, 25 Feb 2013 02:03:13 +0000 libindicator (12.10.2daily13.02.19-0ubuntu1) raring; urgency=low [ Michael Terry ] * indicatordir is now multiarch, breaking unity (LP: #1126360) [ Automatic PS uploader ] * Automatic snapshot from revision 477 -- Automatic PS uploader <ps-jenkins@lists.canonical.com> Tue, 19 Feb 2013 02:02:26 +0000 libindicator (12.10.2daily13.02.15-0ubuntu1) raring; urgency=low [ Mathieu Trudel-Lapierre ] * debian/control: - Reorganize Build-Depends for clarity. - Update style to be consistent with other indicator stack packages. - Bump debhelper Build-Depends to (>= 9). - Drop Build-Depends on cdbs. - Add a Build-Depends on gnome-common. - Update Vcs-Bzr, Vcs-Browser and add a notice to uploaders. - Add the proper Pre-Depends: multiarch to libindicator3-7. * debian/rules: - Convert to using the dh9 sequencer. - Override dh_autoreconf to run autogen.sh and not call configure. - Use calls to dh_install per-package to use the right source directories. - Add and export DPKG_GENSYMBOLS_CHECK_LEVEL. * debian/compat: bump compat level to 9. * debian/*.install: drop the debian/tmp/gtk* path elements and update for multiarch. [ Didier Roche ] * Automatic snapshot from revision 473 (bootstrap) [ Automatic PS uploader ] * Automatic snapshot from revision 475 -- Automatic PS uploader <ps-jenkins@lists.canonical.com> Fri, 15 Feb 2013 07:46:53 +0000 libindicator (12.10.1-0ubuntu1) quantal; urgency=low * New upstream release. - remove the 'cloak' code that caused libreoffice's menubars in unity to be greyed out after opening any dialog or switching windows (LP: #1045372) -- Ken VanDine <ken.vandine@canonical.com> Wed, 19 Sep 2012 16:00:14 -0400 libindicator (12.10.0-0ubuntu2) quantal; urgency=low * Backport a fix so that libroffice doesn't hang on on startup (LP: #1045372) -- Didier Roche <didrocks@ubuntu.com> Mon, 17 Sep 2012 11:13:49 +0200 libindicator (12.10.0-0ubuntu1) quantal; urgency=low * New upstream release. -- Sebastien Bacher <seb128@ubuntu.com> Thu, 12 Jul 2012 17:44:46 +0200 libindicator (0.5.0-0ubuntu1) precise; urgency=low * New upstream release. * Validate images in image_helper_update() (LP: #946408) -- Charles Kerr <charles.kerr@canonical.com> Wed, 11 Apr 2012 10:54:42 -0500 libindicator (0.4.95-0ubuntu1) precise; urgency=low * New upstream release. * Fix a free that shouldn't be (LP: #969360) * Spelling mistake in error message (LP: #948391) * Add coverage build targets * Fix building AUTHORS and Changelog at dist time -- Ted Gould <ted@ubuntu.com> Wed, 04 Apr 2012 14:39:16 -0500 libindicator (0.4.94-0ubuntu2) precise; urgency=low * Revert r457 it's creating invalid free errors -- Sebastien Bacher <seb128@ubuntu.com> Mon, 02 Apr 2012 11:09:03 +0200 libindicator (0.4.94-0ubuntu1) precise; urgency=low * New upstream release. * Fix a leaked GError (LP: #965459) * Fix memory leak when the proxy's name changes. -- Charles Kerr <charles.kerr@canonical.com> Thu, 29 Mar 2012 13:56:59 -0700 libindicator (0.4.93-0ubuntu1) precise; urgency=low * New upstream release. * Fix branching past initialization of variables (LP: #939061) * Support new FD.o Desktop Actions (LP: #942042) * Fix valgrind error on unload (LP: #719457) -- Ted Gould <ted@ubuntu.com> Wed, 07 Mar 2012 14:14:07 -0600 libindicator (0.4.92-0ubuntu2) precise; urgency=low * Backport support for the fdo desktop action spec, that's required to get unity lists to work with the new syntax (lp: #942042) -- Sebastien Bacher <seb128@ubuntu.com> Fri, 02 Mar 2012 12:08:09 +0100 libindicator (0.4.92-0ubuntu1) precise; urgency=low * New upstream release. * Removing unenforcable consts (LP: #937387) * Explicitly add in gmodule as a required library -- Ted Gould <ted@ubuntu.com> Thu, 23 Feb 2012 00:27:38 -0600 libindicator (0.4.91-0ubuntu3) precise; urgency=low * Restore revision dropped by error, change to format v1 for that -- Sebastien Bacher <seb128@ubuntu.com> Wed, 15 Feb 2012 13:09:05 +0100 libindicator (0.4.91-0ubuntu2) precise; urgency=low * Upstream Merge * Increasing the test timeout to ensure that's not our issue * debian/rules: Adding messages -- Ted Gould <ted@ubuntu.com> Tue, 14 Feb 2012 21:11:29 -0600 libindicator (0.4.91-0ubuntu1) precise; urgency=low * New upstream release. * Visibility fixes for indicators using that functionality * Ensure that parent_object is more aggressively set * Fix memory leak on groups of items in desktop files (lp: #923629) * Dropping debian/patches * Upstream Merge * Explicitly add in gmodule as a required library * debian/control, debian/rules: * Adding in autoreconf support * Adding a check rule and requiring new build deps -- Ted Gould <ted@ubuntu.com> Tue, 14 Feb 2012 14:29:51 -0600 libindicator (0.4.90-0ubuntu4) precise; urgency=low * libindicator/indicator-object.c - revert disabling visibility, there is now a better fix for disappearing in indicator-appmenu -- Ken VanDine <ken.vandine@canonical.com> Thu, 26 Jan 2012 00:24:06 -0500 libindicator (0.4.90-0ubuntu3) precise; urgency=low * libindicator/indicator-object.c - basically disable the new visibility stuff because it breaks appmenus -- Ken VanDine <ken.vandine@canonical.com> Wed, 25 Jan 2012 18:08:31 -0500 libindicator (0.4.90-0ubuntu2) precise; urgency=low * debian/control - dropped the Conflicts with libindicator6 and libindicator3-6 -- Ken VanDine <ken.vandine@canonical.com> Tue, 24 Jan 2012 21:44:30 -0500 libindicator (0.4.90-0ubuntu1) precise; urgency=low [ Ted Gould ] * New upstream release. * Support hiding and showing indicators * Track the parent object in the entry * Adding activate function to include Window ID * debian/control: Bumping ABI version of lib [ Ken VanDine ] * debian/control - set ubuntu-desktop VCS and maintainer * debian/rules - Updated shlibs * debian/libindicator3-dev.install - include headers -- Ken VanDine <ken.vandine@canonical.com> Tue, 24 Jan 2012 12:13:51 -0500

Modifications :
  1. Download patch libindicator/indicator3-0.4.pc.in.in

    --- 0.5.0-4/libindicator/indicator3-0.4.pc.in.in 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator3-0.4.pc.in.in 2018-03-21 17:39:42.000000000 +0000 @@ -4,7 +4,7 @@ libdir=@libdir@ bindir=@bindir@ includedir=@includedir@ -indicatordir=${libdir}/indicators3/@indicator_abi_version@/ +indicatordir=${exec_prefix}/lib/indicators3/@indicator_abi_version@/ iconsdir=@datarootdir@/@PACKAGE@/icons/ Cflags: -I${includedir}/libindicator3-0.@indicator_api_version@
  2. Download patch debian/indicator-common.install

    --- 0.5.0-4/debian/indicator-common.install 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/indicator-common.install 2019-09-03 20:38:01.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/systemd
  3. Download patch libindicator/indicator-object-marshal.h

    --- 0.5.0-4/libindicator/indicator-object-marshal.h 2012-04-11 15:25:48.107245325 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-object-marshal.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ - -#ifndef ___indicator_object_marshal_MARSHAL_H__ -#define ___indicator_object_marshal_MARSHAL_H__ - -#include <glib-object.h> - -G_BEGIN_DECLS - -/* VOID:POINTER,UINT,UINT (./indicator-object-marshal.list:1) */ -extern void _indicator_object_marshal_VOID__POINTER_UINT_UINT (GClosure *closure, - GValue *return_value, - guint n_param_values, - const GValue *param_values, - gpointer invocation_hint, - gpointer marshal_data); - -/* VOID:POINTER,UINT,ENUM (./indicator-object-marshal.list:2) */ -extern void _indicator_object_marshal_VOID__POINTER_UINT_ENUM (GClosure *closure, - GValue *return_value, - guint n_param_values, - const GValue *param_values, - gpointer invocation_hint, - gpointer marshal_data); - -/* VOID:POINTER,UINT (./indicator-object-marshal.list:3) */ -extern void _indicator_object_marshal_VOID__POINTER_UINT (GClosure *closure, - GValue *return_value, - guint n_param_values, - const GValue *param_values, - gpointer invocation_hint, - gpointer marshal_data); - -/* VOID:POINTER,BOOLEAN (./indicator-object-marshal.list:4) */ -extern void _indicator_object_marshal_VOID__POINTER_BOOLEAN (GClosure *closure, - GValue *return_value, - guint n_param_values, - const GValue *param_values, - gpointer invocation_hint, - gpointer marshal_data); - -G_END_DECLS - -#endif /* ___indicator_object_marshal_MARSHAL_H__ */ -
  4. Download patch libindicator/indicator-image-helper.h

    --- 0.5.0-4/libindicator/indicator-image-helper.h 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-image-helper.h 2018-03-21 17:39:42.000000000 +0000 @@ -26,8 +26,10 @@ License along with this library. If not, #include <gtk/gtk.h> -GtkImage * indicator_image_helper (const gchar * name); -void indicator_image_helper_update (GtkImage * image, - const gchar * name); +GtkImage * indicator_image_helper (const gchar * name); +void indicator_image_helper_update (GtkImage * image, + const gchar * name); +void indicator_image_helper_update_from_gicon (GtkImage * image, + GIcon * icon); #endif /* __INDICATOR_IMAGE_HELPER_H__ */
  5. Download patch tests/service-manager-no-connect.c

    --- 0.5.0-4/tests/service-manager-no-connect.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-manager-no-connect.c 2018-03-21 17:39:42.000000000 +0000 @@ -48,7 +48,6 @@ connection (void) int main (int argc, char ** argv) { - g_type_init(); g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL); IndicatorServiceManager * is = indicator_service_manager_new("my.test.name");
  6. Download patch libindicator/indicator-ng.h

    --- 0.5.0-4/libindicator/indicator-ng.h 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-ng.h 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,48 @@ +/* + * Copyright 2013 Canonical Ltd. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranties of + * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Authors: + * Lars Uebernickel <lars.uebernickel@canonical.com> + */ + +#ifndef __INDICATOR_NG_H__ +#define __INDICATOR_NG_H__ + +#include "indicator-object.h" + +#define INDICATOR_TYPE_NG (indicator_ng_get_type ()) +#define INDICATOR_NG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INDICATOR_TYPE_NG, IndicatorNg)) +#define INDICATOR_NG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INDICATOR_TYPE_NG, IndicatorNgClass)) +#define INDICATOR_IS_NG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INDICATOR_TYPE_NG)) +#define INDICATOR_IS_NG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDICATOR_TYPE_NG)) +#define INDICATOR_NG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDICATOR_TYPE_NG, IndicatorNgClass)) + +typedef struct _IndicatorNg IndicatorNg; +typedef IndicatorObjectClass IndicatorNgClass; + +GType indicator_ng_get_type (void); + +IndicatorNg * indicator_ng_new (const gchar *service_file, + GError **error); + +IndicatorNg * indicator_ng_new_for_profile (const gchar *service_file, + const gchar *profile, + GError **error); + +const gchar * indicator_ng_get_service_file (IndicatorNg *indicator); + +const gchar * indicator_ng_get_profile (IndicatorNg *indicator); + +#endif
  7. Download patch debian/libindicator-tools.install

    --- 0.5.0-4/debian/libindicator-tools.install 2016-04-04 04:49:49.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/libindicator-tools.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -debian/tmp/gtk2/usr/lib/libindicator/indicator-loader /usr/lib/libindicator/ -debian/tmp/gtk2/usr/share/libindicator/80indicator-debugging /usr/share/libindicator/
  8. Download patch tests/service-version-multiwatch-manager-impolite.c

    --- 0.5.0-4/tests/service-version-multiwatch-manager-impolite.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-version-multiwatch-manager-impolite.c 2018-03-21 17:39:42.000000000 +0000 @@ -64,7 +64,6 @@ delay_start (gpointer data) int main (int argc, char ** argv) { - g_type_init(); g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL); g_print("Manager: DBUS_SESSION_BUS_ADDRESS = %s\n", g_getenv("DBUS_SESSION_BUS_ADDRESS"));
  9. Download patch m4/lt~obsolete.m4

    --- 0.5.0-4/m4/lt~obsolete.m4 2012-04-11 15:42:20.347268907 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/m4/lt~obsolete.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,98 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
  10. Download patch tests/dummy-indicator-visible.c

    --- 0.5.0-4/tests/dummy-indicator-visible.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/dummy-indicator-visible.c 2018-03-21 17:39:42.000000000 +0000 @@ -88,17 +88,25 @@ G_DEFINE_TYPE (DummyIndicatorVisible, du static void dummy_indicator_entry_being_removed (IndicatorObject * io, IndicatorObjectEntry * entry) { + IndicatorObjectClass * indicator_object_class = INDICATOR_OBJECT_CLASS (dummy_indicator_visible_parent_class); + g_object_set_data(G_OBJECT(entry->label), "is-hidden", GINT_TO_POINTER(1)); - INDICATOR_OBJECT_CLASS(dummy_indicator_visible_parent_class)->entry_being_removed (io, entry); + if (indicator_object_class->entry_being_removed != NULL) { + indicator_object_class->entry_being_removed (io, entry); + } } static void dummy_indicator_entry_was_added (IndicatorObject * io, IndicatorObjectEntry * entry) { + IndicatorObjectClass * indicator_object_class = INDICATOR_OBJECT_CLASS (dummy_indicator_visible_parent_class); + g_object_steal_data(G_OBJECT(entry->label), "is-hidden"); - INDICATOR_OBJECT_CLASS(dummy_indicator_visible_parent_class)->entry_was_added (io, entry); + if (indicator_object_class->entry_was_added != NULL) { + indicator_object_class->entry_was_added (io, entry); + } } static void
  11. Download patch debian/libindicator-dev.install

    --- 0.5.0-4/debian/libindicator-dev.install 2016-04-04 04:58:39.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/libindicator-dev.install 2019-09-03 20:38:01.000000000 +0000 @@ -1,5 +1,4 @@ -#! /usr/bin/dh-exec -debian/tmp/gtk2/usr/include /usr/ -debian/tmp/gtk2/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/indicator-0.4.pc /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/ -debian/tmp/gtk2/usr/lib/${DEB_HOST_MULTIARCH}/libindicator.a /usr/lib/${DEB_HOST_MULTIARCH}/ -debian/tmp/gtk2/usr/lib/${DEB_HOST_MULTIARCH}/libindicator.so /usr/lib/${DEB_HOST_MULTIARCH}/ +usr/include /usr/ +usr/lib/*/pkgconfig/indicator-0.4.pc +usr/lib/*/libindicator.a +usr/lib/*/libindicator.so
  12. Download patch tests/service-version-multiwatch-service.c

    --- 0.5.0-4/tests/service-version-multiwatch-service.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-version-multiwatch-service.c 2018-03-21 17:39:42.000000000 +0000 @@ -49,7 +49,6 @@ shutdown (void) int main (int argc, char ** argv) { - g_type_init(); g_debug("Service starting"); IndicatorService * is = indicator_service_new_version("org.ayatana.version.good", SERVICE_VERSION_GOOD);
  13. Download patch tests/service-version-good-service.c

    --- 0.5.0-4/tests/service-version-good-service.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-version-good-service.c 2018-03-21 17:39:42.000000000 +0000 @@ -62,8 +62,6 @@ shutdown (void) int main (int argc, char ** argv) { - g_type_init(); - is = indicator_service_new_version("org.ayatana.version.good", SERVICE_VERSION_GOOD); g_signal_connect(G_OBJECT(is), INDICATOR_SERVICE_SIGNAL_SHUTDOWN, shutdown, NULL);
  14. Download patch debian/rules

    --- 0.5.0-4/debian/rules 2016-04-04 04:42:21.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/rules 2019-09-03 20:38:01.000000000 +0000 @@ -1,32 +1,51 @@ #!/usr/bin/make -f -DEB_BUILDDIR = build -DEB_MAKE_FLAVORS = gtk2 gtk3 +FLAVORS = gtk2 gtk3 -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/rules/autoreconf.mk -include /usr/share/cdbs/1/class/gnome.mk -include /usr/share/cdbs/1/rules/autoreconf.mk +COMMON_CONFIGURE_FLAGS = --disable-silent-rules + +CONFIGURE_FLAGS_gtk2 = --with-gtk=2 +CONFIGURE_FLAGS_gtk3 = --with-gtk=3 + +LDFLAGS += -Wl,-z,defs -Wl,--as-needed export G_MESSAGES_DEBUG = all +export DPKG_GENSYMBOLS_CHECK_LEVEL = 4 -DEB_MAKE_DESTDIRSKEL = $(CURDIR)/debian/tmp/@FLAVOR@ -DEB_DESTDIR = $(CURDIR)/debian/tmp/$(cdbs_make_curflavor)/ -DEB_CONFIGURE_EXTRA_FLAGS += --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) +%: + dh $@ --with autoreconf -DEB_CONFIGURE_FLAGS_gtk2 = --with-gtk=2 -DEB_CONFIGURE_FLAGS_gtk3 = --with-gtk=3 +override_dh_autoreconf: + NOCONFIGURE=1 dh_autoreconf ./autogen.sh -#DEB_MAKE_CHECK_TARGET := check +override_dh_auto_configure: $(FLAVORS:%=doconfigure-%) -LDFLAGS += -Wl,-z,defs -Wl,--as-needed +doconfigure-%: + DH_VERBOSE=1 dh_auto_configure --builddirectory=builddir/$* -- $(COMMON_CONFIGURE_FLAGS) $(CONFIGURE_FLAGS_$*) -DEB_DH_MAKESHLIBS_ARGS_libindicator7 += -V 'libindicator7 (>= 0.4.90)' -DEB_DH_MAKESHLIBS_ARGS_libindicator3_7 += -V 'libindicator3-7 (>= 0.4.90)' +override_dh_auto_build: $(FLAVORS:%=dobuild-%) -debian/stamp-autotools/gtk2: cdbs_configure_flags += $(DEB_CONFIGURE_FLAGS_gtk2) -debian/stamp-autotools/gtk3: cdbs_configure_flags += $(DEB_CONFIGURE_FLAGS_gtk3) +dobuild-%: + dh_auto_build --builddirectory=builddir/$* -common-install-arch:: +override_dh_auto_install: $(FLAVORS:%=doinstall-%) + +doinstall-%: + dh_auto_install --builddirectory=builddir/$* --destdir=debian/tmp/$* + +override_dh_install: find debian/tmp -name \*.la -delete - cd po; intltool-update --pot --verbose + find debian/tmp -name libdummy-indicator\* -delete + rm -f debian/tmp/gtk2/usr/share/libindicator/80indicator-debugging + rm -f debian/tmp/gtk2/usr/lib/systemd/user/indicators-pre.target + dh_install -plibindicator7 --fail-missing --sourcedir=debian/tmp/gtk2 + dh_install -plibindicator-dev --fail-missing --sourcedir=debian/tmp/gtk2 + dh_install -plibindicator3-7 --fail-missing --sourcedir=debian/tmp/gtk3 + dh_install -plibindicator3-dev --fail-missing --sourcedir=debian/tmp/gtk3 + dh_install -plibindicator3-tools --fail-missing --sourcedir=debian/tmp/gtk3 + dh_install -pindicator-common --fail-missing --sourcedir=debian/tmp/gtk3 + +override_dh_makeshlibs: + dh_makeshlibs -plibindicator7 -V 'libindicator7 (>= 0.4.90)' + dh_makeshlibs -plibindicator3-7 -V 'libindicator3-7 (>= 0.4.90)' +
  15. Download patch tests/com.canonical.indicator.test.service.in

    --- 0.5.0-4/tests/com.canonical.indicator.test.service.in 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/com.canonical.indicator.test.service.in 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=com.canonical.indicator.test +Exec=@builddir@/indicator-test-service
  16. Download patch debian/libindicator3-7.install

    --- 0.5.0-4/debian/libindicator3-7.install 2016-04-04 04:50:03.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/libindicator3-7.install 2019-09-03 20:38:01.000000000 +0000 @@ -1,2 +1 @@ -#! /usr/bin/dh-exec -debian/tmp/gtk3/usr/lib/${DEB_HOST_MULTIARCH}/libindicator3.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ +usr/lib/*/libindicator3.so.*
  17. Download patch tests/com.canonical.indicator.no-such-service

    --- 0.5.0-4/tests/com.canonical.indicator.no-such-service 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/com.canonical.indicator.no-such-service 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,3 @@ +[Indicator Service] +Name=indicator-test +ObjectPath=/com/canonical/indicator/test
  18. Download patch helper/test-loader.c

    --- 0.5.0-4/helper/test-loader.c 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/helper/test-loader.c 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,18 @@ + +#include <gtk/gtk.h> +#include "indicator-image-helper.h" + +int +main (int argv, char * argc[]) +{ + gtk_init(&argv, &argc); + + GtkImage * image = indicator_image_helper(argc[1]); + + GdkPixbuf * pixbuf = gtk_image_get_pixbuf(image); + + g_debug("Pixbuf width: %d", gdk_pixbuf_get_width(pixbuf)); + g_debug("Pixbuf height: %d", gdk_pixbuf_get_height(pixbuf)); + + return; +}
  19. Download patch debian/control

    --- 0.5.0-4/debian/control 2016-04-04 04:51:40.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/control 2019-09-03 20:38:01.000000000 +0000 @@ -1,29 +1,34 @@ Source: libindicator Section: libs Priority: optional -Maintainer: Debian QA Group <packages@qa.debian.org> -Build-Depends: debhelper (>= 9.0), +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: The Ayatana Packagers <pkg-ayatana-devel@lists.alioth.debian.org> +Uploaders: Evgeni Golov <evgeni@debian.org>, Kartik Mistry <kartik@debian.org> +Build-Depends: debhelper (>= 9), dh-autoreconf, - cdbs (>= 0.4.41), - libglib2.0-dev (>= 2.22), - libgtk2.0-dev (>= 2.18), - libgtk-3-dev (>= 2.91.3), libtool, intltool, + gnome-common, gtk-doc-tools, - dh-exec, - dh-autoreconf -Standards-Version: 3.9.7 + dbus-test-runner, + xvfb, + libglib2.0-dev (>= 2.37), + libgtk2.0-dev (>= 2.18), + libgtk-3-dev (>= 2.91.3), + libido3-0.1-dev (>= 13.10.0) +Standards-Version: 3.9.2 Homepage: https://launchpad.net/libindicator -Vcs-Bzr: http://bzr.debian.org/bzr/pkg-ayatana/libindicator/debian -Vcs-Browser: http://bzr.debian.org/loggerhead/pkg-ayatana/libindicator/debian +# If you aren't a member of ~indicator-applet-developers but need to upload +# packaging changes, just go ahead. ~indicator-applet-developers will notice +# and sync up the code again. +Vcs-Bzr: https://code.launchpad.net/~indicator-applet-developers/libindicator/trunk.13.04 +Vcs-Browser: https://bazaar.launchpad.net/~indicator-applet-developers/libindicator/trunk.13.04/files Package: libindicator7 Section: libs Architecture: any -Multi-Arch: same Depends: ${shlibs:Depends}, - ${misc:Depends} + ${misc:Depends}, Description: panel indicator applet - shared library This library contains information to build indicators to go into the indicator applet. @@ -36,30 +41,18 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libgtk2.0-dev (>= 2.12.0), - libindicator7 (= ${binary:Version}) + libindicator7 (= ${binary:Version}), Description: panel indicator applet - library development files This library contains information to build indicators to go into the indicator applet. . This package contains files that are needed to build applications. -Package: libindicator-tools -Section: devel -Architecture: any -Depends: ${shlibs:Depends}, - ${misc:Depends}, - libindicator7 (= ${binary:Version}) -Description: Tools for libindicator - Tools useful for developers of applications using indicators. - . - This package contains files that are needed to build applications. - Package: libindicator3-7 Section: libs Architecture: any -Multi-Arch: same Depends: ${shlibs:Depends}, - ${misc:Depends} + ${misc:Depends}, Description: panel indicator applet - shared library This library contains information to build indicators to go into the indicator applet. @@ -72,7 +65,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libgtk-3-dev (>= 2.91.3), - libindicator3-7 (= ${binary:Version}) + libindicator3-7 (= ${binary:Version}), Description: panel indicator applet - library development files This library contains information to build indicators to go into the indicator applet. @@ -84,8 +77,18 @@ Section: devel Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - libindicator3-7 (= ${binary:Version}) + libindicator3-7 (= ${binary:Version}), +Replaces: libindicator-tools, +Conflicts: libindicator-tools, Description: Tools for libindicator Tools useful for developers of applications using indicators. . This package contains files that are needed to build applications. + +Package: indicator-common +Section: libs +Architecture: all +Description: indicator shared files + A package that has files needed to work with the indicators. This + includes the systemd indicators-pre.target. +
  20. Download patch build-aux/config.guess
  21. Download patch build-aux/compile
  22. Download patch tests/test-indicator-ng.c

    --- 0.5.0-4/tests/test-indicator-ng.c 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/test-indicator-ng.c 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,193 @@ + +#include <libindicator/indicator-ng.h> + +static void +indicator_ng_test_func (gconstpointer user_data) +{ + GTestFunc test_func = user_data; + GTestDBus *bus; + + bus = g_test_dbus_new (G_TEST_DBUS_NONE); + g_test_dbus_add_service_dir (bus, BUILD_DIR); + g_test_dbus_up (bus); + + test_func (); + + g_test_dbus_down (bus); + g_object_unref (bus); +} + +#define indicator_ng_test_add(name, test_func) \ + g_test_add_data_func ("/indicator-ng/" name, test_func, indicator_ng_test_func) + +static gboolean +stop_main_loop (gpointer user_data) +{ + GMainLoop *loop = user_data; + + g_main_loop_quit (loop); + + return FALSE; +} + +static void +test_non_existing (void) +{ + IndicatorNg *indicator; + GError *error = NULL; + + indicator = indicator_ng_new (SRCDIR "/com.canonical.does.not.exist.indicator", &error); + g_assert (indicator == NULL); + g_assert_error (error, G_FILE_ERROR, G_FILE_ERROR_NOENT); + + g_clear_error (&error); +} + +static void +test_instantiation (void) +{ + IndicatorNg *indicator; + GError *error = NULL; + GMainLoop *loop; + + indicator = indicator_ng_new (SRCDIR "/com.canonical.indicator.no-such-service", &error); + g_assert (indicator); + g_assert (error == NULL); + + g_assert_cmpstr (indicator_ng_get_service_file (indicator), ==, SRCDIR "/com.canonical.indicator.no-such-service"); + g_assert_cmpstr (indicator_ng_get_profile (indicator), ==, "desktop"); + + { + gchar *service_file; + gchar *profile; + + g_object_get (indicator, "service-file", &service_file, + "profile", &profile, + NULL); + + g_assert_cmpstr (service_file, ==, SRCDIR "/com.canonical.indicator.no-such-service"); + g_assert_cmpstr (profile, ==, "desktop"); + + g_free (service_file); + g_free (profile); + } + + loop = g_main_loop_new (NULL, FALSE); + g_timeout_add (200, stop_main_loop, loop); + g_main_loop_run (loop); + + /* no such service, so there shouldn't be any indicators */ + g_assert (indicator_object_get_entries (INDICATOR_OBJECT (indicator)) == NULL); + + g_main_loop_unref (loop); + g_object_unref (indicator); +} + +static void +test_instantiation_with_profile (void) +{ + IndicatorNg *indicator; + GError *error = NULL; + + indicator = indicator_ng_new_for_profile (SRCDIR "/com.canonical.indicator.test", "greeter", &error); + g_assert (indicator); + g_assert (error == NULL); + + g_assert_cmpstr (indicator_ng_get_profile (indicator), ==, "greeter"); + + g_object_unref (indicator); +} + +/* From gtk+/testsuite/gtk/gtkmenu.c + * + * Returns the label of a GtkModelMenuItem, for which + * gtk_menu_item_get_label() returns NULL, because it uses its own + * widgets to accommodate an icon. + * + */ +static const gchar * +get_label (GtkMenuItem *item) +{ + GList *children = gtk_container_get_children (GTK_CONTAINER (item)); + const gchar *label = NULL; + + while (children) + { + if (GTK_IS_CONTAINER (children->data)) + children = g_list_concat (children, gtk_container_get_children (children->data)); + else if (GTK_IS_LABEL (children->data)) + label = gtk_label_get_text (children->data); + + children = g_list_delete_link (children, children); + } + + return label; +} + +static void +test_menu (void) +{ + IndicatorNg *indicator; + GError *error = NULL; + GMainLoop *loop; + GList *entries; + IndicatorObjectEntry *entry; + + indicator = indicator_ng_new (SRCDIR "/com.canonical.indicator.test", &error); + g_assert (indicator); + g_assert (error == NULL); + + loop = g_main_loop_new (NULL, FALSE); + g_timeout_add (500, stop_main_loop, loop); + g_main_loop_run (loop); + + entries = indicator_object_get_entries (INDICATOR_OBJECT (indicator)); + g_assert_cmpint (g_list_length (entries), ==, 1); + + entry = entries->data; + g_assert_cmpstr (entry->name_hint, ==, "indicator-test"); + g_assert_cmpstr (entry->accessible_desc, ==, "Test indicator"); + g_assert_cmpstr (gtk_label_get_label (entry->label), ==, "Test"); + g_assert (gtk_image_get_storage_type (entry->image) == GTK_IMAGE_ICON_NAME); + { + GList *children; + GtkMenuItem *item; + + g_assert (entry->menu != NULL); + + children = gtk_container_get_children (GTK_CONTAINER (entry->menu)); + g_assert_cmpint (g_list_length (children), ==, 1); + + item = children->data; + g_assert (GTK_IS_MENU_ITEM (item)); + g_assert (gtk_widget_is_sensitive (GTK_WIDGET (item))); + g_assert_cmpstr (get_label (item), ==, "Show"); + + g_list_free (children); + } + + g_list_free (entries); + g_main_loop_unref (loop); + g_object_unref (indicator); +} + +int +main (int argc, char **argv) +{ + /* gvfs, dconf, and appmenu-gtk leak GDbusConnections, which confuses + * g_test_dbus_down. Make sure we're not using any of those. + */ + g_setenv ("GIO_USE_VFS", "local", TRUE); + g_setenv ("GSETTINGS_BACKEND", "memory", TRUE); + g_unsetenv ("UBUNTU_MENUPROXY"); + + g_test_init (&argc, &argv, NULL); + gtk_init (&argc, &argv); + + indicator_ng_test_add ("non-existing", test_non_existing); + indicator_ng_test_add ("instantiation", test_instantiation); + indicator_ng_test_add ("instantiation-with-profile", test_instantiation_with_profile); + indicator_ng_test_add ("menu", test_menu); + + return g_test_run (); +}
  23. Download patch build-aux/missing
  24. Download patch ChangeLog
  25. Download patch libindicator/indicator-service.c

    --- 0.5.0-4/libindicator/indicator-service.c 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-service.c 2018-03-21 17:39:42.000000000 +0000 @@ -25,6 +25,8 @@ License along with this library. If not, #include "config.h" #endif +#include <stdlib.h> /* exit() */ + #include <gio/gio.h> #include "indicator-service.h" @@ -231,10 +233,7 @@ indicator_service_dispose (GObject *obje { IndicatorServicePrivate * priv = INDICATOR_SERVICE_GET_PRIVATE(object); - if (priv->watchers != NULL) { - g_hash_table_destroy(priv->watchers); - priv->watchers = NULL; - } + g_clear_pointer (&priv->watchers, g_hash_table_destroy); if (priv->timeout != 0) { g_source_remove(priv->timeout); @@ -247,10 +246,7 @@ indicator_service_dispose (GObject *obje priv->dbus_registration = 0; } - if (priv->bus != NULL) { - g_object_unref(priv->bus); - priv->bus = NULL; - } + g_clear_object (&priv->bus); if (priv->bus_cancel != NULL) { g_cancellable_cancel(priv->bus_cancel); @@ -269,14 +265,8 @@ indicator_service_finalize (GObject *obj { IndicatorServicePrivate * priv = INDICATOR_SERVICE_GET_PRIVATE(object); - if (priv->name != NULL) { - g_free(priv->name); - } - - if (priv->watchers != NULL) { - g_hash_table_destroy(priv->watchers); - priv->watchers = NULL; - } + g_free (priv->name); + g_clear_pointer (&priv->watchers, g_hash_table_destroy); G_OBJECT_CLASS (indicator_service_parent_class)->finalize (object); return; @@ -361,8 +351,9 @@ bus_get_cb (GObject * object, GAsyncResu GDBusConnection * connection = g_bus_get_finish(res, &error); if (error != NULL) { - g_error("OMG! Unable to get a connection to DBus: %s", error->message); + g_warning("Unable to get a connection to the session DBus: %s", error->message); g_error_free(error); + exit (0); return; }
  26. Download patch configure.ac

    --- 0.5.0-4/configure.ac 2012-04-11 15:23:46.543242437 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/configure.ac 2018-03-21 17:39:42.000000000 +0000 @@ -1,5 +1,5 @@ AC_INIT([libindicator], - [0.5.0], + [12.10.2], [http://bugs.launchpad.net/libindicator], [libindicator], [http://launchpad.net/libindicator]) @@ -43,8 +43,9 @@ AS_IF([test "x$enable_deprecations" = xn ############################## GTK_REQUIRED_VERSION=2.18 -GTK3_REQUIRED_VERSION=2.91 -GIO_UNIX_REQUIRED_VERSION=2.22 +GTK3_REQUIRED_VERSION=3.6 +GIO_UNIX_REQUIRED_VERSION=2.37 +IDO_REQUIRED_VERSION=13.10.0 AC_ARG_WITH([gtk], [AS_HELP_STRING([--with-gtk], @@ -54,7 +55,8 @@ AC_ARG_WITH([gtk], AS_IF([test "x$with_gtk" = x3], [PKG_CHECK_MODULES(LIBINDICATOR, gtk+-3.0 >= $GTK3_REQUIRED_VERSION gmodule-2.0 - gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION) + gio-unix-2.0 >= $GIO_UNIX_REQUIRED_VERSION + libido3-0.1 >= $IDO_REQUIRED_VERSION) ], [test "x$with_gtk" = x2], [PKG_CHECK_MODULES(LIBINDICATOR, gtk+-2.0 >= $GTK_REQUIRED_VERSION @@ -66,7 +68,10 @@ AS_IF([test "x$with_gtk" = x3], AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3]) LT_LIB_M -LIBINDICATOR_LIBS+="$LIBM" +AC_SUBST(LIBM) + +SYSTEMD_USERDIR=`$PKG_CONFIG --variable=systemduserunitdir systemd` +AC_SUBST(SYSTEMD_USERDIR) ############################## # Custom Junk @@ -150,6 +155,7 @@ AC_SUBST(COVERAGE_LDFLAGS) AC_CONFIG_FILES([ Makefile +data/Makefile libindicator/Makefile libindicator/indicator-0.4.pc.in libindicator/indicator3-0.4.pc.in
  27. Download patch tests/test-desktop-shortcuts.c

    --- 0.5.0-4/tests/test-desktop-shortcuts.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/test-desktop-shortcuts.c 2018-03-21 17:39:42.000000000 +0000 @@ -125,7 +125,7 @@ test_desktop_shortcuts_launch (void) const gchar ** nicks = indicator_desktop_shortcuts_get_nicks(ids); g_assert(nicks_contains(nicks, "touch")); - g_assert(indicator_desktop_shortcuts_nick_exec(ids, "touch")); + g_assert(indicator_desktop_shortcuts_nick_exec_with_context(ids, "touch", NULL)); g_usleep(100000); g_assert(g_file_test(BUILD_DIR "/test-desktop-shortcuts-touch-test", G_FILE_TEST_EXISTS)); @@ -149,7 +149,6 @@ test_desktop_shortcuts_suite (void) int main (int argc, char ** argv) { - g_type_init (); g_test_init (&argc, &argv, NULL); gtk_init(&argc, &argv);
  28. Download patch tests/service-version-bad-service.c

    --- 0.5.0-4/tests/service-version-bad-service.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-version-bad-service.c 2018-03-21 17:39:42.000000000 +0000 @@ -49,8 +49,6 @@ shutdown (void) int main (int argc, char ** argv) { - g_type_init(); - IndicatorService * is = indicator_service_new_version("org.ayatana.version.bad", SERVICE_VERSION_BAD); g_signal_connect(G_OBJECT(is), INDICATOR_SERVICE_SIGNAL_SHUTDOWN, shutdown, NULL);
  29. Download patch libindicator/indicator-service-manager.c

    --- 0.5.0-4/libindicator/indicator-service-manager.c 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-service-manager.c 2018-03-21 17:39:42.000000000 +0000 @@ -636,7 +636,7 @@ start_service_again (IndicatorServiceMan object. */ IndicatorServiceManager * -indicator_service_manager_new (gchar * dbus_name) +indicator_service_manager_new (const gchar * dbus_name) { GObject * obj = g_object_new(INDICATOR_SERVICE_MANAGER_TYPE, PROP_NAME_S, dbus_name, @@ -660,7 +660,7 @@ indicator_service_manager_new (gchar * d object. */ IndicatorServiceManager * -indicator_service_manager_new_version (gchar * dbus_name, guint version) +indicator_service_manager_new_version (const gchar * dbus_name, guint version) { GObject * obj = g_object_new(INDICATOR_SERVICE_MANAGER_TYPE, PROP_NAME_S, dbus_name,
  30. Download patch debian/patches/clang.patch

    --- 0.5.0-4/debian/patches/clang.patch 2016-04-04 04:23:40.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/patches/clang.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ ---- libindicator-0.5.0.orig/libindicator/indicator-service.c -+++ libindicator-0.5.0/libindicator/indicator-service.c -@@ -100,9 +100,9 @@ static void bus_method_call (GDBusConnec - static GDBusNodeInfo * node_info = NULL; - static GDBusInterfaceInfo * interface_info = NULL; - static GDBusInterfaceVTable interface_table = { -- method_call: bus_method_call, -- get_property: NULL, /* No properties */ -- set_property: NULL /* No properties */ -+ .method_call = bus_method_call, -+ .get_property = NULL, /* No properties */ -+ .set_property = NULL /* No properties */ - }; - - /* THE define */
  31. Download patch build-aux/config.sub
  32. Download patch debian/patches/no-Werror-deprecated

    --- 0.5.0-4/debian/patches/no-Werror-deprecated 2018-09-06 19:09:01.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/patches/no-Werror-deprecated 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ ---- libindicator-0.5.0.orig/libindicator/Makefile.am -+++ libindicator-0.5.0/libindicator/Makefile.am -@@ -57,7 +57,7 @@ libindicator_la_CFLAGS = \ - $(LIBINDICATOR_CFLAGS) \ - $(COVERAGE_CFLAGS) \ - -DG_LOG_DOMAIN=\"libindicator\" \ -- -Wall -Werror -+ -Wall -Werror -Wno-deprecated-declarations - - libindicator_la_LIBADD = \ - $(LIBINDICATOR_LIBS) ---- libindicator-0.5.0.orig/tools/Makefile.am -+++ libindicator-0.5.0/tools/Makefile.am -@@ -17,7 +17,7 @@ indicator_loader_SOURCES = \ - indicator-loader.c - - indicator_loader_CFLAGS = \ -- -Wall -Werror \ -+ -Wall -Werror -Wno-deprecated-declarations \ - $(LIBINDICATOR_CFLAGS) -I$(top_srcdir) \ - -DBUILD_DIR="\"$(builddir)\"" -
  33. Download patch tests/service-shutdown-timeout.c

    --- 0.5.0-4/tests/service-shutdown-timeout.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-shutdown-timeout.c 2018-03-21 17:39:42.000000000 +0000 @@ -48,8 +48,6 @@ shutdown (void) int main (int argc, char ** argv) { - g_type_init(); - IndicatorService * is = indicator_service_new("my.test.name"); g_signal_connect(G_OBJECT(is), INDICATOR_SERVICE_SIGNAL_SHUTDOWN, shutdown, NULL);
  34. Download patch m4/ltsugar.m4

    --- 0.5.0-4/m4/ltsugar.m4 2012-04-11 15:42:20.259268905 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/m4/ltsugar.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,123 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -])
  35. Download patch libindicator/indicator-service-manager.h

    --- 0.5.0-4/libindicator/indicator-service-manager.h 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-service-manager.h 2018-03-21 17:39:42.000000000 +0000 @@ -76,8 +76,8 @@ struct _IndicatorServiceManager { GType indicator_service_manager_get_type (void); -IndicatorServiceManager * indicator_service_manager_new (gchar * dbus_name); -IndicatorServiceManager * indicator_service_manager_new_version (gchar * dbus_name, +IndicatorServiceManager * indicator_service_manager_new (const gchar * dbus_name); +IndicatorServiceManager * indicator_service_manager_new_version (const gchar * dbus_name, guint version); gboolean indicator_service_manager_connected (IndicatorServiceManager * sm); void indicator_service_manager_set_refresh (IndicatorServiceManager * sm,
  36. Download patch libindicator/gen-indicator-service.xml.c

    --- 0.5.0-4/libindicator/gen-indicator-service.xml.c 2012-04-11 15:25:48.139245327 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/gen-indicator-service.xml.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -const char * _indicator_service = -"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" -"<node name=\"/\">\n" -" <interface name=\"org.ayatana.indicator.service\">\n" -"<!-- Properties -->\n" -" <!-- None currently -->\n" -"\n" -"<!-- Methods -->\n" -" <method name=\"Watch\">\n" -" <annotation name=\"org.freedesktop.DBus.GLib.Async\" value=\"true\" />\n" -" <arg type=\"u\" name=\"version\" direction=\"out\" />\n" -" <arg type=\"u\" name=\"service_version\" direction=\"out\" />\n" -" </method>\n" -" <method name=\"UnWatch\">\n" -" <annotation name=\"org.freedesktop.DBus.GLib.Async\" value=\"true\" />\n" -" </method>\n" -" <method name=\"Shutdown\" />\n" -"\n" -"<!-- Signals -->\n" -" <!-- None currently -->\n" -"\n" -" </interface>\n" -"</node>\n" -;
  37. Download patch tests/test-loader.c

    --- 0.5.0-4/tests/test-loader.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/test-loader.c 2018-03-21 17:39:42.000000000 +0000 @@ -156,22 +156,24 @@ test_loader_filename_dummy_signaler (voi static void visible_entry_added (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer box) { - // make a frame for the entry, and add the frame to the box - GtkWidget * frame = gtk_frame_new (NULL); - GtkWidget * child = GTK_WIDGET(entry->label); + GtkWidget * child = GTK_WIDGET (entry->label); g_assert (child != NULL); - gtk_container_add (GTK_CONTAINER(frame), child); - gtk_box_pack_start (GTK_BOX(box), frame, FALSE, FALSE, 0); - g_object_set_data (G_OBJECT(child), "frame-parent", frame); + + if (g_object_get_data (G_OBJECT(child), "frame-parent") == NULL) + { + GtkWidget * frame = gtk_frame_new (NULL); + gtk_container_add (GTK_CONTAINER(frame), child); + gtk_box_pack_start (GTK_BOX(box), frame, FALSE, FALSE, 0); + g_object_set_data (G_OBJECT(child), "frame-parent", frame); + } } static void visible_entry_removed (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer box) { - // destroy this entry's frame - gpointer parent = g_object_steal_data (G_OBJECT(entry->label), "frame-parent"); - if (GTK_IS_WIDGET(parent)) - gtk_widget_destroy(GTK_WIDGET(parent)); + GtkWidget * child = GTK_WIDGET (entry->label); + g_assert (child != NULL); + g_assert (g_object_get_data (G_OBJECT(child), "frame-parent") != NULL); } void @@ -218,7 +220,7 @@ test_loader_filename_dummy_visible (void g_assert(GTK_IS_LABEL(label)); g_assert(g_object_get_qdata(G_OBJECT(label), is_hidden_quark) != NULL); list = gtk_container_get_children (GTK_CONTAINER(box)); - g_assert(g_list_length(list) == 0); + g_assert(g_list_length(list) == 1); g_list_free(list); // restore the entries and confirm that the label survived @@ -360,7 +362,6 @@ test_loader_creation_deletion_suite (voi int main (int argc, char ** argv) { - g_type_init (); g_test_init (&argc, &argv, NULL); gtk_init(&argc, &argv);
  38. Download patch m4/libtool.m4
  39. Download patch debian/patches/lm_ftbfs.patch

    --- 0.5.0-4/debian/patches/lm_ftbfs.patch 2016-04-04 04:33:57.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/patches/lm_ftbfs.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ ---- libindicator-0.5.0.orig/configure.ac -+++ libindicator-0.5.0/configure.ac -@@ -66,7 +66,7 @@ AS_IF([test "x$with_gtk" = x3], - AM_CONDITIONAL(USE_GTK3, [test "x$with_gtk" = x3]) - - LT_LIB_M --LIBINDICATOR_LIBS+="$LIBM" -+LIBINDICATOR_LIBS+=" $LIBM" - - ############################## - # Custom Junk
  40. Download patch configure
  41. Download patch libindicator/indicator-object-enum-types.h.template

    --- 0.5.0-4/libindicator/indicator-object-enum-types.h.template 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-object-enum-types.h.template 2018-03-21 17:39:42.000000000 +0000 @@ -10,7 +10,7 @@ G_BEGIN_DECLS /*** END file-header ***/ /*** BEGIN file-production ***/ -/* enumerations from "@filename@" */ +/* enumerations from "@basename@" */ /*** END file-production ***/ /*** BEGIN file-tail ***/
  42. Download patch NEWS

    --- 0.5.0-4/NEWS 2012-04-11 15:23:26.911241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/NEWS 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,20 @@ +12.10.1 + + - merge lp:~charlesk/libindicator/lp-1045372 to remove the 'cloak' + code that caused libreoffice's menubars in unity to be greyed + out after opening any dialog or switching windows (lp: 1045372) + +12.10.0 + + - merge lp:~evgeni/libindicator/multiarch-same-devheaders so that we + don't include build-time filenames in comments of the enum header + files. If we do, the header files may be different on each build. + This is especially harmful when building multiple times for multiple + architectures and expecting the files to be identical. + + - merge lp:~charlesk/libindicator/fix-test-sources to fix a + copy-and-paste error in specifying the tests' source files + + - merge lp:~charlesk/libindicator/cxx to constify the constructors + for indicator_service_manager +
  43. Download patch tests/com.canonical.indicator.test

    --- 0.5.0-4/tests/com.canonical.indicator.test 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/com.canonical.indicator.test 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,6 @@ +[Indicator Service] +Name=indicator-test +ObjectPath=/com/canonical/indicator/test + +[desktop] +ObjectPath=/com/canonical/indicator/test/desktop
  44. Download patch libindicator/gen-indicator-service.xml.h

    --- 0.5.0-4/libindicator/gen-indicator-service.xml.h 2012-04-11 15:25:48.131245326 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/gen-indicator-service.xml.h 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -extern const char * _indicator_service;
  45. Download patch INSTALL
  46. Download patch debian/patches/gtk_icon_info_free-deprecated.patch

    --- 0.5.0-4/debian/patches/gtk_icon_info_free-deprecated.patch 2013-11-06 14:33:57.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/patches/gtk_icon_info_free-deprecated.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -Description: Fix FTBFS due to gtk_icon_info_free () deprecated since Gtk 3.8 -Author: Andrea Colangelo <warp10@ubuntu.com> & Sorokin Alexei <sor.alexei@meowr.ru> -Bug-Debian: http://bugs.debian.org/713475 -Last-Update: 2013-11-06 - ---- libindicator-0.5.0.orig/libindicator/indicator-image-helper.c -+++ libindicator-0.5.0/libindicator/indicator-image-helper.c -@@ -69,7 +69,11 @@ refresh_image (GtkImage * image) - GdkPixbuf * pixbuf = gdk_pixbuf_new_from_file(icon_filename, &error); - - if (icon_info != NULL) { -+#if GTK_MAJOR_VERSION == 2 - gtk_icon_info_free(icon_info); -+#else -+ g_object_unref(icon_info); -+#endif - } - - if (pixbuf == NULL) {
  47. Download patch build-aux/install-sh
  48. Download patch build-aux/depcomp
  49. Download patch autogen.sh

    --- 0.5.0-4/autogen.sh 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/autogen.sh 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,11 @@ +#!/bin/sh + +PKG_NAME="libindicator" + +which gnome-autogen.sh || { + echo "You need gnome-common from GNOME SVN" + exit 1 +} + +USE_GNOME2_MACROS=1 \ +. gnome-autogen.sh
  50. Download patch data/Makefile.am

    --- 0.5.0-4/data/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/data/Makefile.am 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,4 @@ +systemd_DATA = indicators-pre.target +systemddir = $(SYSTEMD_USERDIR) + +EXTRA_DIST = $(systemd_DATA)
  51. Download patch libindicator/Makefile.am

    --- 0.5.0-4/libindicator/Makefile.am 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/Makefile.am 2019-09-03 20:38:01.000000000 +0000 @@ -36,6 +36,10 @@ indicator_headers = \ indicator-service.h \ indicator-service-manager.h +if USE_GTK3 +indicator_headers += indicator-ng.h +endif + libindicatorinclude_HEADERS = \ $(indicator_headers) @@ -53,14 +57,19 @@ libindicator_la_SOURCES = \ indicator-service.c \ indicator-service-manager.c +if USE_GTK3 +libindicator_la_SOURCES += indicator-ng.c +endif + libindicator_la_CFLAGS = \ $(LIBINDICATOR_CFLAGS) \ $(COVERAGE_CFLAGS) \ -DG_LOG_DOMAIN=\"libindicator\" \ - -Wall -Werror + -Wall -Wno-error=deprecated-declarations libindicator_la_LIBADD = \ - $(LIBINDICATOR_LIBS) + $(LIBINDICATOR_LIBS) \ + $(LIBM) libindicator_la_LDFLAGS = \ $(COVERAGE_LDFLAGS) \
  52. Download patch libindicator/indicator-desktop-shortcuts.c

    --- 0.5.0-4/libindicator/indicator-desktop-shortcuts.c 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-desktop-shortcuts.c 2018-03-21 17:39:42.000000000 +0000 @@ -555,9 +555,10 @@ indicator_desktop_shortcuts_nick_get_nam } /** - indicator_desktop_shortcuts_nick_exec: + indicator_desktop_shortcuts_nick_exec_with_context: @ids: The #IndicatorDesktopShortcuts object to look in @nick: Which command that we're referencing. + @launch_context: The #GAppLaunchContext to use for launching the shortcut Here we take a @nick and try and execute the action that is associated with it. The @nick parameter should be gotten @@ -567,9 +568,10 @@ indicator_desktop_shortcuts_nick_get_nam Return value: #TRUE on success or #FALSE on error. */ gboolean -indicator_desktop_shortcuts_nick_exec (IndicatorDesktopShortcuts * ids, const gchar * nick) +indicator_desktop_shortcuts_nick_exec_with_context (IndicatorDesktopShortcuts * ids, const gchar * nick, GAppLaunchContext * launch_context) { GError * error = NULL; + gchar * current_dir = NULL; g_return_val_if_fail(INDICATOR_IS_DESKTOP_SHORTCUTS(ids), FALSE); IndicatorDesktopShortcutsPrivate * priv = INDICATOR_DESKTOP_SHORTCUTS_GET_PRIVATE(ids); @@ -611,6 +613,22 @@ indicator_desktop_shortcuts_nick_exec (I return FALSE; } + /* If possible move to the proper launch path */ + gchar * path = g_key_file_get_string(priv->keyfile, groupheader, + G_KEY_FILE_DESKTOP_KEY_PATH, NULL); + + if (path && *path != '\0') { + current_dir = g_get_current_dir(); + + if (chdir(path) < 0) { + g_warning("Impossible to run action '%s' from path '%s'", nick, path); + g_free(current_dir); + g_free(groupheader); + g_free(path); + return FALSE; + } + } + /* Grab the name and the exec entries out of our current group */ gchar * name = g_key_file_get_locale_string(priv->keyfile, groupheader, @@ -624,47 +642,64 @@ indicator_desktop_shortcuts_nick_exec (I NULL, NULL); - /* Build a new desktop file with the name and exec in the desktop - group. We have to do this with data as apparently there isn't - and add_group function in g_key_file. Go figure. */ - gchar * desktopdata = g_strdup_printf("[" G_KEY_FILE_DESKTOP_GROUP "]\n" - G_KEY_FILE_DESKTOP_KEY_TYPE "=" G_KEY_FILE_DESKTOP_TYPE_APPLICATION "\n" - G_KEY_FILE_DESKTOP_KEY_NAME "=%s\n" - G_KEY_FILE_DESKTOP_KEY_EXEC "=%s\n", - name, exec); - - - g_free(name); g_free(exec); - /* g_debug("Desktop file: \n%s", desktopdata); */ - - GKeyFile * launcher = g_key_file_new(); - g_key_file_load_from_data(launcher, desktopdata, -1, G_KEY_FILE_NONE, &error); - g_free(desktopdata); + GAppInfoCreateFlags flags = G_APP_INFO_CREATE_NONE; + + if (launch_context) { + flags |= G_APP_INFO_CREATE_SUPPORTS_STARTUP_NOTIFICATION; + } + + GAppInfo * appinfo = g_app_info_create_from_commandline(exec, name, flags, &error); + g_free(groupheader); + g_free(path); + g_free(name); + g_free(exec); if (error != NULL) { - g_warning("Unable to build desktop keyfile for executing shortcut '%s': %s", nick, error->message); + g_warning("Unable to build Command line App info: %s", error->message); + g_free(current_dir); g_error_free(error); return FALSE; } - GDesktopAppInfo * appinfo = g_desktop_app_info_new_from_keyfile(launcher); if (appinfo == NULL) { - g_warning("Unable to build Desktop App info (unknown)"); - g_key_file_free(launcher); + g_warning("Unable to build Command line App info (unknown)"); + g_free(current_dir); return FALSE; } - gboolean launched = g_app_info_launch(G_APP_INFO(appinfo), NULL, NULL, &error); + gboolean launched = g_app_info_launch(appinfo, NULL, launch_context, &error); + + if (current_dir && chdir(current_dir) < 0) + g_warning("Impossible to switch back to default work dir"); + if (error != NULL) { g_warning("Unable to launch file from nick '%s': %s", nick, error->message); - g_error_free(error); - g_key_file_free(launcher); - return FALSE; + g_clear_error(&error); } + g_free(current_dir); g_object_unref(appinfo); - g_key_file_free(launcher); return launched; } + +/** + indicator_desktop_shortcuts_nick_exec: + @ids: The #IndicatorDesktopShortcuts object to look in + @nick: Which command that we're referencing. + + Here we take a @nick and try and execute the action that is + associated with it. The @nick parameter should be gotten + from #indicator_desktop_shortcuts_get_nicks though it's not + required that the exact memory location be the same. + This function is deprecated and shouldn't be used in newly + written code. + + Return value: #TRUE on success or #FALSE on error. +*/ +gboolean +indicator_desktop_shortcuts_nick_exec (IndicatorDesktopShortcuts * ids, const gchar * nick) +{ + return indicator_desktop_shortcuts_nick_exec_with_context (ids, nick, NULL); +}
  53. Download patch debian/patches/series

    --- 0.5.0-4/debian/patches/series 2018-09-06 19:08:57.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -gtk_icon_info_free-deprecated.patch -clang.patch -lm_ftbfs.patch -no-Werror-deprecated
  54. Download patch tests/Makefile.am
  55. Download patch libindicator/indicator-object.c

    --- 0.5.0-4/libindicator/indicator-object.c 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-object.c 2018-03-21 17:39:42.000000000 +0000 @@ -113,10 +113,9 @@ static void get_property (GObject*, guin /* entries' visibility */ static GList * get_entries_default (IndicatorObject*); static GList * get_all_entries (IndicatorObject*); -static void entry_being_removed_default (IndicatorObject*, IndicatorObjectEntry*); static void indicator_object_entry_being_removed (IndicatorObject*, IndicatorObjectEntry*); -static void entry_was_added_default (IndicatorObject*, IndicatorObjectEntry*); static void indicator_object_entry_was_added (IndicatorObject*, IndicatorObjectEntry*); +static gint indicator_object_real_get_position (IndicatorObject*); static IndicatorObjectEntryPrivate * entry_get_private (IndicatorObject*, IndicatorObjectEntry*); G_DEFINE_TYPE (IndicatorObject, indicator_object, G_TYPE_OBJECT); @@ -141,8 +140,9 @@ indicator_object_class_init (IndicatorOb klass->get_accessible_desc = NULL; klass->get_entries = get_entries_default; klass->get_location = NULL; - klass->entry_being_removed = entry_being_removed_default; - klass->entry_was_added = entry_was_added_default; + klass->entry_being_removed = NULL; + klass->entry_was_added = NULL; + klass->get_position = indicator_object_real_get_position; klass->entry_activate = NULL; klass->entry_activate_window = NULL; @@ -314,6 +314,7 @@ indicator_object_init (IndicatorObject * priv->entry.image = NULL; priv->entry.accessible_desc = NULL; priv->entry.name_hint = NULL; + priv->entry.parent_window = 0; priv->gotten_entries = FALSE; priv->default_visibility = TRUE; @@ -527,6 +528,10 @@ get_entries_default (IndicatorObject * i priv->entry.name_hint = class->get_name_hint(io); } + if (class->get_parent_window) { + priv->entry.parent_window = class->get_parent_window(io); + } + priv->gotten_entries = TRUE; } @@ -780,6 +785,14 @@ indicator_object_entry_was_added (Indica } } +static gint +indicator_object_real_get_position (IndicatorObject *io) +{ + g_return_val_if_fail (INDICATOR_IS_OBJECT (io), -1); + + return -1; +} + /** indicator_object_set_environment: @io: #IndicatorObject to set on @@ -937,61 +950,18 @@ set_property (GObject * object, } } -/*** -**** -***/ - -/* Cloaked entries are ones which are hidden but may be re-added later. - They are reffed + unparented so that they'll survive even if the - rest of the widgetry is destroyed */ -#define CLOAKED_KEY "entry-is-cloaked" - -static void -decloak_widget (gpointer w) +gboolean +indicator_object_entry_is_visible (IndicatorObject * io, IndicatorObjectEntry * entry) { - if (w != NULL) { - GObject * o = G_OBJECT(w); - if (g_object_steal_data (o, CLOAKED_KEY) != NULL) { - g_object_unref (o); - } - } -} + g_return_val_if_fail (INDICATOR_IS_OBJECT (io), FALSE); -static void -entry_was_added_default (IndicatorObject * io, IndicatorObjectEntry * entry) -{ - decloak_widget (entry->image); - decloak_widget (entry->label); - decloak_widget (entry->menu); + return entry_get_private (io, entry)->visibility == ENTRY_VISIBLE; } -static void -cloak_widget (gpointer w) +gint +indicator_object_get_position (IndicatorObject *io) { - if (w != NULL) { - GtkWidget * parent; + g_return_val_if_fail (INDICATOR_IS_OBJECT (io), FALSE); - /* tag this object as cloaked */ - GObject * o = G_OBJECT(w); - g_object_ref (o); - g_object_set_data (o, CLOAKED_KEY, GINT_TO_POINTER(1)); - - /* remove it from its surrounding widgetry */ - if(GTK_IS_MENU(w)) { - if (gtk_menu_get_attach_widget (GTK_MENU(w)) != NULL) { - gtk_menu_detach (GTK_MENU(w)); - } - } - else if((parent = gtk_widget_get_parent(w))) { - gtk_container_remove(GTK_CONTAINER(parent), w); - } - } -} - -static void -entry_being_removed_default (IndicatorObject * io, IndicatorObjectEntry * entry) -{ - cloak_widget (entry->image); - cloak_widget (entry->label); - cloak_widget (entry->menu); + return INDICATOR_OBJECT_GET_CLASS (io)->get_position (io); }
  56. Download patch debian/libindicator3-dev.install

    --- 0.5.0-4/debian/libindicator3-dev.install 2016-04-04 04:50:48.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/libindicator3-dev.install 2019-09-03 20:38:01.000000000 +0000 @@ -1,5 +1,4 @@ -#! /usr/bin/dh-exec -debian/tmp/gtk3/usr/include /usr/ -debian/tmp/gtk3/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/indicator3-0.4.pc /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/ -debian/tmp/gtk3/usr/lib/${DEB_HOST_MULTIARCH}/libindicator3.a /usr/lib/${DEB_HOST_MULTIARCH}/ -debian/tmp/gtk3/usr/lib/${DEB_HOST_MULTIARCH}/libindicator3.so /usr/lib/${DEB_HOST_MULTIARCH}/ +usr/include /usr/ +usr/lib/*/pkgconfig/indicator3-0.4.pc +usr/lib/*/libindicator3.a +usr/lib/*/libindicator3.so
  57. Download patch README

    --- 0.5.0-4/README 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/README 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,42 @@ +The indicator service file format +================================= + +Unity's panel finds out about indicator by looking at indicator service +files in `/usr/share/unity/indicators`. These files have to have the same +name as the well-known D-Bus name that the corresponding service owns. + +An indicator file is a normal key file (like desktop files). It must have +an `[Indicator Service]` section, that must contain the service's name (`Name`) +and the object path at which its action group is found (`ObjectPath`). For +example: + + [Indicator Service] + Name=indicator-example + ObjectPath=/com/canonical/indicator/example + +It should also contain a hint to where the indicator should appear in the panel: + + Position=70 + +The smaller the position, the further to the right (or left when RTL is +enabled) the indicator appears. + +An indicator can only export one action group, but a menu for each profile +("desktop", "greeter", "phone") supports. There must be a section for each +of those profiles, containing the object path on which the menu is +exported: + + [desktop] + ObjectPath=/com/canonical/indicator/example/desktop + + [greeter] + ObjectPath=/com/canonical/indicator/example/desktop + + [phone] + ObjectPath=/com/canonical/indicator/example/phone + +Object paths can be reused for different profiles (the greeter uses the +same menu as the desktop in the above example). + +There are no fallbacks. If a profile is not mentioned in the service file, +the indicator will not show up for that profile.
  58. Download patch tools/Makefile.am

    --- 0.5.0-4/tools/Makefile.am 2012-04-11 15:23:26.911241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tools/Makefile.am 2019-09-03 20:38:01.000000000 +0000 @@ -2,10 +2,6 @@ if USE_GTK3 INDICATOR_LIB = -lindicator3 libexec_PROGRAMS = indicator-loader3 VER=3 -else -VER= -INDICATOR_LIB = -lindicator -libexec_PROGRAMS = indicator-loader endif @@ -17,7 +13,7 @@ indicator_loader_SOURCES = \ indicator-loader.c indicator_loader_CFLAGS = \ - -Wall -Werror \ + -Wall \ $(LIBINDICATOR_CFLAGS) -I$(top_srcdir) \ -DBUILD_DIR="\"$(builddir)\""
  59. Download patch tools/indicator-loader.c
  60. Download patch tests/service-version-manager.c

    --- 0.5.0-4/tests/service-version-manager.c 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-version-manager.c 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,85 @@ +/* +Test for libindicator + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould <ted@canonical.com> + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +version 3.0 as published by the Free Software Foundation. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License version 3.0 for more details. + +You should have received a copy of the GNU General Public +License along with this library. If not, see +<http://www.gnu.org/licenses/>. +*/ + + +#include <glib.h> +#include "libindicator/indicator-service-manager.h" +#include "service-version-values.h" + +static GMainLoop * mainloop = NULL; +static gboolean con_good = FALSE; +static gboolean con_bad = FALSE; + +gboolean +timeout (gpointer data) +{ + g_debug("Timeout."); + g_main_loop_quit(mainloop); + return FALSE; +} + +void +connection_bad (IndicatorServiceManager * sm, gboolean connected, gpointer user_data) +{ + if (!connected) return; + g_debug("Connection From Bad!"); + con_bad = TRUE; + return; +} + +void +connection_good (IndicatorServiceManager * sm, gboolean connected, gpointer user_data) +{ + if (!connected) return; + g_debug("Connection From Good."); + con_good = TRUE; + return; +} + +int +main (int argc, char ** argv) +{ + g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL); + g_print("Manager: DBUS_SESSION_BUS_ADDRESS = %s\n", g_getenv("DBUS_SESSION_BUS_ADDRESS")); + + IndicatorServiceManager * goodis = indicator_service_manager_new_version("org.ayatana.version.good", SERVICE_VERSION_GOOD); + g_signal_connect(G_OBJECT(goodis), INDICATOR_SERVICE_MANAGER_SIGNAL_CONNECTION_CHANGE, G_CALLBACK(connection_good), NULL); + + IndicatorServiceManager * badis = indicator_service_manager_new_version("org.ayatana.version.bad", SERVICE_VERSION_GOOD); + g_signal_connect(G_OBJECT(badis), INDICATOR_SERVICE_MANAGER_SIGNAL_CONNECTION_CHANGE, G_CALLBACK(connection_bad), NULL); + + g_timeout_add_seconds(1, timeout, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + g_object_unref(goodis); + g_object_unref(badis); + + g_debug("Quiting"); + if (con_good && !con_bad) { + g_debug("Passed"); + return 0; + } + g_debug("Failed"); + return 1; +}
  61. Download patch libindicator/indicator-desktop-shortcuts.h

    --- 0.5.0-4/libindicator/indicator-desktop-shortcuts.h 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-desktop-shortcuts.h 2018-03-21 17:39:42.000000000 +0000 @@ -24,6 +24,7 @@ License along with this library. If not, #ifndef __INDICATOR_DESKTOP_SHORTCUTS_H__ #define __INDICATOR_DESKTOP_SHORTCUTS_H__ +#include <gio/gio.h> #include <glib.h> #include <glib-object.h> @@ -60,14 +61,19 @@ struct _IndicatorDesktopShortcuts { GObject parent; }; -GType indicator_desktop_shortcuts_get_type (void); -IndicatorDesktopShortcuts * indicator_desktop_shortcuts_new (const gchar * file, - const gchar * identity); -const gchar ** indicator_desktop_shortcuts_get_nicks (IndicatorDesktopShortcuts * ids); -gchar * indicator_desktop_shortcuts_nick_get_name (IndicatorDesktopShortcuts * ids, - const gchar * nick); -gboolean indicator_desktop_shortcuts_nick_exec (IndicatorDesktopShortcuts * ids, - const gchar * nick); +GType indicator_desktop_shortcuts_get_type (void); +IndicatorDesktopShortcuts * indicator_desktop_shortcuts_new (const gchar * file, + const gchar * identity); +const gchar ** indicator_desktop_shortcuts_get_nicks (IndicatorDesktopShortcuts * ids); +gchar * indicator_desktop_shortcuts_nick_get_name (IndicatorDesktopShortcuts * ids, + const gchar * nick); +gboolean indicator_desktop_shortcuts_nick_exec_with_context (IndicatorDesktopShortcuts * ids, + const gchar * nick, + GAppLaunchContext * launch_context); + +GLIB_DEPRECATED_FOR(indicator_desktop_shortcuts_nick_exec_with_context) +gboolean indicator_desktop_shortcuts_nick_exec (IndicatorDesktopShortcuts * ids, + const gchar * nick); G_END_DECLS
  62. Download patch libindicator/indicator-object.h

    --- 0.5.0-4/libindicator/indicator-object.h 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-object.h 2018-03-21 17:39:42.000000000 +0000 @@ -111,6 +111,7 @@ typedef struct _IndicatorObjectEntry I @show_now_changed: Slot for #IndicatorObject::show-now-changed @accessible_desc_update: Slot for #IndicatorObject::accessible-desc-update @secondary_activate: Slot for #IndicatorObject::secondary-activate + @get_position: returns the desired position on the panel (0 is right-most), or -1 */ struct _IndicatorObjectClass { GObjectClass parent_class; @@ -143,12 +144,13 @@ struct _IndicatorObjectClass { void (*accessible_desc_update) (IndicatorObject * io, IndicatorObjectEntry * entry, gpointer user_data); void (*secondary_activate) (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp, gpointer user_data); + gint (*get_position) (IndicatorObject *io); + guint (*get_parent_window) (IndicatorObject *io); + /* Reserved */ void (*reserved1) (void); void (*reserved2) (void); void (*reserved3) (void); - void (*reserved4) (void); - void (*reserved5) (void); }; /** @@ -172,11 +174,11 @@ struct _IndicatorObject { of the indicator @name_hint: A name to describe the indicator being placed to allow the caller to be more aware of the individual entries. + @parent_window: the id of the parent window of the indicator entry (if any). @reserved1: Reserved for future use @reserved2: Reserved for future use @reserved3: Reserved for future use - @reserved4: Reserved for future use */ struct _IndicatorObjectEntry { IndicatorObject * parent_object; @@ -185,11 +187,11 @@ struct _IndicatorObjectEntry { GtkMenu * menu; const gchar * accessible_desc; const gchar * name_hint; + guint parent_window; void (*reserved1) (void); void (*reserved2) (void); void (*reserved3) (void); - void (*reserved4) (void); }; GType indicator_object_get_type (void); @@ -199,9 +201,11 @@ GList * indicator_object_get_entries (In guint indicator_object_get_location (IndicatorObject * io, IndicatorObjectEntry * entry); guint indicator_object_get_show_now (IndicatorObject * io, IndicatorObjectEntry * entry); void indicator_object_set_visible (IndicatorObject * io, gboolean visible); +gboolean indicator_object_entry_is_visible (IndicatorObject * io, IndicatorObjectEntry * entry); void indicator_object_entry_activate (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp); void indicator_object_entry_activate_window (IndicatorObject * io, IndicatorObjectEntry * entry, guint windowid, guint timestamp); void indicator_object_entry_close (IndicatorObject * io, IndicatorObjectEntry * entry, guint timestamp); +gint indicator_object_get_position (IndicatorObject *io); void indicator_object_set_environment (IndicatorObject * io, GStrv env); GStrv indicator_object_get_environment (IndicatorObject * io);
  63. Download patch aclocal.m4
  64. Download patch tests/indicator-test-service.c

    --- 0.5.0-4/tests/indicator-test-service.c 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/indicator-test-service.c 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,110 @@ + +#include <gio/gio.h> + +typedef struct +{ + GSimpleActionGroup *actions; + GMenu *menu; + + guint actions_export_id; + guint menu_export_id; +} IndicatorTestService; + +static void +bus_acquired (GDBusConnection *connection, + const gchar *name, + gpointer user_data) +{ + IndicatorTestService *indicator = user_data; + GError *error = NULL; + + indicator->actions_export_id = g_dbus_connection_export_action_group (connection, + "/com/canonical/indicator/test", + G_ACTION_GROUP (indicator->actions), + &error); + if (indicator->actions_export_id == 0) + { + g_warning ("cannot export action group: %s", error->message); + g_error_free (error); + return; + } + + indicator->menu_export_id = g_dbus_connection_export_menu_model (connection, + "/com/canonical/indicator/test/desktop", + G_MENU_MODEL (indicator->menu), + &error); + if (indicator->menu_export_id == 0) + { + g_warning ("cannot export menu: %s", error->message); + g_error_free (error); + return; + } +} + +static void +name_lost (GDBusConnection *connection, + const gchar *name, + gpointer user_data) +{ + IndicatorTestService *indicator = user_data; + + if (indicator->actions_export_id) + g_dbus_connection_unexport_action_group (connection, indicator->actions_export_id); + + if (indicator->menu_export_id) + g_dbus_connection_unexport_menu_model (connection, indicator->menu_export_id); +} + +static void +activate_show (GSimpleAction *action, + GVariant *parameter, + gpointer user_data) +{ + g_message ("showing"); +} + +int +main (int argc, char **argv) +{ + IndicatorTestService indicator = { 0 }; + GMenuItem *item; + GMenu *submenu; + GActionEntry entries[] = { + { "_header", NULL, NULL, "{'label': <'Test'>," + " 'icon': <'indicator-test'>," + " 'accessible-desc': <'Test indicator'> }", NULL }, + { "show", activate_show, NULL, NULL, NULL } + }; + GMainLoop *loop; + + indicator.actions = g_simple_action_group_new (); + g_simple_action_group_add_entries (indicator.actions, entries, G_N_ELEMENTS (entries), NULL); + + submenu = g_menu_new (); + g_menu_append (submenu, "Show", "indicator.show"); + item = g_menu_item_new (NULL, "indicator._header"); + g_menu_item_set_attribute (item, "x-canonical-type", "s", "com.canonical.indicator.root"); + g_menu_item_set_submenu (item, G_MENU_MODEL (submenu)); + indicator.menu = g_menu_new (); + g_menu_append_item (indicator.menu, item); + + g_bus_own_name (G_BUS_TYPE_SESSION, + "com.canonical.indicator.test", + G_BUS_NAME_OWNER_FLAGS_NONE, + bus_acquired, + NULL, + name_lost, + &indicator, + NULL); + + loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (loop); + + g_object_unref (submenu); + g_object_unref (item); + g_object_unref (indicator.actions); + g_object_unref (indicator.menu); + g_object_unref (loop); + + return 0; +}
  65. Download patch libindicator/Makefile.in
  66. Download patch libindicator/indicator-0.4.pc.in.in

    --- 0.5.0-4/libindicator/indicator-0.4.pc.in.in 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-0.4.pc.in.in 2018-03-21 17:39:42.000000000 +0000 @@ -4,7 +4,7 @@ libdir=@libdir@ bindir=@bindir@ includedir=@includedir@ -indicatordir=${libdir}/indicators/@indicator_abi_version@ +indicatordir=${exec_prefix}/lib/indicators/@indicator_abi_version@ iconsdir=@datarootdir@/@PACKAGE@/icons/ Cflags: -I${includedir}/libindicator-0.@indicator_api_version@
  67. Download patch tests/service-manager-nostart-connect.c

    --- 0.5.0-4/tests/service-manager-nostart-connect.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-manager-nostart-connect.c 2018-03-21 17:39:42.000000000 +0000 @@ -62,7 +62,6 @@ connection (IndicatorServiceManager * sm int main (int argc, char ** argv) { - g_type_init(); g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL); g_usleep(150000);
  68. Download patch tests/service-manager-connect-service.c

    --- 0.5.0-4/tests/service-manager-connect-service.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-manager-connect-service.c 2018-03-21 17:39:42.000000000 +0000 @@ -48,8 +48,6 @@ shutdown (void) int main (int argc, char ** argv) { - g_type_init(); - g_debug("Starting service"); IndicatorService * is = indicator_service_new("org.ayatana.test");
  69. Download patch AUTHORS

    --- 0.5.0-4/AUTHORS 2012-04-11 15:42:35.735269274 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/AUTHORS 2018-03-21 17:39:42.000000000 +0000 @@ -1,25 +1,2 @@ -# Generated by Makefile. Do not edit. +# Generated by Makefile at dist - Allan LeSage - Aurelien Gateau - Charles Kerr - Cody Russell - Daniel d'Andrada - Eitan Isaacson - Evgeni Golov - György Balló - Hernando Torque - Javier Jardón - Karl - Ken VanDine - Lars Uebernickel - Luke Yelavich - Marco Trevisan (Treviño) - Martin Pitt - Michael Terry - Mikkel Kamstrup Erlandsen - Neil Jagdish Patel - Robert Ancell - Robert Carr - Sebastien Bacher - Ted Gould
  70. Download patch data/indicators-pre.target

    --- 0.5.0-4/data/indicators-pre.target 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/data/indicators-pre.target 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,2 @@ +[Unit] +Description=Target representing the lifecycle of the indicators. Each indicator should be bound to it in its individual service file.
  71. Download patch tests/Makefile.in
  72. Download patch m4/ltoptions.m4
  73. Download patch Makefile.am

    --- 0.5.0-4/Makefile.am 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/Makefile.am 2018-03-21 17:39:42.000000000 +0000 @@ -1,6 +1,7 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} SUBDIRS = \ + data \ libindicator \ tools
  74. Download patch libindicator/indicator-object-enum-types.c.template

    --- 0.5.0-4/libindicator/indicator-object-enum-types.c.template 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-object-enum-types.c.template 2018-03-21 17:39:42.000000000 +0000 @@ -3,8 +3,8 @@ /*** END file-header ***/ /*** BEGIN file-production ***/ -/* enumerations from "@filename@" */ -#include "@filename@" +/* enumerations from "@basename@" */ +#include "@basename@" /*** END file-production ***/ /*** BEGIN value-header ***/
  75. Download patch tools/Makefile.in
  76. Download patch m4/ltversion.m4

    --- 0.5.0-4/m4/ltversion.m4 2012-04-11 15:42:20.299268906 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/m4/ltversion.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 3337 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -])
  77. Download patch debian/libindicator7.install

    --- 0.5.0-4/debian/libindicator7.install 2016-04-04 04:52:13.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/libindicator7.install 2019-09-03 20:38:01.000000000 +0000 @@ -1,2 +1 @@ -#! /usr/bin/dh-exec -debian/tmp/gtk2/usr/lib/${DEB_HOST_MULTIARCH}/libindicator.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ +usr/lib/*/libindicator.so.*
  78. Download patch tests/service-manager-connect.c

    --- 0.5.0-4/tests/service-manager-connect.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-manager-connect.c 2018-03-21 17:39:42.000000000 +0000 @@ -62,7 +62,6 @@ connection (IndicatorServiceManager * sm int main (int argc, char ** argv) { - g_type_init(); g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL); IndicatorServiceManager * is = indicator_service_manager_new("org.ayatana.test");
  79. Download patch tests/service-version-multiwatch-manager.c

    --- 0.5.0-4/tests/service-version-multiwatch-manager.c 2012-04-11 15:23:26.923241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/tests/service-version-multiwatch-manager.c 2018-03-21 17:39:42.000000000 +0000 @@ -64,7 +64,6 @@ delay_start (gpointer data) int main (int argc, char ** argv) { - g_type_init(); g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL); g_print("Manager: DBUS_SESSION_BUS_ADDRESS = %s\n", g_getenv("DBUS_SESSION_BUS_ADDRESS"));
  80. Download patch config.h.in

    --- 0.5.0-4/config.h.in 2012-04-11 15:42:22.375268956 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/config.h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,77 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* build with extra debug information */ -#undef ENABLE_DEBUG - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* system configuration dir */ -#undef LIBDIR - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* prefix directory */ -#undef PREFIX - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* system configuration dir */ -#undef SYSCONFDIR - -/* Version number of package */ -#undef VERSION
  81. Download patch trim-lcov.py

    --- 0.5.0-4/trim-lcov.py 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/trim-lcov.py 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,69 @@ +#!/usr/bin/python + +# Copyright 2013 Canonical Ltd. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 3.0 as published by the Free Software Foundation. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License version 3.0 for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library. If not, see +# <http://www.gnu.org/licenses/>. +# +# Author: Ryan Lortie <desrt@desrt.ca> + + +# This script removes branch and/or line coverage data for lines that +# contain a particular substring. +# +# In the interest of "fairness" it removes all branch or coverage data +# when a match is found -- not just negative data. It is therefore +# likely that running this script will actually reduce the total number +# of lines and branches that are marked as covered (in absolute terms). +# +# This script intentionally avoids checking for errors. Any exceptions +# will trigger make to fail. + +import sys + +line_suppress = ['g_assert_not_reached'] +branch_suppress = ['g_assert', 'g_return_if_fail', 'g_return_val_if_fail', 'G_DEFINE_TYPE'] + +def check_suppress(suppressions, source, data): + line, _, rest = data.partition(',') + line = int(line) - 1 + + assert line < len(source) + + for suppression in suppressions: + if suppression in source[line]: + return True + + return False + +source = [] +for line in sys.stdin: + line = line[:-1] + + keyword, _, rest = line.partition(':') + + # Source file + if keyword == 'SF': + source = file(rest).readlines() + + # Branch coverage data + elif keyword == 'BRDA': + if check_suppress(branch_suppress, source, rest): + continue + + # Line coverage data + elif keyword == 'DA': + if check_suppress(line_suppress, source, rest): + continue + + print line
  82. Download patch debian/source/format

    --- 0.5.0-4/debian/source/format 2013-10-25 20:54:49.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/source/format 2019-09-03 20:38:01.000000000 +0000 @@ -1 +1 @@ -3.0 (quilt) +1.0
  83. Download patch libindicator/indicator-object-marshal.c
  84. Download patch Makefile.in
  85. Download patch Makefile.am.coverage

    --- 0.5.0-4/Makefile.am.coverage 2012-04-11 15:23:26.911241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/Makefile.am.coverage 2018-03-21 17:39:42.000000000 +0000 @@ -1,6 +1,8 @@ # Coverage targets +EXTRA_DIST = trim-lcov.py + .PHONY: clean-gcno clean-gcda \ coverage-html generate-coverage-html clean-coverage-html \ coverage-gcovr generate-coverage-gcovr clean-coverage-gcovr @@ -23,7 +25,7 @@ coverage-html: clean-gcda generate-coverage-html: @echo Collecting coverage data - $(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool + $(LCOV) --directory $(top_builddir) --capture --no-checksum --compat-libtool | $(top_srcdir)/trim-lcov.py > coverage.info LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info clean-coverage-html: clean-gcda
  86. Download patch libindicator/indicator-object-enum-types.c

    --- 0.5.0-4/libindicator/indicator-object-enum-types.c 2012-04-11 15:25:48.087245325 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-object-enum-types.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - -/* Generated data (by glib-mkenums) */ - -#include "indicator-object-enum-types.h" -/* enumerations from "indicator-object.h" */ -#include "indicator-object.h" -GType -indicator_scroll_direction_get_type (void) { - static GType enum_type_id = 0; - if (G_UNLIKELY (!enum_type_id)) - { - static const GEnumValue values[] = { - { INDICATOR_OBJECT_SCROLL_UP, "INDICATOR_OBJECT_SCROLL_UP", "up" }, - { INDICATOR_OBJECT_SCROLL_DOWN, "INDICATOR_OBJECT_SCROLL_DOWN", "down" }, - { INDICATOR_OBJECT_SCROLL_LEFT, "INDICATOR_OBJECT_SCROLL_LEFT", "left" }, - { INDICATOR_OBJECT_SCROLL_RIGHT, "INDICATOR_OBJECT_SCROLL_RIGHT", "right" }, - { 0, NULL, NULL } - }; - enum_type_id = g_enum_register_static (g_intern_static_string ("IndicatorScrollDirection"), values); - } - return enum_type_id; -} - -/* Generated data ends here */ -
  87. Download patch libindicator/indicator-image-helper.c

    --- 0.5.0-4/libindicator/indicator-image-helper.c 2012-04-11 15:23:26.915241970 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/libindicator/indicator-image-helper.c 2018-03-21 17:39:42.000000000 +0000 @@ -25,6 +25,7 @@ License along with this library. If not, #include "indicator-image-helper.h" const gchar * INDICATOR_NAMES_DATA = "indicator-names-data"; +const gint ICON_SIZE = 22; static void refresh_image (GtkImage * image) @@ -32,21 +33,20 @@ refresh_image (GtkImage * image) g_return_if_fail(GTK_IS_IMAGE(image)); const gchar * icon_filename = NULL; GtkIconInfo * icon_info = NULL; - gint icon_size = 22; GIcon * icon_names = (GIcon *)g_object_get_data(G_OBJECT(image), INDICATOR_NAMES_DATA); - g_return_if_fail(icon_names != NULL); + g_return_if_fail(G_IS_ICON (icon_names)); /* Get the default theme */ GtkIconTheme * default_theme = gtk_icon_theme_get_default(); g_return_if_fail(default_theme != NULL); /* Look through the themes for that icon */ - icon_info = gtk_icon_theme_lookup_by_gicon(default_theme, icon_names, icon_size, 0); + icon_info = gtk_icon_theme_lookup_by_gicon(default_theme, icon_names, ICON_SIZE, 0); if (icon_info == NULL) { /* Maybe the icon was just added to the theme, see if a rescan helps */ gtk_icon_theme_rescan_if_needed(default_theme); - icon_info = gtk_icon_theme_lookup_by_gicon(default_theme, icon_names, icon_size, 0); + icon_info = gtk_icon_theme_lookup_by_gicon(default_theme, icon_names, ICON_SIZE, 0); } if (icon_info == NULL) { /* Try using the second item in the names, which should be the original filename supplied */ @@ -62,38 +62,75 @@ refresh_image (GtkImage * image) /* Grab the filename */ icon_filename = gtk_icon_info_get_filename(icon_info); } - g_return_if_fail(icon_filename != NULL); /* An error because we don't have a filename */ - - /* Build a pixbuf */ - GError * error = NULL; - GdkPixbuf * pixbuf = gdk_pixbuf_new_from_file(icon_filename, &error); - if (icon_info != NULL) { - gtk_icon_info_free(icon_info); - } - - if (pixbuf == NULL) { - g_warning("Unable to load icon from file '%s' because: %s", icon_filename, error == NULL ? "I don't know" : error->message); - g_clear_error (&error); - gtk_image_clear(image); + if (icon_filename == NULL && !G_IS_BYTES_ICON(icon_names)) { + /* show a broken image if we don't have a filename or image data */ + gtk_image_set_from_icon_name(image, "image-missing", GTK_ICON_SIZE_LARGE_TOOLBAR); return; } - /* Scale icon if all we get is something too big. */ - if (gdk_pixbuf_get_height(pixbuf) > icon_size) { - gfloat scale = (gfloat)icon_size / (gfloat)gdk_pixbuf_get_height(pixbuf); - gint width = round(gdk_pixbuf_get_width(pixbuf) * scale); - - GdkPixbuf * scaled = gdk_pixbuf_scale_simple(pixbuf, width, icon_size, GDK_INTERP_BILINEAR); - g_object_unref(G_OBJECT(pixbuf)); - pixbuf = scaled; - } + if (icon_info != NULL && !G_IS_BYTES_ICON(icon_names)) { + GdkPixbuf *pixbuf = gtk_icon_info_load_icon(icon_info, NULL); - /* Put the pixbuf on the image */ - gtk_image_set_from_pixbuf(image, pixbuf); - g_object_unref(G_OBJECT(pixbuf)); + if (gdk_pixbuf_get_height(pixbuf) < ICON_SIZE) { + gtk_image_set_from_file(image, icon_filename); + } else { + gtk_image_set_from_gicon(image, icon_names, GTK_ICON_SIZE_LARGE_TOOLBAR); + } + g_object_unref (pixbuf); + } else if (icon_filename != NULL) { + gtk_image_set_from_file(image, icon_filename); - return; + gint height; + gdk_pixbuf_get_file_info(icon_filename, NULL, &height); + + if (height > ICON_SIZE) { + gtk_image_set_pixel_size(image, ICON_SIZE); + } + } else if (G_IS_LOADABLE_ICON(icon_names)) { + /* Build a pixbuf if needed */ + GdkPixbuf * pixbuf = NULL; + GError * error = NULL; + GInputStream * stream = g_loadable_icon_load(G_LOADABLE_ICON(icon_names), ICON_SIZE, NULL, NULL, &error); + + if (stream != NULL) { + pixbuf = gdk_pixbuf_new_from_stream(stream, NULL, &error); + g_input_stream_close (stream, NULL, NULL); + g_object_unref (stream); + + if (pixbuf != NULL) { + /* Scale icon if all we get is something too big. */ + if (gdk_pixbuf_get_height(pixbuf) > ICON_SIZE) { + gfloat scale = (gfloat)ICON_SIZE / (gfloat)gdk_pixbuf_get_height(pixbuf); + gint width = round(gdk_pixbuf_get_width(pixbuf) * scale); + + GdkPixbuf * scaled = gdk_pixbuf_scale_simple(pixbuf, width, ICON_SIZE, GDK_INTERP_BILINEAR); + g_object_unref(G_OBJECT(pixbuf)); + pixbuf = scaled; + } + + /* Put the pixbuf on the image */ + gtk_image_set_from_pixbuf(image, pixbuf); + g_object_unref(G_OBJECT(pixbuf)); + } else { + g_warning ("Unable to load icon from data: %s", error->message); + g_error_free (error); + } + } else { + g_warning ("Unable to load icon from data: %s", error->message); + g_error_free (error); + } + } + + if (icon_info != NULL) { +#if GTK_CHECK_VERSION(3, 8, 0) + g_object_unref(icon_info); +#else + /* NOTE: Leaving this in for lower version as it seems + the object_unref() doesn't work on earlier versions. */ + gtk_icon_info_free (icon_info); +#endif + } } /* Handles the theme changed signal to refresh the icon to make @@ -132,7 +169,8 @@ indicator_image_helper (const gchar * na /* Build us an image */ GtkImage * image = GTK_IMAGE(gtk_image_new()); - indicator_image_helper_update(image, name); + if (name) + indicator_image_helper_update(image, name); return image; } @@ -144,17 +182,27 @@ indicator_image_helper_update (GtkImage g_return_if_fail(name != NULL); g_return_if_fail(name[0] != '\0'); g_return_if_fail(GTK_IS_IMAGE(image)); - gboolean seen_previously = FALSE; /* Build us a GIcon */ GIcon * icon_names = g_themed_icon_new_with_default_fallbacks(name); g_warn_if_fail(icon_names != NULL); g_return_if_fail(icon_names != NULL); + indicator_image_helper_update_from_gicon (image, icon_names); + + g_object_unref (icon_names); + return; +} + +void +indicator_image_helper_update_from_gicon (GtkImage *image, GIcon *icon) +{ + gboolean seen_previously = FALSE; + seen_previously = (g_object_get_data(G_OBJECT(image), INDICATOR_NAMES_DATA) != NULL); /* Attach our names to the image */ - g_object_set_data_full(G_OBJECT(image), INDICATOR_NAMES_DATA, icon_names, g_object_unref); + g_object_set_data_full(G_OBJECT(image), INDICATOR_NAMES_DATA, g_object_ref (icon), g_object_unref); /* Put the pixbuf in */ refresh_image(image);
  88. Download patch build-aux/ltmain.sh
  89. Download patch libindicator/indicator-ng.c
  90. Download patch helper/test-loader-build

    --- 0.5.0-4/helper/test-loader-build 1970-01-01 00:00:00.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/helper/test-loader-build 2018-03-21 17:39:42.000000000 +0000 @@ -0,0 +1,3 @@ +#!/bin/bash + +gcc `pkg-config --cflags --libs gtk+-2.0` -I../libindicator/ test-loader.c ../libindicator/indicator-image-helper.c -o test-loader
  91. Download patch debian/libindicator3-tools.install

    --- 0.5.0-4/debian/libindicator3-tools.install 2013-10-25 20:54:49.000000000 +0000 +++ 16.10.0+18.04.20180321.1-0ubuntu4/debian/libindicator3-tools.install 2019-09-03 20:38:01.000000000 +0000 @@ -1 +1,2 @@ -debian/tmp/gtk3/usr/lib/libindicator/indicator-loader3 /usr/lib/libindicator/ +usr/lib/*/indicator-loader3 +usr/share/libindicator/80indicator-debugging /usr/share/libindicator/
  1. libindicator