Index: kde-2.1/kdebase-2.1/acinclude.m4
diff -c kde-2.1/kdebase-2.1/acinclude.m4:1.1.1.1 kde-2.1/kdebase-2.1/acinclude.m4:1.2
*** kde-2.1/kdebase-2.1/acinclude.m4:1.1.1.1	Tue Feb 27 10:52:16 2001
--- kde-2.1/kdebase-2.1/acinclude.m4	Thu Mar  1 07:10:19 2001
***************
*** 2732,2738 ****
      if test "$XPM_LDFLAGS" = ""; then
         XPMLIB='-lXpm $(LIB_X11)'
      else
!        XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
      fi
      if test "$XPM_INCLUDE" = ""; then
         XPMINC=""
--- 2732,2738 ----
      if test "$XPM_LDFLAGS" = ""; then
         XPMLIB='-lXpm $(LIB_X11)'
      else
!        XPMLIB="$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
      fi
      if test "$XPM_INCLUDE" = ""; then
         XPMINC=""
Index: kde-2.1/kdebase-2.1/aclocal.m4
diff -c kde-2.1/kdebase-2.1/aclocal.m4:1.1.1.1 kde-2.1/kdebase-2.1/aclocal.m4:1.2
*** kde-2.1/kdebase-2.1/aclocal.m4:1.1.1.1	Tue Feb 27 10:52:16 2001
--- kde-2.1/kdebase-2.1/aclocal.m4	Thu Mar  1 07:10:19 2001
***************
*** 2743,2749 ****
      if test "$XPM_LDFLAGS" = ""; then
         XPMLIB='-lXpm $(LIB_X11)'
      else
!        XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
      fi
      if test "$XPM_INCLUDE" = ""; then
         XPMINC=""
--- 2743,2749 ----
      if test "$XPM_LDFLAGS" = ""; then
         XPMLIB='-lXpm $(LIB_X11)'
      else
!        XPMLIB="$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
      fi
      if test "$XPM_INCLUDE" = ""; then
         XPMINC=""
Index: kde-2.1/kdebase-2.1/configure
diff -c kde-2.1/kdebase-2.1/configure:1.1.1.1 kde-2.1/kdebase-2.1/configure:1.2
*** kde-2.1/kdebase-2.1/configure:1.1.1.1	Tue Feb 27 10:52:16 2001
--- kde-2.1/kdebase-2.1/configure	Thu Mar  1 07:10:20 2001
***************
*** 11312,11318 ****
      if test "$XPM_LDFLAGS" = ""; then
         XPMLIB='-lXpm $(LIB_X11)'
      else
!        XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
      fi
      if test "$XPM_INCLUDE" = ""; then
         XPMINC=""
--- 11312,11318 ----
      if test "$XPM_LDFLAGS" = ""; then
         XPMLIB='-lXpm $(LIB_X11)'
      else
!        XPMLIB="$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
      fi
      if test "$XPM_INCLUDE" = ""; then
         XPMINC=""
Index: kde-2.1/kdebase-2.1/admin/acinclude.m4.in
diff -c kde-2.1/kdebase-2.1/admin/acinclude.m4.in:1.1.1.1 kde-2.1/kdebase-2.1/admin/acinclude.m4.in:1.2
*** kde-2.1/kdebase-2.1/admin/acinclude.m4.in:1.1.1.1	Tue Feb 27 10:54:04 2001
--- kde-2.1/kdebase-2.1/admin/acinclude.m4.in	Thu Mar  1 07:10:20 2001
***************
*** 2732,2738 ****
      if test "$XPM_LDFLAGS" = ""; then
         XPMLIB='-lXpm $(LIB_X11)'
      else
!        XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
      fi
      if test "$XPM_INCLUDE" = ""; then
         XPMINC=""
--- 2732,2738 ----
      if test "$XPM_LDFLAGS" = ""; then
         XPMLIB='-lXpm $(LIB_X11)'
      else
!        XPMLIB="$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
      fi
      if test "$XPM_INCLUDE" = ""; then
         XPMINC=""
Index: kde-2.1/kdebase-2.1/admin/ltmain.sh
diff -c kde-2.1/kdebase-2.1/admin/ltmain.sh:1.1.1.1 kde-2.1/kdebase-2.1/admin/ltmain.sh:1.2
*** kde-2.1/kdebase-2.1/admin/ltmain.sh:1.1.1.1	Tue Feb 27 10:54:04 2001
--- kde-2.1/kdebase-2.1/admin/ltmain.sh	Thu Mar  1 07:10:21 2001
***************
*** 2868,2873 ****
--- 2868,2875 ----
  	     test -n "$hardcode_libdirs"; then
  	    libdir="$hardcode_libdirs"
  	    eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+ 	  else
+ 	    dep_rpath="${wl}-bnolibpath"
  	  fi
  	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
  	    # We should set the runpath_var.
***************
*** 3274,3279 ****
--- 3276,3283 ----
  	 test -n "$hardcode_libdirs"; then
  	libdir="$hardcode_libdirs"
  	eval rpath=\" $hardcode_libdir_flag_spec\"
