This commit is contained in:
parent
707a768520
commit
5442b9852f
@ -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 ();
|
||||
|
@ -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);
|
||||
|
@ -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;
|
@ -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 */
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user