Commit 4fa37b58 authored by Gregory Leblanc's avatar Gregory Leblanc Committed by George Lebl

some build fixes

Thu Nov 15 23:25:41 2001  George Lebl <jirka@5z.com>

	* configure.in: some build fixes

	* **/*.c: remove RCSid's as they are un-fun for merging

	* Merge from gdm-2-2:

	Thu Nov 15 21:18:48 2001  George Lebl <jirka@5z.com>

	* daemon/gdm.[ch], daemon/slave.[ch], daemon/server.c, gui/gdmlogin.c:
	  clean up a bit of the constants mess (though it's still an utter
	  mess).  Implement a new SUP opcode so that the daemon knows
	  when the server was started so that it can start local servers
	  in order, so that things like complete machine lockups don't occur
	  (I got one just testing this).  Also add a 3 second 'padding'
	  between server starts to really be sure.

	* config/gdm.conf.in:  add some comments, mostly for distributions

	2001-11-06  Gregory Leblanc  <gleblanc@linuxweasel.com>

	* gdm.spec.in: more minor updates, just to piss George off.  :-)
	There's a ChangeLog in the file, if you care that much.
parent 38d40ad7
Thu Nov 15 23:25:41 2001 George Lebl <jirka@5z.com>
* configure.in: some build fixes
* **/*.c: remove RCSid's as they are un-fun for merging
* Merge from gdm-2-2:
Thu Nov 15 21:18:48 2001 George Lebl <jirka@5z.com>
* daemon/gdm.[ch], daemon/slave.[ch], daemon/server.c, gui/gdmlogin.c:
clean up a bit of the constants mess (though it's still an utter
mess). Implement a new SUP opcode so that the daemon knows
when the server was started so that it can start local servers
in order, so that things like complete machine lockups don't occur
(I got one just testing this). Also add a 3 second 'padding'
between server starts to really be sure.
* config/gdm.conf.in: add some comments, mostly for distributions
2001-11-06 Gregory Leblanc <gleblanc@linuxweasel.com>
* gdm.spec.in: more minor updates, just to piss George off. :-)
There's a ChangeLog in the file, if you care that much.
Mon Nov 05 21:28:43 2001 George Lebl <jirka@5z.com>
* configure.in, **/Makefile.am, daemon/*.[ch], utils/*.[ch],
......
[daemon]
AutomaticLoginEnable=false
AutomaticLogin=
# If you are having trouble with using a single server for a long time and
# want gdm to kill/restart the server, turn this on
AlwaysRestartServer=false
Configurator=@EXPANDED_GDMCONFIGDIR@/gdmconfig --disable-sound --disable-crash-dialog
GnomeDefaultSession=@EXPANDED_DATADIR@/gnome/default.session
......@@ -15,6 +17,8 @@ LogDir=@EXPANDED_AUTHDIR@
PidFile=/var/run/gdm.pid
PostSessionScriptDir=@EXPANDED_SYSCONFDIR@/gdm/PostSession/
PreSessionScriptDir=@EXPANDED_SYSCONFDIR@/gdm/PreSession/
# Distributions: If you have some script that runs an X server in say
# VGA mode, allowing a login, could you please send it to me?
FailsafeXServer=
XKeepsCrashing=@EXPANDED_SYSCONFDIR@/gdm/XKeepsCrashing
RebootCommand=/sbin/shutdown -r now
......@@ -34,7 +38,11 @@ FlexibleXServers=5
Xnest=/usr/bin/X11/Xnest -name Xnest
[security]
# If any distributions ship with this one off, they should be shot
# this is only local, so it's only for say kiosk use, when you
# want to minimize possibility of breakin
AllowRoot=true
# If you want to be paranoid, turn this one off
AllowRemoteRoot=true
AllowRemoteAutoLogin=false
RelaxPermissions=0
......@@ -43,6 +51,9 @@ UserMaxFile=65536
SessionMaxFile=524388
[xdmcp]
# Distributions: Ship with this off. It is never a safe thing to leave
# out on the net. Alternatively you can set up /etc/hosts.allow and
# /etc/hosts.deny to only allow say local access.
Enable=false
HonorIndirect=true
MaxPending=4
......@@ -52,6 +63,8 @@ MaxWait=15
MaxWaitIndirect=15
DisplaysPerHost=1
Port=177
# Willing script, none is shipped and by default we'll send
# hostname system id
Willing=@EXPANDED_SYSCONFDIR@/gdm/Xwilling
[gui]
......@@ -65,7 +78,8 @@ ConfigAvailable=true
Browser=false
DefaultFace=@EXPANDED_PIXMAPDIR@/nobody.png
DefaultLocale=en_US
Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm
# These are things excluded from the face browser, not from logging in
Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,rpm
Font=-*-helvetica-bold-r-normal-*-*-180-*-*-*-*-*-*,*
GlobalFaceDir=@EXPANDED_DATADIR@/faces/
Icon=@EXPANDED_PIXMAPDIR@/gdm.xpm
......@@ -106,13 +120,19 @@ Hosts=
Broadcast=true
[debug]
# This will enable debugging into the syslog, usually not neccessary
# and it creates a LOT of spew of random stuff to the syslog
Enable=false
[servers]
0=Standard
#1=Standard
#Note: If you want to make sure X runs on a specific virtual console on linux,
# you can use the following (for console 7):
# you can use the following (for console 7). However this can cause
# problems for some users. Be careful about this, getting this wrong
# can lead to an unusable console. Best solution is to make sure gdm
# starts as the last thing, and that will make it not neccessary to
# do hacks like this.
#0=Standard vt7
[server-Standard]
......
......@@ -4,7 +4,7 @@ dnl
dnl Due to the sed scripts being split on 90 line
dnl blocks, this macro needs to be right at the beggining.
dnl
AM_PROG_XML_I18N_TOOLS
AC_PROG_INTLTOOL
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(gdm,2.3.90.0)
......@@ -113,6 +113,10 @@ PKG_CHECK_MODULES(DAEMON, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GT
AC_SUBST(DAEMON_CFLAGS)
AC_SUBST(DAEMON_LIBS)
PKG_CHECK_MODULES(JUSTGTK, gtk+-2.0 >= $GTK_REQUIRED)
AC_SUBST(JUSTGTK_CFLAGS)
AC_SUBST(JUSTGTK_LIBS)
PKG_CHECK_MODULES(GUI, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GTK_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED libglade-2.0 >= $LIBGLADE_REQUIRED)
AC_SUBST(GUI_CFLAGS)
AC_SUBST(GUI_LIBS)
......@@ -295,7 +299,7 @@ if test x$with_xdmcp != xno ; then
AC_CHECK_LIB(Xdmcp, XdmcpFlush, [
AC_DEFINE(HAVE_LIBXDMCP)
XDMCP_LIBS="-lXdmcp"
XDMCP_SUPPORT=yes],, $GUI_LIBS)
XDMCP_SUPPORT=yes],,$JUSTGTK_LIBS)
])
if test x$with_xdmcp = xyes -a x$XDMCP_SUPPORT = x ; then
......@@ -324,7 +328,7 @@ if test x$with_xinerama != xno ; then
AC_CHECK_LIB(Xinerama, XineramaQueryScreens, [
AC_DEFINE(HAVE_LIBXINERAMA)
LIBS="$LIBS -lXinerama"
XINERAMA_SUPPORT=yes],, $GUI_LIBS)
XINERAMA_SUPPORT=yes],,$JUSTGTK_LIBS)
])
if test x$with_xinerama = xyes -a x$XINERAMA_SUPPORT = x ; then
......@@ -410,7 +414,6 @@ daemon/Makefile
gui/Makefile
utils/Makefile
pixmaps/Makefile
macros/Makefile
config/Makefile
docs/Makefile
docs/C/Makefile
......
......@@ -36,9 +36,6 @@
#include "filecheck.h"
#include "auth.h"
static const gchar RCSid[]="$Id$";
/* Local prototypes */
static void gdm_auth_purge (GdmDisplay *d, FILE *af);
......
......@@ -43,8 +43,6 @@
#include "choose.h"
#include "xdmcp.h"
static const gchar RCSid[]="$Id$";
static gint ipending = 0;
static GSList *indirect = NULL;
......
......@@ -36,8 +36,6 @@
#include "choose.h"
#include "gdm-net.h"
static const gchar RCSid[]="$Id$";
/* External vars */
extern gboolean GdmXdmcp;
extern gint sessions;
......@@ -194,7 +192,8 @@ gdm_display_manage (GdmDisplay *d)
gdm_server_stop (d);
/* we expect to return after the session finishes */
_exit (DISPLAY_REMANAGE);
} else if (d->type == TYPE_XDMCP && d->dispstat == XDMCP_MANAGED) {
} else if (d->type == TYPE_XDMCP &&
d->dispstat == XDMCP_MANAGED) {
gdm_slave_start (d);
gdm_server_stop (d);
/* we expect to return after the session finishes */
......@@ -220,7 +219,7 @@ gdm_display_manage (GdmDisplay *d)
}
if (SERVER_IS_LOCAL (d)) {
d->dispstat = DISPLAY_SUCCESS;
d->dispstat = DISPLAY_ALIVE;
}
/* reset sleep to 0 */
......
......@@ -24,8 +24,6 @@
#include "gdm.h"
#include "filecheck.h"
static const gchar RCSid[]="$Id$";
/**
* gdm_file_check:
* @caller: String to be prepended to syslog error messages.
......
......@@ -38,8 +38,6 @@
#include "misc.h"
#include "gdm-net.h"
static const gchar RCSid[]="$Id$";
/* Kind of a weird setup, new connections whack old connections */
#define MAX_CONNECTIONS 10
......
......@@ -51,12 +51,8 @@
#include "errorgui.h"
#include "gdm-net.h"
static const gchar RCSid[]="$Id$";
/* Local functions */
static void gdm_config_parse (void);
static void gdm_local_servers_start (GdmDisplay *d);
static void gdm_handle_message (GdmConnection *conn,
const char *msg,
gpointer data);
......@@ -175,6 +171,18 @@ display_exists (int num)
return FALSE;
}
static int
compare_displays (gconstpointer a, gconstpointer b)
{
const GdmDisplay *d1 = a;
const GdmDisplay *d2 = b;
if (d1->dispnum < d2->dispnum)
return -1;
else if (d1->dispnum > d2->dispnum)
return 1;
else
return 0;
}
/**
* gdm_config_parse:
......@@ -411,7 +419,9 @@ gdm_config_parse (void)
iter = gnome_config_iterator_next (iter, &k, &v);
continue;
}
displays = g_slist_append (displays, disp);
displays = g_slist_insert_sorted (displays,
disp,
compare_displays);
if (disp_num > high_display_num)
high_display_num = disp_num;
} else {
......@@ -452,7 +462,6 @@ gdm_config_parse (void)
}
}
/* Lookup user and groupid for the gdm user */
pwent = getpwnam (GdmUser);
......@@ -598,30 +607,39 @@ gdm_daemonify (void)
open("/dev/null", O_RDWR); /* open stderr - fd 2 */
}
/**
* gdm_local_servers_start:
* @d: Pointer to a GdmDisplay struct
*
* Start all local (i.e. non-XDMCP) X servers
*/
static void
gdm_local_servers_start (GdmDisplay *d)
gdm_start_first_unborn_local (int delay)
{
if (d && d->type == TYPE_LOCAL) {
gdm_debug ("gdm_local_servers_start: Starting %s", d->name);
GSList *li;
/* only the first local display has timed login going on */
if (gdm_first_login)
d->timed_login_ok = TRUE;
for (li = displays; li != NULL; li = li->next) {
GdmDisplay *d = li->data;
if ( ! gdm_display_manage (d)) {
gdm_display_unmanage (d);
/* only the first local display gets autologged in */
gdm_first_login = FALSE;
if (d != NULL &&
d->type == TYPE_LOCAL &&
d->dispstat == DISPLAY_UNBORN) {
gdm_debug ("gdm_start_first_unborn_local: "
"Starting %s", d->name);
/* well sleep at least 'delay' seconds
* before starting */
d->sleep_before_run = delay;
/* only the first local display has
* timed login going on */
if (gdm_first_login)
d->timed_login_ok = TRUE;
if ( ! gdm_display_manage (d)) {
gdm_display_unmanage (d);
/* only the first local display gets
* autologged in */
gdm_first_login = FALSE;
} else {
break;
}
}
}
}
}
static void
......@@ -827,7 +845,7 @@ gdm_cleanup_children (void)
status = WEXITSTATUS (exitstatus);
crashed = FALSE;
} else {
status = DISPLAY_SUCCESS;
status = EXIT_SUCCESS;
crashed = TRUE;
}
......@@ -937,6 +955,9 @@ gdm_cleanup_children (void)
gdm_safe_restart ();
gdm_display_unmanage (d);
/* If there are some pending locals, start them now */
gdm_start_first_unborn_local (3 /* delay */);
break;
case DISPLAY_REBOOT: /* Reboot machine */
......@@ -1005,6 +1026,10 @@ gdm_cleanup_children (void)
/* an original way to deal with these things:
* "Screw you guys, I'm going home!" */
gdm_display_unmanage (d);
/* If there are some pending locals,
* start them now */
gdm_start_first_unborn_local (3 /* delay */);
break;
}
gdm_debug ("gdm_child_action: Trying again");
......@@ -1035,8 +1060,12 @@ gdm_cleanup_children (void)
/* This is a local server so we start a new slave */
if (d->type == TYPE_LOCAL) {
if ( ! gdm_display_manage (d))
if ( ! gdm_display_manage (d)) {
gdm_display_unmanage (d);
/* If there are some pending locals,
* start them now */
gdm_start_first_unborn_local (3 /* delay */);
}
/* Remote displays will send a request to be managed */
} else /* TYPE_XDMCP, TYPE_FLEXI, TYPE_FLEXI_XNEST */ {
gdm_display_unmanage (d);
......@@ -1332,7 +1361,7 @@ main (int argc, char *argv[])
create_connections ();
/* Start local X servers */
g_slist_foreach (displays, (GFunc) gdm_local_servers_start, NULL);
gdm_start_first_unborn_local (0 /* delay */);
/* Accept remote connections */
if (GdmXdmcp) {
......@@ -1759,6 +1788,8 @@ gdm_handle_message (GdmConnection *conn, const char *msg, gpointer data)
} else if (strcmp (msg, GDM_SOP_SOFT_RESTART) == 0) {
gdm_restart_mode = TRUE;
gdm_safe_restart ();
} else if (strcmp (msg, GDM_SOP_START_NEXT_LOCAL) == 0) {
gdm_start_first_unborn_local (3 /* delay */);
}
}
......
......@@ -41,10 +41,9 @@
#define SERVER_IS_FLEXI(d) (d->type == TYPE_FLEXI || \
d->type == TYPE_FLEXI_XNEST)
#define SERVER_SUCCESS 0 /* X server default */
#define SERVER_FAILURE 1 /* X server default */
/* These are the servstat values, also used as server
* process exit codes */
#define SERVER_TIMEOUT 2 /* Server didn't start */
#define SERVER_NOTFOUND 127 /* X server default */
#define SERVER_DEAD 250 /* Server stopped */
#define SERVER_STARTED 251 /* Server started but not ready for connections yet */
#define SERVER_RUNNING 252 /* Server running and ready for connections */
......@@ -53,7 +52,7 @@
/* DO NOTE USE 1, that's used as error if x connection fails usually */
/* Note that there is no reasons why these were a power of two, and note
* that they have to fit in 256 */
#define DISPLAY_SUCCESS 0 /* All systems are go */
/* These are the exit codes */
#define DISPLAY_REMANAGE 2 /* Restart display */
#define DISPLAY_ABORT 4 /* Houston, we have a problem */
#define DISPLAY_REBOOT 8 /* Rebewt */
......@@ -61,14 +60,16 @@
#define DISPLAY_SUSPEND 17 /* Suspend */
#define DISPLAY_CHOSEN 20 /* successful chooser session,
restart display */
#define DISPLAY_DEAD 32 /* Display not configured/started yet */
#define DISPLAY_XFAILED 64 /* X failed */
#define DISPLAY_RESTARTGDM 128 /* Restart GDM */
#define XDMCP_DEAD 0
#define XDMCP_PENDING 1
#define XDMCP_MANAGED 2
enum {
DISPLAY_UNBORN /* Not yet started */,
DISPLAY_ALIVE /* Yay! we're alive (non-xdmcp) */,
XDMCP_PENDING /* Pending XDMCP display */,
XDMCP_MANAGED /* Managed XDMCP display */,
DISPLAY_DEAD /* Left for dead */
};
/* Opcodes for the highly sophisticated protocol used for
* daemon<->greeter communications */
......@@ -413,6 +414,7 @@ void gdm_quit (void);
/* 5 = Xnest can't connect */
#define GDM_SOP_FLEXI_OK "FLEXI_OK" /* <slave pid> */
#define GDM_SOP_SOFT_RESTART "SOFT_RESTART" /* no arguments */
#define GDM_SOP_START_NEXT_LOCAL "START_NEXT_LOCAL" /* no arguments */
#define GDM_SUP_SOCKET "/tmp/.gdm_socket"
......
......@@ -36,9 +36,6 @@
#include "gdm.h"
#include "misc.h"
static const gchar RCSid[]="$Id$";
/* Configuration option variables */
extern gchar *GdmPidFile;
extern gboolean GdmDebug;
......
......@@ -45,8 +45,6 @@
#include "auth.h"
#include "slave.h"
static const gchar RCSid[]="$Id$";
#define SERVER_WAIT_ALARM 10
......@@ -913,7 +911,7 @@ gdm_server_alloc (gint id, const gchar *command)
d->userauth = NULL;
d->command = g_strdup (command);
d->cookie = NULL;
d->dispstat = DISPLAY_DEAD;
d->dispstat = DISPLAY_UNBORN;
d->greetpid = 0;
d->name = g_strdup_printf (":%d", id);
d->hostname = g_strdup (hostname);
......
......@@ -59,9 +59,6 @@
#include "choose.h"
#include "errorgui.h"
static const gchar RCSid[]="$Id$";
/* Some per slave globals */
static GdmDisplay *d;
static gchar *login = NULL;
......@@ -419,6 +416,10 @@ gdm_slave_run (GdmDisplay *display)
}
}
if (SERVER_IS_LOCAL (d)) {
gdm_slave_send (GDM_SOP_START_NEXT_LOCAL, FALSE);
}
/* something may have gone wrong, try xfailed, if local (non-flexi),
* the toplevel loop of death will handle us */
if (d->dsp == NULL) {
......@@ -1253,30 +1254,27 @@ gdm_slave_greeter (void)
}
void
gdm_slave_send_num (const char *opcode, long num)
gdm_slave_send (const char *str, gboolean wait_for_usr2)
{
char *msg;
int fd;
char *fifopath;
gdm_debug ("Sending %s == %ld for slave %ld",
opcode,
(long)num,
(long)getpid ());
gdm_debug ("Sending %s", str);
gdm_got_usr2 = FALSE;
if (wait_for_usr2)
gdm_got_usr2 = FALSE;
fifopath = g_strconcat (GdmServAuthDir, "/.gdmfifo", NULL);
fd = open (fifopath, O_WRONLY);
/* eek */
if (fd < 0) {
gdm_error (_("%s: Can't open fifo!"), "gdm_send_num");
gdm_error (_("%s: Can't open fifo!"), "gdm_slave_send");
return;
}
msg = g_strdup_printf ("\n%s %ld %ld\n", opcode,
(long)getpid (), (long)num);
msg = g_strdup_printf ("\n%s\n", str);
write (fd, msg, strlen (msg));
......@@ -1284,16 +1282,34 @@ gdm_slave_send_num (const char *opcode, long num)
close (fd);
if ( ! gdm_got_usr2)
if (wait_for_usr2 &&
! gdm_got_usr2)
sleep (10);
}
void
gdm_slave_send_num (const char *opcode, long num)
{
char *msg;
gdm_debug ("Sending %s == %ld for slave %ld",
opcode,
(long)num,
(long)getpid ());
msg = g_strdup_printf ("%s %ld %ld", opcode,
(long)getpid (), (long)num);
gdm_slave_send (msg, TRUE);
g_free (msg);
}
void
gdm_slave_send_string (const char *opcode, const char *str)
{
char *msg;
int fd;
char *fifopath;
/* Evil!, all this for debugging? */
if (GdmDebug) {
......@@ -1308,28 +1324,12 @@ gdm_slave_send_string (const char *opcode, const char *str)
(long)getpid ());
}
gdm_got_usr2 = FALSE;
fifopath = g_strconcat (GdmServAuthDir, "/.gdmfifo", NULL);
fd = open (fifopath, O_WRONLY);
/* eek */
if (fd < 0) {
gdm_error (_("%s: Can't open fifo!"), "gdm_slave_send_string");
return;
}
msg = g_strdup_printf ("\n%s %ld %s\n", opcode,
msg = g_strdup_printf ("%s %ld %s", opcode,
(long)getpid (), ve_sure_string (str));
write (fd, msg, strlen (msg));
gdm_slave_send (msg, TRUE);
g_free (msg);
close (fd);
if ( ! gdm_got_usr2)
sleep (10);
}
static void
......@@ -2485,13 +2485,22 @@ gdm_slave_child_handler (int sig)
gdm_server_stop (d);
gdm_verify_cleanup (d);
if (WIFEXITED (status)) {
/* The greeter is only allowed to pass back these
* exit codes, else we'll just remanage */
if (WIFEXITED (status) &&
(WEXITSTATUS (status) == DISPLAY_ABORT ||
WEXITSTATUS (status) == DISPLAY_REBOOT ||
WEXITSTATUS (status) == DISPLAY_HALT ||
WEXITSTATUS (status) == DISPLAY_SUSPEND ||
WEXITSTATUS (status) == DISPLAY_RESTARTGDM)) {
_exit (WEXITSTATUS (status));
} else {
_exit (DISPLAY_REMANAGE);
}
} else if (pid != 0 && pid == d->sesspid) {
d->sesspid = 0;
} else if (pid != 0 && pid == d->chooserpid) {
d->chooserpid = 0;
} else if (pid != 0 && pid == d->servpid) {
d->servstat = SERVER_DEAD;
d->servpid = 0;
......
......@@ -29,6 +29,7 @@ char *gdm_slave_greeter_ctl (char cmd, const char *str);
gboolean gdm_slave_greeter_check_interruption (const char *msg);
gboolean gdm_slave_should_complain (void);
void gdm_slave_send (const char *str, gboolean wait_for_usr2);
void gdm_slave_send_num (const char *opcode, long num);
void gdm_slave_send_string (const char *opcode, const char *str);
......
......@@ -32,9 +32,6 @@
#include "slave.h"
#include "verify.h"
static const gchar RCSid[]="$Id$";
/* Configuration option variables */
extern gboolean GdmAllowRoot;
extern gboolean GdmAllowRemoteRoot;
......
......@@ -32,9 +32,6 @@
#include "verify.h"
#include "errorgui.h"
static const gchar RCSid[]="$Id$";
/* Configuration option variables */
extern gboolean GdmAllowRoot;
extern gboolean GdmAllowRemoteRoot;
......
......@@ -33,9 +33,6 @@
#include "slave.h"
#include "verify.h"
static const gchar RCSid[]="$Id$";
/* Configuration option variables */
extern gboolean GdmAllowRoot;
extern gboolean GdmAllowRemoteRoot;
......
......@@ -96,7 +96,6 @@
#include "choose.h"
#include "xdmcp.h"
static const gchar RCSid[]="$Id$";
gint pending = 0;
#ifdef HAVE_LIBXDMCP
......
%define ver @VERSION@
%define rel 1
%define localstatedir /var/lib
%define sysconfdir /etc
Summary: The GNOME Display Manager.
Name: gdm
Version: %ver
Release: %rel
Copyright: LGPL/GPL
Group: User Interface/X
Source: ftp://ftp.5z.com/pub/unix/gdm-%{version}.tar.gz
BuildRoot: %{_tmppath}/gdm-%{version}-root
Prereq: /usr/sbin/useradd
Requires: pam >= 0.68
Requires: gnome-libs >= 1.0.17
Epoch: 1
Summary: The GNOME Display Manager.
Name: gdm
Version: @VERSION@
Release: 1
Epoch: 1
License: LGPL/GPL
Group: User Interface/X
Source: ftp://ftp.5z.com/pub/unix/gdm-%{version}.tar.gz
BuildRoot: %{_tmppath}/gdm-%{version}-root
Prereq: /usr/sbin/useradd
Requires: pam >= 0.68
Requires: gnome-libs >= 1.0.17
BuildRequires: usermode, libglade-devel
BuildRequires: gnome-libs-devel >= 1.0.17
BuildRequires: gdk-pixbuf-devel >= 0.7.0
%description
Gdm (the GNOME Display Manager) is a highly configurable
......@@ -99,7 +100,7 @@ fi
# ignore error in the above
exit 0
%files
%files -f %name.lang
%defattr(-, root, root)
%doc AUTHORS COPYING ChangeLog NEWS README
......@@ -113,7 +114,6 @@ exit 0
%{_datadir}/gnome/apps/*/*
%{_datadir}/gnome/help/*
%{_datadir}/omf/gdm
%{_datadir}/locale/*/*/*
# %config %{sysconfdir}/security/console.apps/gdmconfig
# %config %{sysconfdir}/X11/gdm/gnomerc
# %config %{sysconfdir}/X11/gdm/gdm.conf
......@@ -134,6 +134,11 @@ exit 0
%changelog
* Tue Nov 6 2001 Gregory Leblanc <gleblanc@linuxweasel.com>
- removed some unnecessary %defines
- fixed find_lang stuff
- added some BuildRequires lines
* Sun Jul 01 2001 George Lebl <jirka@5z.com>
- Fixed file listing
......
......@@ -52,8 +52,6 @@
#include "misc.h"
#include "gdmwm.h"
static const gchar RCSid[]="$Id$";
/* set the DOING_GDM_DEVELOPMENT env variable if you want to
* search for the glade file in the current dir and not the system
* install dir, better then something you have to change
......
......@@ -51,8 +51,6 @@
* within the protocol */
static gboolean DOING_GDM_DEVELOPMENT = FALSE;
static const gchar RCSid[]="$Id$";
/* Some strings that are in other files that we may want to
* translate. This is not actually used anywhere, it's just
* to have gettext know about these strings. */
......@@ -277,7 +275,7 @@ static void
gdm_login_done (int sig)
{
kill_thingies ();
_exit (DISPLAY_SUCCESS);
_exit (EXIT_SUCCESS);
}
static void
......@@ -2211,7 +2209,7 @@ gdm_login_ctrl_handler (GIOChannel *source, GIOCondition cond, gint fd)
g_print ("%c\n", STX);
/* screw gtk_main_quit, we want to make sure we definately die */
_exit (DISPLAY_SUCCESS);
_exit (EXIT_SUCCESS);
break;
case GDM_GNOMESESS:
......
......@@ -33,8 +33,6 @@
#include "gdmwm.h"
#include "gdm.h"
static const gchar RCSid[]="$Id$";
typedef struct _GdmWindow GdmWindow;
struct _GdmWindow {
int x, y;
......
......@@ -23,8 +23,6 @@