+       else
+         dep_rpath=" ${wl}-bnolibpath"
        fi
        compile_rpath="$rpath"
  
***************
*** 3310,3315 ****
--- 3314,3321 ----
  	 test -n "$hardcode_libdirs"; then
  	libdir="$hardcode_libdirs"
  	eval rpath=\" $hardcode_libdir_flag_spec\"
+       else
+         dep_rpath=" ${wl}-bnolibpath"
        fi
        finalize_rpath="$rpath"
  
***************
*** 3502,3508 ****
        # AIX runtime linking requires linking programs with -Wl,-brtl and libs with -Wl,-G
        case "$host" in
          *-*-aix4*) compile_command="$compile_command $wl-brtl"
!                    finalize_command="$finalize_command $wl-brtl" ;;
        esac
  
        if test $need_relink = no || test "$build_libtool_libs" != yes; then
--- 3508,3516 ----
        # AIX runtime linking requires linking programs with -Wl,-brtl and libs with -Wl,-G
        case "$host" in
          *-*-aix4*) compile_command="$compile_command $wl-brtl"
!                    compile_command=`$echo "X$compile_command" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"`
!                    finalize_command="$finalize_command $wl-brtl"
!                    finalize_command=`$echo "X$finalize_command" | $Xsed -e "s/\$CC/\$CC $wl-bnolibpath/1"` ;;
        esac
  
        if test $need_relink = no || test "$build_libtool_libs" != yes; then
***************
*** 4393,4402 ****
  	      esac
  	    fi
  	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
! 	    if test -n "$libdir" && test ! -f "$libfile"; then
! 	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
! 	      finalize=no
! 	    fi
  	  done
  
  	  relink_command=
--- 4401,4418 ----
  	      esac
  	    fi
  	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
!             # Make sure we look in the destination dir as well as the final dir
!             if test -z "$DESTDIR"; then
! 	      if test -n "$libdir" && test ! -f "$libfile"; then
! 		$echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
! 		finalize=no
! 	      fi
!             else
!               if test -n "$libdir" && test ! -f "$libfile" && test -n "$DESTDIR/$libdir" && test ! -f "$DESTDIR/$libfile"; then
!                 $echo "$modename: warning: \`$lib' has not been installed in \`$libdir' or \`\$DESTDIR/$libdir'" 1>&2
!                 finalize=no
!               fi
!             fi
  	  done
  
  	  relink_command=
***************
*** 4421,4426 ****
--- 4437,4444 ----
  	      outputname="$tmpdir/$file"
  	      # Replace the output file specification.
  	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+               # Make sure we look in the destination dir as well as the final dir
+               test -z "$DESTDIR" || relink_command=`$echo "X$relink_command" | $Xsed -e 's%-L'"$libdir"'%-L'"$libdir"' -L'"$DESTDIR/$libdir"'%g'`
  
  	      $show "$relink_command"
  	      if $run eval "$relink_command"; then :
Index: kde-2.1/kdebase-2.1/kcontrol/background/Makefile.am
diff -c kde-2.1/kdebase-2.1/kcontrol/background/Makefile.am:1.1.1.1 kde-2.1/kdebase-2.1/kcontrol/background/Makefile.am:1.2
*** kde-2.1/kdebase-2.1/kcontrol/background/Makefile.am:1.1.1.1	Tue Feb 27 10:52:37 2001
--- kde-2.1/kdebase-2.1/kcontrol/background/Makefile.am	Thu Mar  1 07:10:21 2001
***************
*** 7,13 ****
  kde_module_LTLIBRARIES = libkcm_background.la
  
  libkcm_background_la_SOURCES = backgnd.cpp bgdialogs.cpp kimagefilepreview.cpp
! libkcm_background_la_LDFLAGS = -module -avoid-version $(all_libraries) -no-undefined
  libkcm_background_la_LIBADD = $(LIB_KFILE) libbgnd.la
  
  METASOURCES = AUTO
--- 7,13 ----
  kde_module_LTLIBRARIES = libkcm_background.la
  
  libkcm_background_la_SOURCES = backgnd.cpp bgdialogs.cpp kimagefilepreview.cpp
! libkcm_background_la_LDFLAGS = $(KDE_RPATH) -module -avoid-version $(all_libraries) -no-undefined
  libkcm_background_la_LIBADD = $(LIB_KFILE) libbgnd.la
  
  METASOURCES = AUTO
Index: kde-2.1/kdebase-2.1/kcontrol/kdm/Makefile.am
diff -c kde-2.1/kdebase-2.1/kcontrol/kdm/Makefile.am:1.1.1.1 kde-2.1/kdebase-2.1/kcontrol/kdm/Makefile.am:1.2
*** kde-2.1/kdebase-2.1/kcontrol/kdm/Makefile.am:1.1.1.1	Tue Feb 27 10:52:43 2001
--- kde-2.1/kdebase-2.1/kcontrol/kdm/Makefile.am	Thu Mar  1 07:10:21 2001
***************
*** 6,12 ****
  	kdropsite.cpp backgnd.cpp kdm-users.cpp kdm-conv.cpp \
  	klangcombo.cpp main.cpp bgdialogs.cpp
  
