OBS User unknown 2008-02-08 17:31:56 +00:00 committed by Git OBS Bridge
parent 707a768520
commit 5442b9852f
6 changed files with 43 additions and 280 deletions

View File

@ -1,163 +0,0 @@
--- gnome-session-2.15.91/gnome-session/Makefile.am
+++ gnome-session-2.15.91/gnome-session/Makefile.am
@@ -7,6 +7,7 @@
$(STANDARD_PROPERTIES_CFLAGS) \
$(WARN_CFLAGS) \
$(DISABLE_DEPRECATED_CFLAGS) \
+ -I/opt/novell/CASA/include \
-DGNOMELOCALEDIR=\""$(prefix)/${DATADIRNAME}/locale\"" \
-DGCONF_SANITY_CHECK=\""$(GCONF_SANITY_CHECK)"\" \
-DGNOME_KEYRING_DAEMON=\""$(GNOME_KEYRING_DAEMON)"\" \
--- gnome-session-2.15.91/gnome-session/main.c
+++ gnome-session-2.15.91/gnome-session/main.c
@@ -30,6 +30,10 @@
#include <netdb.h>
#include <time.h>
+/* added for CASA -- start */
+#include <dlfcn.h>
+/* added for CASA -- end */
+
#include <gconf/gconf-client.h>
#include <libgnome/libgnome.h>
@@ -37,6 +41,9 @@
#include <libgnomeui/gnome-window-icon.h>
+#include <gnome-keyring.h>
+#include <micasa_mgmd.h>
+
#include "manager.h"
#include "ice.h"
#include "save.h"
@@ -50,6 +57,19 @@
#include "gsm-at-startup.h"
#include "gsm-remote-desktop.h"
+
+/* added for CASA -- start */
+SSCS_TYPEDEF_LIBCALL(int, CASA_GetCredential_T)
+ (
+ uint32_t ssFlags,
+ SSCS_SECRET_ID_T * appSecretID,
+ SSCS_SECRET_ID_T * sharedSecretID,
+ uint32_t * credentialType,
+ void * credential,
+ SSCS_EXT_T * ext
+ );
+/* added for CASA -- end */
+
/* Flag indicating autosave - user won't be prompted on logout to
* save the session */
gboolean autosave = FALSE;
@@ -78,6 +98,8 @@
gchar *session_name = NULL;
+gchar *default_keyring = NULL;
+
static const GOptionEntry options[] = {
{"choose-session", '\0', 0, G_OPTION_ARG_STRING, &session_name, N_("Specify a session name to load"), N_("NAME")},
{"failsafe", '\0', 0, G_OPTION_ARG_NONE, &failsafe, N_("Only read saved sessions from the default.session file"), NULL},
@@ -321,6 +343,63 @@
return (tm->tm_year >= 105); /* We start on Jan 1 2006 */
}
+/* modified for CASA -- start */
+static gchar *
+get_casa_password (gboolean try_gnome_keyring)
+{
+ int rcode = 0;
+ int32_t credtype = SSCS_CRED_TYPE_BASIC_F;
+
+ void *casaIDK = NULL;
+
+ CASA_GetCredential_T p_miCASAGetCredential = NULL;
+
+
+ SSCS_BASIC_CREDENTIAL credential = { 0 };
+ SSCS_SECRET_ID_T appSecretId = { 0 };
+ SSCS_SECRET_ID_T sharedSecretId = { 0 };
+ SSCS_EXT_T ext = {0};
+
+ g_strlcpy (appSecretId.id, "Gnome_Keyring_Default", sizeof (appSecretId.id));
+ appSecretId.len = strlen (appSecretId.id) + 1;
+
+ g_strlcpy (sharedSecretId.id, "Desktop", sizeof (sharedSecretId.id));
+ sharedSecretId.len = strlen (sharedSecretId.id) + 1;
+
+ credential.unFlags = USERNAME_TYPE_CN_F;
+
+ if((casaIDK = dlopen("libmicasa.so.1", RTLD_LAZY)))
+ {
+ p_miCASAGetCredential = (CASA_GetCredential_T)dlsym(casaIDK, "miCASAGetCredential");
+ rcode = p_miCASAGetCredential (0,
+ try_gnome_keyring ? &appSecretId : NULL,
+ &sharedSecretId,
+ &credtype,
+ &credential,
+ NULL);
+
+ dlclose(casaIDK);
+ if (rcode == NSSCS_SUCCESS) {
+ gchar *password = g_strdup (credential.password);
+
+ memset (credential.password, 0, strlen (credential.password));
+ return password;
+ }
+ }
+
+ return NULL;
+}
+/* modified for CASA -- end */
+
+
+static void
+create_default_keyring (const gchar *password)
+{
+ gnome_keyring_create_sync ("default", password);
+ gnome_keyring_set_default_keyring_sync ("default");
+ default_keyring = g_strdup ("default");
+}
+
int
main (int argc, char *argv[])
{
@@ -492,6 +571,36 @@
gsm_remote_desktop_start ();
+ password = get_casa_password (TRUE);
+
+ if (password) {
+ GnomeKeyringResult result;
+
+ result = gnome_keyring_get_default_keyring_sync (&default_keyring);
+
+ if (result != GNOME_KEYRING_RESULT_OK || !default_keyring || !strlen (default_keyring))
+ create_default_keyring (password);
+
+ result = gnome_keyring_unlock_sync (default_keyring, password);
+
+ if (result == GNOME_KEYRING_RESULT_NO_SUCH_KEYRING) {
+ create_default_keyring (password);
+ gnome_keyring_unlock_sync (default_keyring, password);
+ }
+
+ if (result != GNOME_KEYRING_RESULT_OK) {
+ password = get_casa_password (FALSE);
+ if (password) {
+ gnome_keyring_unlock_sync (default_keyring, password);
+ }
+ }
+
+ if (password) {
+ memset (password, 0, strlen (password));
+ g_free (password);
+ }
+ }
+
if (splashing)
splash_start ();

View File

@ -1,25 +0,0 @@
Index: gnome-session/logout.c
===================================================================
--- gnome-session/logout.c.orig
+++ gnome-session/logout.c
@@ -28,6 +28,9 @@
#include <gtk/gtkinvisible.h>
#include <gdk/gdkx.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+
#include <gconf/gconf-client.h>
#include <libgnomeui/gnome-help.h>
@@ -168,6 +171,10 @@ fadeout_screen (GdkScreen *screen,
int attr_mask;
GdkGCValues values;
FadeoutData *fadeout;
+ GdkAtom property = gdk_atom_intern ("_NET_WM_STATE_DISPLAY_MODAL", FALSE);
+
+ if (gdk_x11_screen_supports_net_wm_hint (screen, property))
+ return;
fadeout = g_new (FadeoutData, 1);

View File

@ -1,14 +0,0 @@
diff -upr gnome-session-2.12.0-orig/gnome-session/save.c gnome-session-2.12.0/gnome-session/save.c
--- gnome-session-2.12.0-orig/gnome-session/save.c 2006-06-12 16:15:02.000000000 +0200
+++ gnome-session-2.12.0/gnome-session/save.c 2006-06-12 16:16:04.000000000 +0200
@@ -657,6 +657,10 @@ read_session (const char *name)
if (list) {
char *path;
+ path = g_build_filename (g_get_user_config_dir (), "autostart", NULL);
+ g_mkdir_with_parents (path, S_IRWXU);
+ g_free (path);
+
/* migrate to newly desktop-based autostart system */
while (list) {
SmProp *prop;

View File

@ -1,37 +0,0 @@
--- gnome-session-2.11.90/gnome-session/manager.c
+++ gnome-session-2.11.90/gnome-session/manager.c
@@ -1381,8 +1381,10 @@
if (pending_list)
runlevel = client->priority;
}
- if (pending_list)
+ if (pending_list) {
+ splash_hide();
goto out;
+ }
}
save_state = MANAGER_IDLE;
save_state_changed ();
--- gnome-session-2.11.90/gnome-session/splash-widget.c
+++ gnome-session-2.11.90/gnome-session/splash-widget.c
@@ -604,3 +604,11 @@
}
}
+void
+splash_hide (void)
+{
+ if (global_splash) {
+ gtk_widget_hide (GTK_WIDGET (global_splash));
+ }
+}
+
--- gnome-session-2.11.90/gnome-session/splash-widget.h
+++ gnome-session-2.11.90/gnome-session/splash-widget.h
@@ -79,5 +79,6 @@
void splash_start (void);
void splash_update (const gchar *text);
void splash_stop (void);
+void splash_hide (void);
#endif /* SPLASH_WIDGET_H */

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Wed Feb 6 19:15:57 CET 2008 - jpr@suse.de
- Remove gnome-session-2.12-0-unlock-keyring.patch, gnome-keyring-pam
covers this and doesn't require CASA
- Remove gnome-session-migrate-session-manual.patch it was obsoleted
by the fix for bgo334066
- Remove gnome-session-2.12.0-xgl-display-modal-2.patch, upstream
handles compositing managers now (not quite as pretty, but
sufficient)
- Remove gnome-session-splash-screen.diff its obsoleted by bgo116814
(originally bnc5780)
- Remove handling of SUSE Linux 10.0 in the spec, its EOL
-------------------------------------------------------------------
Thu Jan 31 01:08:00 CET 2008 - maw@suse.de

