[gnome-base/gnome-control-center] import to fix crash, bug 4003

Reported in Gentoo bug 458668, Gentoo "make kerberos optional"
patch has a bug. This ebuild doesn't apply it then - Sabayon
compiles with USE=kerberos anyway.
This commit is contained in:
Sławomir Nizio
2013-02-22 10:47:08 +01:00
parent a1b707431e
commit ac7fedfdfa
6 changed files with 493 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
DIST gnome-control-center-3.6.3.tar.xz 4877812 SHA256 2ae23972bc64f62b4facd12dd5adce212bda02491eb6e56bbf195332157d21fb SHA512 77cd68349dc7f58714fbd121a34ec73a5c3e67c7a42a08c20a8dfdcfc9cefdec47af0f09130b7e3f0407cb7a786234b2619fdb76462c3bdb2bbc548294bfd444 WHIRLPOOL bf4ba1b6c9cb17f6b5f22003ee89af051ad152dd5671ffe01ba5cc0339d51659a8af7c629755726d305caf75c1fe4629b268fc269862751bc24317d323395697
@@ -0,0 +1,116 @@
Use Gentoo-appropriate absolute paths
Original author: Alexandre Rostovtsev <tetromino@gentoo.org>
---
--- a/panels/common/Makefile.am
+++ b/panels/common/Makefile.am
@@ -9,7 +9,7 @@
$(LIBLANGUAGE_CFLAGS) \
-DDATADIR=\""$(datadir)"\" \
-DUIDIR=\""$(pkgdatadir)/ui"\" \
- -DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \
+ -DLIBLOCALEDIR=\""$(libdir)/locale"\" \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-DUM_PIXMAP_DIR=\""$(pkgdatadir)/pixmaps"\"
--- a/panels/datetime/Makefile.am
+++ b/panels/datetime/Makefile.am
@@ -72,6 +72,7 @@
-DGNOMELOCALEDIR="\"$(datadir)/locale\"" \
-DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \
-DDATADIR="\"$(uidir)\"" \
+ -DREALDATADIR="\"$(datadir)\"" \
$(NULL)
noinst_PROGRAMS = test-timezone-gfx test-endianess test-timezone
--- a/panels/datetime/test-endianess.c
+++ b/panels/datetime/test-endianess.c
@@ -38,11 +38,11 @@
return 0;
}
- dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL);
+ dir = g_dir_open (REALDATADIR "/i18n/locales/", 0, NULL);
if (dir == NULL) {
/* Try with /usr/share/locale/
* https://bugzilla.gnome.org/show_bug.cgi?id=646780 */
- dir = g_dir_open ("/usr/share/locale/", 0, NULL);
+ dir = g_dir_open (REALDATADIR "/locale/", 0, NULL);
if (dir == NULL) {
return 1;
}
--- a/panels/datetime/test-timezone.c
+++ b/panels/datetime/test-timezone.c
@@ -1,7 +1,7 @@
#include <gtk/gtk.h>
#include "cc-timezone-map.h"
-#define TZ_DIR "/usr/share/zoneinfo/"
+#define TZ_DIR REALDATADIR "/zoneinfo/"
static GList *
get_timezone_list (GList *tzs,
--- a/panels/datetime/tz.h
+++ b/panels/datetime/tz.h
@@ -29,9 +29,9 @@
#include <glib.h>
#ifndef __sun
-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
+# define TZ_DATA_FILE REALDATADIR "/zoneinfo/zone.tab"
#else
-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
+# define TZ_DATA_FILE REALDATADIR "/lib/zoneinfo/tab/zone_sun.tab"
#endif
typedef struct _TzDB TzDB;
--- a/panels/printers/Makefile.am
+++ b/panels/printers/Makefile.am
@@ -12,6 +12,9 @@
-DGNOMELOCALEDIR="\"$(datadir)/locale\"" \
-DGNOMECC_DATA_DIR="\"$(pkgdatadir)\"" \
-DDATADIR="\"$(uidir)\"" \
+ -DREALDATADIR="\"$(datadir)\"" \
+ -DPREFIX="\"$(prefix)\"" \
+ -DLIBEXECDIR="\"$(libexecdir)\"" \
$(NULL)
ccpanelsdir = $(PANELS_DIR)
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -2199,8 +2199,8 @@
if (printer_name)
{
- const gchar *const dirs[] = { "/usr/share/cups",
- "/usr/local/share/cups",
+ const gchar *const dirs[] = { REALDATADIR "/cups",
+ PREFIX "/local/share/cups",
NULL };
const gchar *testprint[] = { "%s/data/testprint",
"%s/data/testprint.ps",
--- a/panels/printers/pp-host.c
+++ b/panels/printers/pp-host.c
@@ -251,7 +251,7 @@
data->devices->devices = NULL;
argv = g_new0 (gchar *, 3);
- argv[0] = g_strdup ("/usr/lib/cups/backend/snmp");
+ argv[0] = g_strdup (LIBEXECDIR "/cups/backend/snmp");
argv[1] = g_strdup (priv->hostname);
/* Use SNMP to get printer's informations */
--- a/panels/user-accounts/Makefile.am
+++ b/panels/user-accounts/Makefile.am
@@ -10,7 +10,7 @@
AM_CPPFLAGS = \
-DDATADIR=\""$(datadir)"\" \
-DUIDIR=\""$(pkgdatadir)/ui/user-accounts"\" \
- -DLIBLOCALEDIR=\""$(prefix)/lib/locale"\" \
+ -DLIBLOCALEDIR=\""$(libdir)/locale"\" \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-DUM_PIXMAP_DIR=\""$(pkgdatadir)/pixmaps"\" \
-I$(srcdir)/../common/ \
--
1.7.8.6
@@ -0,0 +1,183 @@
Make wacom, colord, goa optional
Original author: Alexandre Rostovtsev <tetromino@gentoo.org>
--- configure.ac
+++ configure.ac
@@ -137,10 +137,48 @@
PKG_CHECK_MODULES(MOUSE_PANEL, $COMMON_MODULES xi >= 1.2
gnome-settings-daemon >= $GSD_REQUIRED_VERSION x11)
PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON_MODULES)
-PKG_CHECK_MODULES(ONLINE_ACCOUNTS_PANEL, $COMMON_MODULES goa-1.0 goa-backend-1.0 >= $GOA_REQUIRED_VERSION)
+
+build_online_accounts=false
+AC_ARG_ENABLE(goa,
+ AC_HELP_STRING([--disable-goa],
+ [disable online accounts management panel]),
+ [case "${enableval}" in
+ yes) WANT_ONLINE_ACCOUNTS=yes ;;
+ no) WANT_ONLINE_ACCOUNTS=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-goa) ;;
+ esac],
+ [WANT_ONLINE_ACCOUNTS=yes]) dnl Default value
+
+if test x$WANT_ONLINE_ACCOUNTS = xyes; then
+ PKG_CHECK_MODULES(ONLINE_ACCOUNTS_PANEL, $COMMON_MODULES goa-1.0 goa-backend-1.0 >= $GOA_REQUIRED_VERSION)
+ build_online_accounts=true
+fi
+AM_CONDITIONAL(BUILD_ONLINE_ACCOUNTS, test "x$build_online_accounts" = "xtrue")
+AC_SUBST(ONLINE_ACCOUNTS_PANEL_CFLAGS)
+AC_SUBST(ONLINE_ACCOUNTS_PANEL_LIBS)
+
PKG_CHECK_MODULES(POWER_PANEL, $COMMON_MODULES upower-glib >= 0.9.1
gnome-settings-daemon >= $GSD_REQUIRED_VERSION)
-PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES colord >= 0.1.8)
+
+build_color=false
+AC_ARG_ENABLE(color,
+ AC_HELP_STRING([--disable-color],
+ [disable color management panel]),
+ [case "${enableval}" in
+ yes) WANT_COLOR=yes ;;
+ no) WANT_COLOR=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-color) ;;
+ esac],
+ [WANT_COLOR=yes]) dnl Default value
+
+if test x$WANT_COLOR = xyes; then
+ PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES colord >= 0.1.8)
+ build_color=true
+fi
+AM_CONDITIONAL(BUILD_COLOR, test "x$build_color" = "xtrue")
+AC_SUBST(COLOR_PANEL_CFLAGS)
+AC_SUBST(COLOR_PANEL_LIBS)
+
PKG_CHECK_MODULES(PRINTERS_PANEL, $COMMON_MODULES
polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION)
PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES
@@ -174,10 +212,24 @@
fi
AM_CONDITIONAL(BUILD_NETWORK, [test x$have_networkmanager = xyes])
-# Check for gnome-bluetooth
-PKG_CHECK_MODULES(BLUETOOTH, $COMMON_MODULES gnome-bluetooth-1.0 >= 3.5.5,
- [have_bluetooth=yes], have_bluetooth=no)
-AM_CONDITIONAL(BUILD_BLUETOOTH, [test x$have_bluetooth = xyes])
+have_bluetooth=false
+AC_ARG_ENABLE(bluetooth,
+ AC_HELP_STRING([--disable-bluetooth],
+ [disable bluetooth management panel]),
+ [case "${enableval}" in
+ yes) WANT_BLUETOOTH=yes ;;
+ no) WANT_BLUETOOTH=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-bluetooth) ;;
+ esac],
+ [WANT_BLUETOOTH=yes]) dnl Default value
+
+if test x$WANT_BLUETOOTH = xyes; then
+ # Check for gnome-bluetooth
+ PKG_CHECK_MODULES(BLUETOOTH, $COMMON_MODULES gnome-bluetooth-1.0 >= 3.5.5)
+ have_bluetooth=true
+fi
+
+AM_CONDITIONAL(BUILD_BLUETOOTH, [test x$have_bluetooth = xtrue])
# Check for CUPS 1.4 or newer
AC_ARG_ENABLE([cups],
@@ -237,11 +289,23 @@
if test "$host_cpu" = s390 -o "$host_cpu" = s390x; then
have_wacom=no
else
- PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES
- gnome-settings-daemon >= $GSD_REQUIRED_VERSION
- xi >= 1.2 x11 libwacom >= $LIBWACOM_REQUIRED_VERSION
- gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION)
- have_wacom=yes
+ AC_ARG_ENABLE(wacom,
+ AC_HELP_STRING([--disable-wacom],
+ [disable wacom management panel]),
+ [case "${enableval}" in
+ yes) WANT_WACOM=yes ;;
+ no) WANT_WACOM=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-wacom) ;;
+ esac],
+ [WANT_WACOM=yes]) dnl Default value
+
+ if test x$WANT_WACOM = xyes; then
+ PKG_CHECK_MODULES(WACOM_PANEL, $COMMON_MODULES
+ gnome-settings-daemon >= $GSD_REQUIRED_VERSION
+ xi >= 1.2 x11 libwacom >= $LIBWACOM_REQUIRED_VERSION
+ gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION)
+ have_wacom=yes
+ fi
fi
;;
*)
@@ -509,6 +573,11 @@
else
AC_MSG_NOTICE([ Bluetooth panel disabled])
fi
+if test "x$build_color" = "xtrue"; then
+ AC_MSG_NOTICE([** colord (Color panel)])
+else
+ AC_MSG_NOTICE([ Color panel disabled])
+fi
if test "x$enable_cups" = "xyes"; then
AC_MSG_NOTICE([** CUPS (Printers panel)])
else
@@ -519,6 +588,11 @@
else
AC_MSG_NOTICE([ Users panel webcam support disabled])
fi
+if test "x$build_online_accounts" = "xtrue"; then
+ AC_MSG_NOTICE([** gnome-online-accounts (Online Accounts panel)])
+else
+ AC_MSG_NOTICE([ Online Accounts panel disabled])
+fi
if test "x$with_libsocialweb" = "xyes"; then
AC_MSG_NOTICE([** libsocialweb (Background panel Flickr support)])
else
@@ -529,6 +603,11 @@
else
AC_MSG_NOTICE([ Using ConsoleKit for session tracking])
fi
+if test "x$build_wacom" = "xtrue"; then
+ AC_MSG_NOTICE([** libwacom (Wacom Graphics Tablet panel)])
+else
+ AC_MSG_NOTICE([ Wacom Graphics Tablet panel disabled])
+fi
if test "x$have_wacom" = "xyes"; then
AC_MSG_NOTICE([** wacom (Wacom tablet panel)])
else
--- panels/Makefile.am
+++ panels/Makefile.am
@@ -3,10 +3,8 @@
background \
screen \
power \
- color \
display \
mouse \
- online-accounts \
region \
info \
sound \
@@ -15,6 +13,10 @@
user-accounts \
datetime
+if BUILD_COLOR
+SUBDIRS += color
+endif
+
if BUILD_WACOM
SUBDIRS += wacom
endif
@@ -31,4 +33,8 @@
SUBDIRS += bluetooth
endif
+if BUILD_ONLINE_ACCOUNTS
+SUBDIRS += online-accounts
+endif
+
-include $(top_srcdir)/git.mk
@@ -0,0 +1,29 @@
From 10a0c18b8e3058144586880019b68ab4ea40ce78 Mon Sep 17 00:00:00 2001
From: David Henningsson <david.henningsson@canonical.com>
Date: Fri, 7 Dec 2012 16:22:09 +0530
Subject: [PATCH] sound: Fix port handling for the unknown availability case
The current code assumes that port availability transitions will be
between YES and NO, and doesn't account for the fact that it may also be
UNKNOWN. This causes spurious entries if the port availability
transitions between YES and UNKNOWN.
---
panels/sound/gvc-mixer-control.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/panels/sound/gvc-mixer-control.c b/panels/sound/gvc-mixer-control.c
index 34ddc0c..2f6cf34 100644
--- a/panels/sound/gvc-mixer-control.c
+++ b/panels/sound/gvc-mixer-control.c
@@ -2138,7 +2138,7 @@ update_card (GvcMixerControl *control,
else {
for (i = 0; i < info->n_ports; i++) {
if (g_strcmp0 (card_port->port, info->ports[i]->name) == 0) {
- if (card_port->available != info->ports[i]->available) {
+ if ((card_port->available == PA_PORT_AVAILABLE_NO) != (info->ports[i]->available == PA_PORT_AVAILABLE_NO)) {
card_port->available = info->ports[i]->available;
g_debug ("sync port availability on card %i, card port name '%s', new available value %i",
gvc_mixer_card_get_index (card),
--
1.8.0
@@ -0,0 +1,149 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-control-center/gnome-control-center-3.6.3-r1.ebuild,v 1.8 2013/02/02 22:33:47 ago Exp $
EAPI="5"
GCONF_DEBUG="yes"
GNOME2_LA_PUNT="yes" # gmodule is used, which uses dlopen
inherit autotools eutils gnome2
DESCRIPTION="GNOME Desktop Configuration Tool"
HOMEPAGE="http://www.gnome.org/"
LICENSE="GPL-2+"
SLOT="2"
IUSE="+bluetooth +colord +cups +gnome-online-accounts +i18n input_devices_wacom kerberos +networkmanager +socialweb systemd v4l"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
# XXX: NetworkManager-0.9 support is automagic, make hard-dep once it's released
#
# gnome-session-2.91.6-r1 is needed so that 10-user-dirs-update is run at login
# g-s-d[policykit] needed for bug #403527
COMMON_DEPEND="
>=dev-libs/glib-2.31:2
>=x11-libs/gdk-pixbuf-2.23.0:2
>=x11-libs/gtk+-3.5.13:3
>=gnome-base/gsettings-desktop-schemas-3.5.91
>=gnome-base/gnome-desktop-3.5.91:3=
>=gnome-base/gnome-settings-daemon-3.6[colord?,policykit]
>=gnome-base/libgnomekbd-2.91.91
app-text/iso-codes
dev-libs/libpwquality
dev-libs/libxml2:2
gnome-base/gnome-menus:3
gnome-base/libgtop:2
media-libs/fontconfig
>=media-libs/libcanberra-0.13[gtk3]
>=media-sound/pulseaudio-2[glib]
>=sys-auth/polkit-0.97
>=sys-power/upower-0.9.1
>=x11-libs/libnotify-0.7.3
x11-apps/xmodmap
x11-libs/libX11
x11-libs/libXxf86misc
>=x11-libs/libXi-1.2
bluetooth? ( >=net-wireless/gnome-bluetooth-3.5.5:= )
colord? ( >=x11-misc/colord-0.1.8 )
cups? ( >=net-print/cups-1.4[dbus] )
gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.5.90 )
i18n? ( >=app-i18n/ibus-1.4.99 )
input_devices_wacom? (
>=dev-libs/libwacom-0.6
>=x11-libs/libXi-1.2 )
kerberos? ( virtual/krb5 )
networkmanager? (
>=gnome-extra/nm-applet-0.9.1.90
>=net-misc/networkmanager-0.8.997 )
socialweb? ( net-libs/libsocialweb )
systemd? ( >=sys-apps/systemd-31 )
v4l? (
media-libs/gstreamer:1.0
media-libs/clutter-gtk:1.0
>=media-video/cheese-3.5.91 )
"
# <gnome-color-manager-3.1.2 has file collisions with g-c-c-3.1.x
RDEPEND="${COMMON_DEPEND}
gnome-base/gnome-settings-daemon[input_devices_wacom?]
sys-apps/accountsservice
x11-themes/gnome-icon-theme-symbolic
colord? ( >=gnome-extra/gnome-color-manager-3 )
cups? (
>=app-admin/system-config-printer-gnome-1.3.5
net-print/cups-pk-helper )
!systemd? (
app-admin/openrc-settingsd
sys-auth/consolekit )
!<gnome-base/gdm-2.91.94
!<gnome-extra/gnome-color-manager-3.1.2
!gnome-extra/gnome-media[pulseaudio]
!<gnome-extra/gnome-media-2.32.0-r300
!<net-wireless/gnome-bluetooth-3.3.2
"
# PDEPEND to avoid circular dependency
PDEPEND=">=gnome-base/gnome-session-2.91.6-r1"
DEPEND="${COMMON_DEPEND}
x11-proto/xproto
x11-proto/xf86miscproto
x11-proto/kbproto
dev-libs/libxml2:2
dev-libs/libxslt
>=dev-util/intltool-0.40.1
>=sys-devel/gettext-0.17
virtual/pkgconfig
cups? ( sys-apps/sed )
gnome-base/gnome-common
"
# Needed for autoreconf
# gnome-base/gnome-common
src_prepare() {
# Make some panels optional; requires eautoreconf
epatch "${FILESDIR}/${PN}-3.5.91-optional-bt-colord-goa-wacom.patch"
# https://bugzilla.gnome.org/show_bug.cgi?id=686840
# CORRECTION -> http://bugs.sabayon.org/show_bug.cgi?id=4003
# epatch "${FILESDIR}/${PN}-3.5.91-optional-kerberos.patch"
# Fix some absolute paths to be appropriate for Gentoo
epatch "${FILESDIR}/${PN}-3.5.91-gentoo-paths.patch"
# Needed for g-c-c 3.6.3 and PulseAudio >2.1. Remove in 3.6.4.
epatch "${FILESDIR}/${P}-pulseaudio-3-fix.patch"
eautoreconf
gnome2_src_prepare
# panels/datetime/Makefile.am gets touched as a result of something in our
# src_prepare(). We need to touch timedated{c,h} to prevent them from being
# regenerated (bug #415901)
[[ -f panels/datetime/timedated.h ]] && touch panels/datetime/timedated.h
[[ -f panels/datetime/timedated.c ]] && touch panels/datetime/timedated.c
}
src_configure() {
G2CONF="${G2CONF}
--disable-update-mimedb
--disable-static
--enable-documentation
$(use_enable bluetooth)
$(use_enable colord color)
$(use_enable cups)
$(use_enable gnome-online-accounts goa)
$(use_enable i18n ibus)
$(use_enable input_devices_wacom wacom)
$(use_with socialweb libsocialweb)
$(use_enable systemd)
$(use_with v4l cheese)"
# XXX: $(use_with kerberos) # for 3.7.x
if ! use kerberos; then
G2CONF+=" KRB5_CONFIG=$(type -P true)"
fi
DOCS="AUTHORS ChangeLog NEWS README TODO"
gnome2_src_configure
}
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>gnome</herd>
<use>
<flag name="colord">Support color management using
<pkg>x11-misc/colord</pkg></flag>
<flag name="gnome-online-accounts">Enable configuration panel for
<pkg>net-libs/gnome-online-accounts</pkg> accounts</flag>
<flag name="i18n">Enable support for enhanced input methods through
<pkg>app-i18n/ibus</pkg></flag>
<flag name="socialweb">Add support for desktop background images from
Flickr using <pkg>net-libs/libsocialweb</pkg></flag>
</use>
</pkgmetadata>