! libkcm_kdm_la_LDFLAGS  = $(all_libraries) -module -avoid-version -no-undefined
  libkcm_kdm_la_LIBADD = -lkdeui -lkio -lkfile $(top_builddir)/kcontrol/background/libbgnd.la
  
  INCLUDES= $(all_includes) -I$(top_srcdir)/kcontrol/background -I$(top_srcdir)/kdesktop
--- 6,12 ----
  	kdropsite.cpp backgnd.cpp kdm-users.cpp kdm-conv.cpp \
  	klangcombo.cpp main.cpp bgdialogs.cpp
  
! libkcm_kdm_la_LDFLAGS  = $(KDE_RPATH) $(all_libraries) -module -avoid-version -no-undefined
  libkcm_kdm_la_LIBADD = -lkdeui -lkio -lkfile $(top_builddir)/kcontrol/background/libbgnd.la
  
  INCLUDES= $(all_includes) -I$(top_srcdir)/kcontrol/background -I$(top_srcdir)/kdesktop
Index: kde-2.1/kdebase-2.1/kdesktop/Makefile.am
diff -c kde-2.1/kdebase-2.1/kdesktop/Makefile.am:1.1.1.1 kde-2.1/kdebase-2.1/kdesktop/Makefile.am:1.2
*** kde-2.1/kdebase-2.1/kdesktop/Makefile.am:1.1.1.1	Tue Feb 27 10:52:57 2001
--- kde-2.1/kdebase-2.1/kdesktop/Makefile.am	Thu Mar  1 07:10:21 2001
***************
*** 1,7 ****
  ## Makefile.am of kdebase/kdesktop
  
  INCLUDES = -I$(top_srcdir)/kcontrol/background -I$(top_srcdir)/libkonq $(all_includes)
! kdesktop_la_LDFLAGS  = $(all_libraries) -lkdesu -module -avoid-version
  kdesktop_la_LIBADD   = $(top_builddir)/libkonq/libkonq.la $(top_builddir)/kcontrol/background/libbgnd.la 
  kdesktop_LDFLAGS  = $(KDE_RPATH) $(all_libraries)
  kdesktop_LDADD    = kdesktop.la
--- 1,7 ----
  ## Makefile.am of kdebase/kdesktop
  
  INCLUDES = -I$(top_srcdir)/kcontrol/background -I$(top_srcdir)/libkonq $(all_includes)
! kdesktop_la_LDFLAGS  = $(KDE_RPATH) $(all_libraries) -lkdesu -module -avoid-version
  kdesktop_la_LIBADD   = $(top_builddir)/libkonq/libkonq.la $(top_builddir)/kcontrol/background/libbgnd.la 
  kdesktop_LDFLAGS  = $(KDE_RPATH) $(all_libraries)
  kdesktop_LDADD    = kdesktop.la
Index: kde-2.1/kdebase-2.1/kdesktop/desktop.cc
diff -c kde-2.1/kdebase-2.1/kdesktop/desktop.cc:1.1.1.1 kde-2.1/kdebase-2.1/kdesktop/desktop.cc:1.2
*** kde-2.1/kdebase-2.1/kdesktop/desktop.cc:1.1.1.1	Tue Feb 27 10:52:57 2001
--- kde-2.1/kdebase-2.1/kdesktop/desktop.cc	Thu Mar  1 07:10:21 2001
***************
*** 17,22 ****
--- 17,25 ----
     Boston, MA 02111-1307, USA.
  */
  
+ #if defined(_AIX) && defined(STAT)
+ #  undef STAT
+ #endif
  
  #include <assert.h>
  #include <string.h>
Index: kde-2.1/kdebase-2.1/kdm/dm.h
diff -c kde-2.1/kdebase-2.1/kdm/dm.h:1.1.1.1 kde-2.1/kdebase-2.1/kdm/dm.h:1.2
*** kde-2.1/kdebase-2.1/kdm/dm.h:1.1.1.1	Tue Feb 27 10:53:00 2001
--- kde-2.1/kdebase-2.1/kdm/dm.h	Thu Mar  1 07:10:22 2001
***************
*** 464,469 ****
--- 464,472 ----
  extern pam_handle_t **thepamh(void);
  #endif
  extern char **defaultEnv (void);
+ #ifdef AIXV3
+ extern char **defaultUserEnv (char *user);
+ #endif
  extern char **systemEnv (struct display *d, char *user, char *home);
  extern int PingServer(struct display *d, Display *alternateDpy);
  extern int source (char **environ, char *file);
Index: kde-2.1/kdebase-2.1/kdm/greet.h
diff -c kde-2.1/kdebase-2.1/kdm/greet.h:1.1.1.1 kde-2.1/kdebase-2.1/kdm/greet.h:1.2
*** kde-2.1/kdebase-2.1/kdm/greet.h:1.1.1.1	Tue Feb 27 10:53:00 2001
--- kde-2.1/kdebase-2.1/kdm/greet.h	Thu Mar  1 07:10:22 2001
***************
*** 77,82 ****
--- 77,85 ----
      void (*_DeleteXloginResources)(struct display *d, Display *dpy);
      int (*_source)(char **environ, char *file);
      char **(*_defaultEnv)(void);