View File

@ -11,66 +11,49 @@
# norootforbuild
Name: gnome-session
BuildRequires: CASA-devel control-center2-devel fdupes gnome-common gnome-desktop-devel gnome-keyring gnome-patch-translation gnome-settings-daemon-devel hicolor-icon-theme intltool libglade2-devel libnotify-devel perl-XML-Parser tcpd-devel update-desktop-files
# for xrdb resp. rsh checks:
BuildRequires: control-center2-devel fdupes gnome-common gnome-desktop-devel gnome-keyring-devel gnome-patch-translation gnome-settings-daemon-devel hicolor-icon-theme intltool libglade2-devel libnotify-devel perl-XML-Parser tcpd-devel update-desktop-files
License: GPL v2 or later; LGPL v2.1 or later
Group: System/GUI/GNOME
Version: 2.21.90
Release: 1
Release: 6
Summary: Session Tools for the GNOME 2.x Desktop
Source: %{name}-%{version}.tar.bz2
Source1: gnome
Source2: gnome.desktop
#PATCH-FIX-UPSTREAM gnome-session-suspend.patch bnc73000 rodrigo@novell.com
Patch0: gnome-session-suspend.patch
#PATCH-FIX-SUSE gnome-session-DESKTOP_LAUNCH.patch -- What was the original motivation for this?
Patch1: gnome-session-DESKTOP_LAUNCH.patch
Patch2: gnome-session-splash-screen.diff
#PATCH-FIX-UPSTREAM gnome-session-remove-dns-warning.patch federico@novell.com -- Apparently a patch from Meeks, needs review
Patch3: gnome-session-remove-dns-warning.patch
# FIXME: this patch needs to be reviewed. The following hunk no longer applies. Is it still
# necessary?
#
# *************** display_gui (void)
# *** 525,531 ****
# if (iris_effect_enabled)
# {
# hide_fadeout_windows ();
# - XUngrabServer (GDK_DISPLAY ());
#
# gdk_pointer_ungrab (GDK_CURRENT_TIME);
# gdk_keyboard_ungrab (GDK_CURRENT_TIME);
# --- 532,538 ----
# if (iris_effect_enabled)
# {
# hide_fadeout_windows ();
# + /* XUngrabServer (GDK_DISPLAY ()); */
#
# gdk_pointer_ungrab (GDK_CURRENT_TIME);
# gdk_keyboard_ungrab (GDK_CURRENT_TIME);
# ###
Patch4: gnome-session-2.12.0-xgl-display-modal-2.patch
#PATCH-FIX-UPSTREAM gnome-session-2.12.0-su-session-management.patch hpj@novell.com
Patch5: gnome-session-2.12.0-su-session-management.patch
Patch6: gnome-session-2.12.0-unlock-keyring.patch
#PATCH-FIX-UPSTREAM gnome-session-2.19.92-kdm-support.patch hpj@novell.com
Patch7: gnome-session-2.19.92-kdm-support.patch
#PATCH-FEATURE-UPSTREAM gnome-session-motd.patch bgo159604 rodrigo@novell.com -- Needs to get upstream or be dropped
Patch8: gnome-session-motd.patch
#PATCH-FIX-SUSE gnome-session-dist-splash.patch jpr@novell.com -- Point at distro specific splash screen
Patch9: gnome-session-dist-splash.patch
#PATCH-FIX-SUSE gnome-session-compiz.patch bnc170839 maw@novell.com
Patch10: gnome-session-compiz.patch
Patch11: gnome-session-migrate-session-manual.patch
#PATCH-FIX-SUSE gnome-session-wm-switch.patch bnc180506 danw@novell.com
Patch12: gnome-session-wm-switch.patch
#PATCH-FIX-SUSE gnome-session-no-devel-fatals.patch jpr@novell.com -- Prevents badly breaking factory for people
Patch13: gnome-session-no-devel-fatals.patch
#PATCH-FEATURE-SUSE gnome-session-tile-ui.patch cgaisford@novell.com -- Feature from SLED 10 SP1
Patch14: gnome-session-tile-ui.patch
#PATCH-FIX-UPSTREAM gnome-session-2.20.0-safe-a11y-startup.patch bnc302316 bgo469958 cgaisford@novell.com -- hpj@novell.com modified this for bnc332498
Patch15: gnome-session-2.20.0-safe-a11y-startup.patch
#PATCH-FIX-UPSTREAM gnome-session-sound.patch bnc294396 bgo466458 cgaisford@novell.com -- there is a newer version upstream from mandriva
Patch16: gnome-session-sound.patch
#PATCH-FIX-SUSE gnome-session-sound.patch bnc294396 bgo466458 cgaisford@novell.com -- there is a newer version upstream from mandriva
Patch17: gnome-session-gcc4.3-fixes.patch
Url: http://www.gnome.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
AutoReqProv: on
%if %suse_version > 1000
Recommends: control-center2
%else
Requires: control-center2
%endif
Obsoletes: gnome-core
Requires: hicolor-icon-theme
Requires: %{name}-lang = %{version}
Suggests: rsh
%gconf_schemas_prereq
@ -93,24 +76,18 @@ Authors:
gnome-patch-translation-prepare
%patch0
%patch1 -p1
%patch2 -p1
%patch3
%patch4
%patch5 -p1
#%patch6 -p1
%if %suse_version > 1000
%patch7
%patch8
%patch9 -p0
%patch10
%patch11 -p1
%patch12
%patch13
%patch14 -p1
%patch15 -p1
%patch16
%patch17 -p1
%endif
gnome-patch-translation-update
%build
@ -120,10 +97,10 @@ export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure\
--with-rsh-command=/usr/bin/rsh \
--with-at-spi-registryd-directory=%{_prefix}/lib/at-spi
make %{?jobs:-j%jobs}
%__make %{?jobs:-j%jobs}
%install
make install DESTDIR=$RPM_BUILD_ROOT
%makeinstall
#
# install startup script and xsession file
install -d -m755 $RPM_BUILD_ROOT%{_bindir}
@ -162,6 +139,17 @@ rm -rf $RPM_BUILD_ROOT
%files lang -f %{name}-2.0.lang
%changelog
* Wed Feb 06 2008 jpr@suse.de
- Remove gnome-session-2.12-0-unlock-keyring.patch, gnome-keyring-pam
covers this and doesn't require CASA
- Remove gnome-session-migrate-session-manual.patch it was obsoleted
by the fix for bgo334066
- Remove gnome-session-2.12.0-xgl-display-modal-2.patch, upstream
handles compositing managers now (not quite as pretty, but
sufficient)
- Remove gnome-session-splash-screen.diff its obsoleted by bgo116814
(originally bnc5780)
- Remove handling of SUSE Linux 10.0 in the spec, its EOL
* Thu Jan 31 2008 maw@suse.de
- Update to version 2.21.90:
+ Set orientation with randr too (Luca Cavalli)