+ #ifdef AIXV3
+     char **(*_defaultUserEnv)(char *user);
+ #endif
      char **(*_setEnv)(char **e, char *name, char *value);
      char **(*_putEnv)(const char *string, char **env);
      char **(*_parseArgs)(char **argv, char *string);
***************
*** 178,183 ****
--- 181,189 ----
  extern	void    (*__xdm_DeleteXloginResources)(struct display *d, Display *dpy);
  extern	int     (*__xdm_source)(char **environ, char *file);
  extern	char    **(*__xdm_defaultEnv)(void);
+ #ifdef AIXV3
+ extern	char    **(*__xdm_defaultUserEnv)(char *);
+ #endif
  extern	char    **(*__xdm_setEnv)(char **e, char *name, char *value);
  extern	char    **(*__xdm_putEnv)(const char *string, char **env);
  extern	char    **(*__xdm_parseArgs)(char **argv, char *string);
***************
*** 218,223 ****
--- 224,232 ----
  #define	DeleteXloginResources	(*__xdm_DeleteXloginResources)
  #define	source		(*__xdm_source)
  #define	defaultEnv	(*__xdm_defaultEnv)
+ #ifdef AIXV3
+ #define	defaultUserEnv	(*__xdm_defaultUserEnv)
+ #endif
  #define	setEnv		(*__xdm_setEnv)
  #define putEnv		(*__xdm_putEnv)
  #define	parseArgs	(*__xdm_parseArgs)
Index: kde-2.1/kdebase-2.1/kdm/greetest.c
diff -c kde-2.1/kdebase-2.1/kdm/greetest.c:1.1.1.1 kde-2.1/kdebase-2.1/kdm/greetest.c:1.2
*** kde-2.1/kdebase-2.1/kdm/greetest.c:1.1.1.1	Tue Feb 27 10:53:00 2001
--- kde-2.1/kdebase-2.1/kdm/greetest.c	Thu Mar  1 07:10:22 2001
***************
*** 127,132 ****
--- 127,135 ----
  void    DeleteXloginResources(struct display *d, Display *dpy) {}
  int     source(char **environ, char *file) {return 0;}
  char    **defaultEnv(void) {return 0;}
+ #ifdef AIXV3
+ char    **defaultUserEnv(char *user) {return 0;}
+ #endif
  char    **setEnv(char **e, char *name, char *value) {return 0;}
  char    **putEnv(const char *string, char **env) {return 0;}
  char    **parseArgs(char **argv, char *string) {return 0;}
***************
*** 161,166 ****
--- 164,172 ----
  	DeleteXloginResources,
  	source,
  	defaultEnv,
+ #ifdef AIXV3
+ 	defaultUserEnv,
+ #endif
  	setEnv,
  	putEnv,
  	parseArgs,
Index: kde-2.1/kdebase-2.1/kdm/session.c
diff -c kde-2.1/kdebase-2.1/kdm/session.c:1.1.1.1 kde-2.1/kdebase-2.1/kdm/session.c:1.2
*** kde-2.1/kdebase-2.1/kdm/session.c:1.1.1.1	Tue Feb 27 10:53:00 2001
--- kde-2.1/kdebase-2.1/kdm/session.c	Thu Mar  1 07:10:22 2001
***************
*** 140,145 ****
--- 140,148 ----
  	DeleteXloginResources,
  	source,
  	defaultEnv,
+ #ifdef AIXV3
+ 	defaultUserEnv,
+ #endif
  	setEnv,
  	putEnv,
  	parseArgs,
***************
*** 1032,1038 ****
--- 1035,1068 ----
      }
  }
  
+ #ifdef AIXV3
  char **
+ defaultUserEnv (user)
+ char *user;
+ {
+     char    **env, **exp, *value;
+     extern char **setEnv ();
+ 
+     env = 0;
+ 
+     /* we need the tags SYSENVIRON: and USRENVIRON: in the call to setpenv() */
+     env = setEnv(env,"SYSENVIRON:","");  /* SYS_ENV_TAG */
+     env = setEnv(env,"LOGNAME",user);
+     env = setEnv(env,"LOGIN",user);
+     env = setEnv(env,"USER",user);
+     env = setEnv(env,"USRENVIRON:","");  /* USR_ENV_TAG */
+ 
+     for (exp = exportList; exp && *exp; ++exp)
+     {
+       value = getenv (*exp);
+       if (value)
+           env = setEnv (env, *exp, value);
+     }
+     return env;
+ }
+ #endif /* AIXV3 */
+ 
+ char **
  defaultEnv (void)
  {
      char    **env, **exp, *value;
***************
*** 1052,1058 ****
--- 1082,1092 ----
  {
      char	**env;
      
+ #ifdef AIXV3
+     env = defaultUserEnv(user);
+ #else
      env = defaultEnv ();
+ #endif
      env = setEnv (env, "DISPLAY", d->name);
      if (!home)
  	home = "/root";
Index: kde-2.1/kdebase-2.1/kdm/greeter/kdmrc
diff -c kde-2.1/kdebase-2.1/kdm/greeter/kdmrc:1.1.1.1 kde-2.1/kdebase-2.1/kdm/greeter/kdmrc:1.3
*** kde-2.1/kdebase-2.1/kdm/greeter/kdmrc:1.1.1.1	Tue Feb 27 10:53:00 2001
--- kde-2.1/kdebase-2.1/kdm/greeter/kdmrc	Thu Apr  5 01:00:08 2001
***************
*** 18,34 ****
  [KDM]
  GreetString=K Desktop Environment (HOSTNAME)
  #Users=root,johndoe
! NoUsers=adm,apache,bin,bind,daemon,exim,falken,ftp,games,gdm,gopher,halt,httpd,ingres,kmem,lp,mail,mailnull,man,mta,news,nobody,nscd,operator,pop,postfix,reboot,rpc,rpcuser,sendmail,shutdown,sync,tty,uucp,xfs,xten
  #ShowUsers=All/Selected/None
  ShowUsers=All
  #MinShowUID=1000
  SortUsers=true
  #ShutdownButton=All/ConsoleOnly/RootOnly/None
! ShutdownButton=ConsoleOnly
! FailFont=helvetica,12,5,0,75,0
! GreetFont=charter,24,5,0,50,0
! StdFont=helvetica,12,5,0,50,0
! SessionTypes=kde,fvwm,failsafe,default
  #GUIStyle=KDE/Windows/Platinum/Motif/Motif+/CDE/SGI
  GUIStyle=KDE
  #LogoArea=KdmLogo/KdmClock/None
--- 18,34 ----
  [KDM]
  GreetString=K Desktop Environment (HOSTNAME)
  #Users=root,johndoe
! NoUsers=adm,apache,bin,bind,daemon,exim,falken,ftp,games,gdm,gopher,halt,httpd,imnadm,ingres,kmem,lp,mail,mailnull,man,mta,news,nobody,nscd,operator,pop,postfix,reboot,rpc,rpcuser,sendmail,shutdown,sync,tty,uucp,xfs,xten
  #ShowUsers=All/Selected/None
  ShowUsers=All
  #MinShowUID=1000
  SortUsers=true
  #ShutdownButton=All/ConsoleOnly/RootOnly/None
! ShutdownButton=RootOnly
! FailFont=helvetica,10,5,0,75,0
! GreetFont=charter,16,5,0,50,0
! StdFont=helvetica,10,5,0,50,0
! SessionTypes=kde,gnome,CDE,failsafe,xterm
  #GUIStyle=KDE/Windows/Platinum/Motif/Motif+/CDE/SGI
  GUIStyle=KDE
  #LogoArea=KdmLogo/KdmClock/None
***************
*** 36,43 ****
  #LogoPixmap=/dev/null
  #EchoMode=NoEcho/OneStar/ThreeStars
  EchoMode=OneStar
! Restart=/sbin/reboot
! Shutdown=/sbin/poweroff
  ConsoleMode=/sbin/init 2
  #AllowConsoleMode=false
  #GreeterPosFixed=true
--- 36,43 ----
  #LogoPixmap=/dev/null
  #EchoMode=NoEcho/OneStar/ThreeStars
  EchoMode=OneStar
! Restart=/usr/sbin/shutdown -r now
! Shutdown=/usr/sbin/shutdown -h now
  ConsoleMode=/sbin/init 2
  #AllowConsoleMode=false
  #GreeterPosFixed=true
Index: kde-2.1/kdebase-2.1/kdm/greeter/kdmshutdown.cpp
diff -c kde-2.1/kdebase-2.1/kdm/greeter/kdmshutdown.cpp:1.1.1.1 kde-2.1/kdebase-2.1/kdm/greeter/kdmshutdown.cpp:1.2
*** kde-2.1/kdebase-2.1/kdm/greeter/kdmshutdown.cpp:1.1.1.1	Tue Feb 27 10:53:00 2001
--- kde-2.1/kdebase-2.1/kdm/greeter/kdmshutdown.cpp	Fri Mar 30 09:30:46 2001
***************
*** 221,227 ****
  KDMShutdown::bye_bye()
  {
       // usernames and passwords are stored in the same format as files
!     if( !pswdEdit || VerifyRoot( pswdEdit->password() ) ) {
  	QApplication::flushX();
  	if( fork() == 0) {
  
--- 221,227 ----
  KDMShutdown::bye_bye()
  {
       // usernames and passwords are stored in the same format as files
!     if( !pswdEdit || VerifyRoot( pswdEdit->password() ) >= V_OK ) {
  	QApplication::flushX();
  	if( fork() == 0) {
  
Index: kde-2.1/kdebase-2.1/kdm/greeter/kgreeter.cpp
diff -c kde-2.1/kdebase-2.1/kdm/greeter/kgreeter.cpp:1.1.1.1 kde-2.1/kdebase-2.1/kdm/greeter/kgreeter.cpp:1.2
*** kde-2.1/kdebase-2.1/kdm/greeter/kgreeter.cpp:1.1.1.1	Tue Feb 27 10:53:00 2001
--- kde-2.1/kdebase-2.1/kdm/greeter/kgreeter.cpp	Thu Mar  1 07:10:22 2001
***************
*** 81,86 ****
--- 81,89 ----
  void	(*__xdm_DeleteXloginResources)(struct display *d, Display *dpy) = NULL;
  int	(*__xdm_source)(char **environ, char *file) = NULL;
  char	**(*__xdm_defaultEnv)(void) = NULL;
+ #ifdef AIXV3
+ char	**(*__xdm_defaultUserEnv)(char *user) = NULL;
+ #endif
  char	**(*__xdm_setEnv)(char **e, char *name, char *value) = NULL;
  char	**(*__xdm_putEnv)(const char *string, char **env) = NULL;
  char	**(*__xdm_parseArgs)(char **argv, char *string) = NULL;
***************
*** 823,828 ****
--- 826,834 ----
      __xdm_DeleteXloginResources = dlfuncs->_DeleteXloginResources;
      __xdm_source = dlfuncs->_source;
      __xdm_defaultEnv = dlfuncs->_defaultEnv;
+ #ifdef AIXV3
+     __xdm_defaultUserEnv = dlfuncs->_defaultUserEnv;
+ #endif
      __xdm_setEnv = dlfuncs->_setEnv;
      __xdm_putEnv = dlfuncs->_putEnv;
      __xdm_parseArgs = dlfuncs->_parseArgs;
Index: kde-2.1/kdebase-2.1/kdm/greeter/verify.c
diff -c kde-2.1/kdebase-2.1/kdm/greeter/verify.c:1.1.1.1 kde-2.1/kdebase-2.1/kdm/greeter/verify.c:1.5
*** kde-2.1/kdebase-2.1/kdm/greeter/verify.c:1.1.1.1	Tue Feb 27 10:53:00 2001
--- kde-2.1/kdebase-2.1/kdm/greeter/verify.c	Wed Mar 28 12:02:34 2001
***************
*** 79,92 ****
  # include <login_cap.h>
  #endif
  
! /*
! #ifdef _AIX
  # include <login.h>
  # include <usersec.h>
  extern int loginrestrictions (char *Name, int Mode, char *Tty, char **Msg);
  extern int loginfailed (char *User, char *Host, char *Tty);
  extern int loginsuccess (char *User, char *Host, char *Tty, char **Msg);
! #endif / * _AIX */
  
  /* for nologin */
  #include <sys/types.h>
--- 79,91 ----
  # include <login_cap.h>
  #endif
  
! #ifdef AIXV3
  # include <login.h>
  # include <usersec.h>
  extern int loginrestrictions (char *Name, int Mode, char *Tty, char **Msg);
  extern int loginfailed (char *User, char *Host, char *Tty);
  extern int loginsuccess (char *User, char *Host, char *Tty, char **Msg);
! #endif /* AIXV3 */
  
  /* for nologin */
  #include <sys/types.h>
***************
*** 131,141 ****
      char	**envvar;
      char	*str;
  
      env = defaultEnv ();
-     env = setEnv (env, "DISPLAY", d->name);
-     env = setEnv (env, "HOME", home);
      env = setEnv (env, "LOGNAME", user); /* POSIX, System V */
      env = setEnv (env, "USER", user);    /* BSD */
      env = setEnv (env, "PATH", useSystemPath ? d->systemPath : d->userPath);
      env = setEnv (env, "SHELL", shell);
  #ifdef KRB4
--- 130,144 ----
      char	**envvar;
      char	*str;
  
+ #ifdef AIXV3
+     env = defaultUserEnv(user);
+ #else
      env = defaultEnv ();
      env = setEnv (env, "LOGNAME", user); /* POSIX, System V */
      env = setEnv (env, "USER", user);    /* BSD */
+ #endif
+     env = setEnv (env, "DISPLAY", d->name);
+     env = setEnv (env, "HOME", home);
      env = setEnv (env, "PATH", useSystemPath ? d->systemPath : d->userPath);
      env = setEnv (env, "SHELL", shell);
  #ifdef KRB4
***************
*** 296,304 ****
      /* really should do password changing, but it doesn't fit well */
  # undef PAM_DO
  
! /*
! #elif defined(_AIX) / * USE_PAM * /
! 
      int		i, loginType;
      char	tty[16], hostname[100], *msg;
  
--- 299,306 ----
      /* really should do password changing, but it doesn't fit well */
  # undef PAM_DO
  
! #elif defined(AIXV3) /* USE_PAM */
! {
      int		i, loginType;
      char	tty[16], hostname[100], *msg;
  
***************
*** 311,319 ****
      } else
  	hostname[0] = '\0';
  
!     / * tty names should only be 15 characters long * /
      memcpy(tty, "/dev/xdm/", 10);
!     for (i = 0; i < 6 && d->name[i]; i++)
  	if (d->name[i] == ':' || d->name[i] == '.')
  	    tty[9 + i] = '_';
  	else
--- 313,321 ----
      } else
  	hostname[0] = '\0';
  
!     /* tty names should only be 15 characters long */
      memcpy(tty, "/dev/xdm/", 10);
!     for (i = 0; i < 6 && d->name[i]; i++) {
  	if (d->name[i] == ':' || d->name[i] == '.')
  	    tty[9 + i] = '_';
  	else
***************
*** 324,331 ****
--- 326,335 ----
      loginType = d->displayType.location == Foreign ? S_RLOGIN : S_LOGIN;
  
      if (greet->password) {
+ 	int rc, reenter;
  	enduserdb();
  	msg = NULL;
+ 
  	rc = authenticate(greet->name, greet->password, &reenter, &msg);
  	if (rc || reenter) {
  	    Debug("authenticate() - %s\n", msg ? msg : "Error\n");
***************
*** 338,353 ****
  	    free((void *)msg);
      }
      msg = NULL;
!     if (!loginrestrictions(greet->name, loginType, tty, &msg)) {
  	Debug("loginrestrictions() - %s\n", msg ? msg : "Error\n");
  	if (msg)
  	    free((void *)msg);
! 	/ * loginfailed(greet->name, hostname, tty);  here too? * /
! 	FAILV;	/ * XXX: V_AUTHMSG * /
      }
      if (msg)
  	free((void *)msg);
! */
  #endif	/* USE_PAM && _AIX */
  
      p = getpwnam (greet->name);
--- 342,357 ----
  	    free((void *)msg);
      }
      msg = NULL;
!     if (loginrestrictions(greet->name, loginType, tty, &msg) == -1) {
  	Debug("loginrestrictions() - %s\n", msg ? msg : "Error\n");
  	if (msg)
  	    free((void *)msg);
! 	/* loginfailed(greet->name, hostname, tty);  here too? */
! 	FAILV;	/* XXX: V_AUTHMSG */
      }
      if (msg)
  	free((void *)msg);
! }
  #endif	/* USE_PAM && _AIX */
  
      p = getpwnam (greet->name);
***************
*** 358,363 ****
--- 362,368 ----
      }
      user_pass = p->pw_passwd;
  
+ #if !defined(USE_PAM) && !defined(_AIX)
  #ifdef USESHADOW
      errno = 0;
      sp = getspnam(greet->name);
***************
*** 369,376 ****
      endspent();
  # endif  /* QNX4 doesn't need endspent() to end shadow passwd ops */
  #endif /* USESHADOW */
- 
- #if !defined(USE_PAM) /* && !defined(_AIX) */
  
  # ifdef __linux__	/* only Linux? */
      if (p->pw_passwd[0] == '!' || p->pw_passwd[0] == '*') {
--- 374,379 ----
Index: kde-2.1/kdebase-2.1/kdm/xdmconfig/Xservers.in
diff -c kde-2.1/kdebase-2.1/kdm/xdmconfig/Xservers.in:1.1.1.1 kde-2.1/kdebase-2.1/kdm/xdmconfig/Xservers.in:1.2
*** kde-2.1/kdebase-2.1/kdm/xdmconfig/Xservers.in:1.1.1.1	Tue Feb 27 10:53:01 2001
--- kde-2.1/kdebase-2.1/kdm/xdmconfig/Xservers.in	Thu Mar  1 07:10:22 2001
***************
*** 10,13 ****
  #	XTerminalName:0 foreign
  #
  
! :0 local @XBINDIR@/X
--- 10,13 ----
  #	XTerminalName:0 foreign
  #
  
! :0 local @XBINDIR@/X -T -force
Index: kde-2.1/kdebase-2.1/kdm/xdmconfig/xdm-config.in
diff -c kde-2.1/kdebase-2.1/kdm/xdmconfig/xdm-config.in:1.1.1.1 kde-2.1/kdebase-2.1/kdm/xdmconfig/xdm-config.in:1.2
*** kde-2.1/kdebase-2.1/kdm/xdmconfig/xdm-config.in:1.1.1.1	Tue Feb 27 10:53:01 2001
--- kde-2.1/kdebase-2.1/kdm/xdmconfig/xdm-config.in	Thu Mar  1 07:22:26 2001
***************
*** 1,14 ****
  ! $XConsortium: xdm-conf.cpp,v 1.2 93/09/28 14:30:32 gildea Exp $
  ! $Id$
! !DisplayManager.errorLogFile:	@XDMDIR@/xdm-errors
! !DisplayManager.pidFile:	@XDMDIR@/xdm-pid
! !DisplayManager.keyFile:	@XDMDIR@/xdm-keys
! !DisplayManager.servers:	@XDMDIR@/Xservers
! !DisplayManager.accessFile:	@XDMDIR@/Xaccess
! !DisplayManager._0.authorize:	true
! !DisplayManager._0.setup:	@XDMDIR@/Xsetup_0
! !DisplayManager._0.startup:	@XDMDIR@/GiveConsole
! !DisplayManager._0.reset:	@XDMDIR@/TakeConsole
! !DisplayManager*resources:	@XDMDIR@/Xresources
! !DisplayManager*session:	@XDMDIR@/Xsession
! !DisplayManager*authComplain:	false
--- 1,14 ----
  ! $XConsortium: xdm-conf.cpp,v 1.2 93/09/28 14:30:32 gildea Exp $
  ! $Id$
! DisplayManager.errorLogFile:	@XDMDIR@/xdm-errors
! DisplayManager.pidFile:		@XDMDIR@/xdm-pid
! DisplayManager.keyFile:		@XDMDIR@/xdm-keys
! DisplayManager.servers:		@XDMDIR@/Xservers
! DisplayManager.accessFile:	@XDMDIR@/Xaccess
! DisplayManager._0.authorize:	true
! DisplayManager._0.setup:	@XDMDIR@/Xsetup_0
! DisplayManager._0.startup:	@XDMDIR@/GiveConsole
! DisplayManager._0.reset:	@XDMDIR@/TakeConsole
! DisplayManager*resources:	@XDMDIR@/Xresources
! DisplayManager*session:		@XDMDIR@/Xsession
! DisplayManager*authComplain:	false
Index: kde-2.1/kdebase-2.1/kicker/Makefile.am
diff -c kde-2.1/kdebase-2.1/kicker/Makefile.am:1.1.1.1 kde-2.1/kdebase-2.1/kicker/Makefile.am:1.2
*** kde-2.1/kdebase-2.1/kicker/Makefile.am:1.1.1.1	Tue Feb 27 10:53:03 2001
--- kde-2.1/kdebase-2.1/kicker/Makefile.am	Thu Mar  1 07:10:23 2001
***************
*** 15,21 ****
  
  kicker_la_SOURCES = dummy.cpp
  kicker_la_LIBADD = libkicker_internal.la
! kicker_la_LDFLAGS = $(KDE_PLUGIN) -no-undefined -module
  
  kicker_LDADD = core/libkicker_core.la  ui/libkicker_ui.la share/libkicker_share.la $(LIB_KSYCOCA) $(LIB_KFILE)
  kicker_SOURCES = dummy.cpp
--- 15,21 ----
  
  kicker_la_SOURCES = dummy.cpp
  kicker_la_LIBADD = libkicker_internal.la
! kicker_la_LDFLAGS = $(KDE_RPATH) $(KDE_PLUGIN) -no-undefined -module
  
  kicker_LDADD = core/libkicker_core.la  ui/libkicker_ui.la share/libkicker_share.la $(LIB_KSYCOCA) $(LIB_KFILE)
  kicker_SOURCES = dummy.cpp
Index: kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsetup_0
diff -u kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsetup_0:1.1.1.1 kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsetup_0:1.2
--- kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsetup_0:1.1.1.1	Tue Feb 27 10:53:01 2001
+++ kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsetup_0	Thu Mar  1 07:10:23 2001
@@ -1,4 +1,4 @@
 #!/bin/sh
 # $XConsortium: Xsetup_0,v 1.3 93/09/28 14:30:31 gildea Exp $
 # $Id: Xsetup_0,v 1.3 1998/09/06 10:48:54 bieker Exp $
-kdmdesktop &
+/opt/freeware/kde/bin/kdmdesktop &
Index: kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsession
diff -c kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsession:1.1.1.1 kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsession:1.6
*** kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsession:1.1.1.1	Tue Feb 27 10:53:01 2001
--- kde-2.1/kdebase-2.1/kdm/xdmconfig/Xsession	Thu Apr  5 23:53:05 2001
***************
*** 13,24 ****
  	fi
  done
  
  case $# in
  1)
  	case $1 in
  	failsafe)
! 		exec xterm -geometry 80x24-0-0
  		;;
  	esac
  esac
  
--- 13,65 ----
  	fi
  done
  
+ #
+ #  Set up the system environment
+ #
+ if [ -r /etc/profile ]; then
+   . /etc/profile
+ fi
+ 
+ #
+ #  Set up the users custom environment
+ #
+ export XDM_LOGIN=true
+ case $SHELL  in
+   ("/bin/ksh" | "/usr/bin/ksh" | "/bin/sh" | "/usr/bin/sh" | "/bin/bash" | "/usr/bin/bash")
+        if [ -r $HOME/.profile ]; then
+            . $HOME/.profile
+        fi
+        ;;
+   ("/bin/csh" | "/usr/bin/csh" | "/bin/tcsh" | "/usr/bin/tcsh")
+        if [ -r $HOME/.login ]; then
+            . $HOME/.login
+        fi
+        ;;
+ #
+ esac
+ 
  case $# in
  1)
  	case $1 in
+         kde)
+ 		export PATH=/opt/freeware/kde/bin:$PATH
+                 exec /opt/freeware/kde/bin/startkde ;;
+ 
+         CDE)
+                 exec /usr/dt/bin/Xsession ;;
+ 
+         gnome)
+                 exec /usr/lpp/X11/bin/xterm -geometry 80x25+0-52 -ls -fg white -bg black &
+                 exec /opt/freeware/bin/gnome-session ;;
+ 
  	failsafe)
!                 exec aixterm -geometry 80x35+0-0 -ls &
! 		exec mwm ;;
! 
! 	xterm)
!                 exec /usr/lpp/X11/bin/xterm -geometry 80x35+0-0 -ls 
  		;;
+ 
  	esac
  esac
  
