From 59e10935c990ed7633a98b207b4b432dbf3221e8 Mon Sep 17 00:00:00 2001 From: Munechika SUMIKAWA Date: Tue, 9 Nov 1999 12:46:00 +0000 Subject: upgrade to 1.19. PR: 14740 Submitted by: tkato@prontomail.ne.jp --- x11/wdm/Makefile | 28 +++---- x11/wdm/distinfo | 2 +- x11/wdm/files/patch-ab | 24 +++--- x11/wdm/files/patch-ad | 2 +- x11/wdm/files/patch-ag | 20 +++++ x11/wdm/files/patch-ah | 207 +++++++++++++++++++++++++++++++++++++++++++++++++ x11/wdm/files/patch-ai | 20 +++++ x11/wdm/pkg-descr | 4 +- 8 files changed, 279 insertions(+), 28 deletions(-) create mode 100644 x11/wdm/files/patch-ag create mode 100644 x11/wdm/files/patch-ah create mode 100644 x11/wdm/files/patch-ai (limited to 'x11') diff --git a/x11/wdm/Makefile b/x11/wdm/Makefile index fdf336126d5b..e42a0e4c3848 100644 --- a/x11/wdm/Makefile +++ b/x11/wdm/Makefile @@ -1,15 +1,14 @@ # New ports collection makefile for: wdm -# Version required: 1.0 +# Version required: 1.19 # Date created: August 31, 1998 # Whom: Thomas Gellekum # # $FreeBSD$ -DISTNAME= wdm-1.0 +DISTNAME= wdm-1.19 CATEGORIES= x11 windowmaker -MASTER_SITES= ${MASTER_SITE_WINDOWMAKER} \ +MASTER_SITES= http://cortex.unice.fr/~jerome/WindowMaker/wdm/ \ http://www.de.freebsd.org/de/gif/bsd/ -MASTER_SITE_SUBDIR= contrib/srcs/utils DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${DAEMONPIC} MAINTAINER= ports@FreeBSD.org @@ -21,29 +20,32 @@ LIB_DEPENDS= Xpm.4:${PORTSDIR}/graphics/xpm \ tiff.4:${PORTSDIR}/graphics/tiff \ wraster.3:${PORTSDIR}/x11-wm/windowmaker \ PropList.2:${PORTSDIR}/devel/libPropList +BUILD_DEPENDS= automake:${PORTSDIR}/devel/automake EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} DIST_SUBDIR= wdm USE_X_PREFIX= yes -GNU_CONFIGURE= yes -CONFIGURE_ENV= CFLAGS="${CFLAGS} -DHAS_SETUSERCONTEXT" -CONFIGURE_ARGS= --with-gfx-libs="-L${LOCALBASE}/lib -lgif -lpng -ltiff -lXpm" \ - --with-gfx-incs="-I${LOCALBASE}/include" \ - --with-tiff-libs="-ljpeg" \ - --with-logdir=/var/log \ +USE_AUTOCONF= yes +CONFIGURE_ENV= CPPFLAGS='-I${LOCALBASE}/include \ + -DCSRG_BASED -DHAS_SETUSERCONTEXT' \ + LIBS='-L${LOCALBASE}/lib' +CONFIGURE_ARGS= --with-logdir=/var/log \ --with-runlockdir=/var/run \ --with-wdmdir=${PREFIX}/lib/X11/wdm \ --with-Logo=Earth200x130.xpm \ --with-defuserpath=/bin:/usr/bin:/sbin:/usr/sbin:${X11BASE}/bin:${LOCALBASE}/bin \ --with-defsystempath=/bin:/usr/bin:/sbin:/usr/sbin:${X11BASE}/bin \ - --with-wmlist=wmaker:afterstep:ctwm:enlightenment:fvwm:fvwm2:fvwm95:olvwm:qvwm:tvtwm + --with-wmlist=wmaker:afterstep:blackbox:ctwm:enlightenment:fvwm:fvwm2:fvwm95:olvwm:qvwm:tvtwm MAN1= wdm.1 wdmLogin.1 DAEMONPIC= daemon1-HQ-1280x960.jpg -post-extract: - @(cd ${WRKSRC}; ${TAR} xzf xdm-332.tar.gz) +post-patch: + @${PERL} -pi -e 's|%%X11BASE%%|${X11BASE}|g' ${WRKSRC}/doc/*.man + +pre-configure: + @(cd ${WRKSRC}; automake -a --include-deps) post-install: ${INSTALL_DATA} ${_DISTDIR}/${DAEMONPIC} ${PREFIX}/lib/X11/wdm/pixmaps diff --git a/x11/wdm/distinfo b/x11/wdm/distinfo index c6e717a29316..2da2d6816c91 100644 --- a/x11/wdm/distinfo +++ b/x11/wdm/distinfo @@ -1,2 +1,2 @@ -MD5 (wdm/wdm-1.0.tar.gz) = 0c128c2e0035fe4a2dd991ce97594237 +MD5 (wdm/wdm-1.19.tar.gz) = eacbfec965f2ccf1840ad457cb04a67e MD5 (wdm/daemon1-HQ-1280x960.jpg) = b38f175cf6b7167484afac423837ed1a diff --git a/x11/wdm/files/patch-ab b/x11/wdm/files/patch-ab index 86ac2c0e5a70..7783b5cf128d 100644 --- a/x11/wdm/files/patch-ab +++ b/x11/wdm/files/patch-ab @@ -1,16 +1,16 @@ ---- src/config/wdm-config.in.orig Sun Aug 30 17:15:53 1998 -+++ src/config/wdm-config.in Fri Sep 11 09:22:53 1998 -@@ -25,11 +25,12 @@ +--- src/config/wdm-config.in.orig Thu Sep 16 16:27:58 1999 ++++ src/config/wdm-config.in Sat Oct 30 12:41:26 1999 +@@ -25,11 +25,11 @@ ! display screen background--if not set or set to none, then the ! background is not set by wdm. - ! DisplayManager*wdmBg: none --DisplayManager*wdmBg: solid:RoyalBlue -+! DisplayManager*wdmBg: solid:RoyalBlue - ! DisplayManager*wdmBg: dgradient:RoyalBlue,FireBrick,Black - ! DisplayManager*wdmBg: hgradient:RoyalBlue,FireBrick,Black - ! DisplayManager*wdmBg: vgradient:RoyalBlue,FireBrick,Black - ! DisplayManager*wdmBg: pixmap:#configdir#/pixmaps/Stars.jpg -+DisplayManager*wdmBg: pixmap:#configdir#/pixmaps/daemon1-HQ-1280x960.jpg + ! DisplayManager*wdmBg: none +-DisplayManager*wdmBg: solid:RoyalBlue ++! DisplayManager*wdmBg: solid:RoyalBlue + ! DisplayManager*wdmBg: dgradient:RoyalBlue,FireBrick,Black + ! DisplayManager*wdmBg: hgradient:RoyalBlue,FireBrick,Black + ! DisplayManager*wdmBg: vgradient:RoyalBlue,FireBrick,Black +-! DisplayManager*wdmBg: pixmap:#configdir#/pixmaps/Stars.jpg ++DisplayManager*wdmBg: pixmap:#configdir#/pixmaps/daemon1-HQ-1280x960.jpg ! ! optional pixmap for logo - #pixmapcomment#DisplayManager*wdmLogo: #configdir#/pixmaps/#pixmapfile# + #pixmapcomment#DisplayManager*wdmLogo: #configdir#/pixmaps/#pixmapfile# diff --git a/x11/wdm/files/patch-ad b/x11/wdm/files/patch-ad index c7b526177a6a..8e04ce356741 100644 --- a/x11/wdm/files/patch-ad +++ b/x11/wdm/files/patch-ad @@ -5,7 +5,7 @@ scaled to use the full screen. .SH FILES -\fBwdmLogin\fP can be customized by modifying \fI/etc/X11/wdm/wdm-config\fP. -+\fBwdmLogin\fP can be customized by modifying \fI/usr/X11R6/lib/X11/wdm/wdm-config\fP. ++\fBwdmLogin\fP can be customized by modifying \fI%%X11BASE%%/lib/X11/wdm/wdm-config\fP. .SH SEE ALSO .BR wdm (1x) .SH AUTHOR diff --git a/x11/wdm/files/patch-ag b/x11/wdm/files/patch-ag new file mode 100644 index 000000000000..4727ee5f7e1f --- /dev/null +++ b/x11/wdm/files/patch-ag @@ -0,0 +1,20 @@ +--- configure.in.orig Tue Sep 21 23:16:21 1999 ++++ configure.in Mon Nov 1 05:26:32 1999 +@@ -183,7 +183,7 @@ + + XLFLAGS="$X_LIBS" + +-XLIBS="$X_EXTRA_LIBS -lXext -lXt -lX11 -lm" ++XLIBS="$X_PRE_LIBS $X_EXTRA_LIBS -lXext -lXt -lX11 -lm" + + XDM_EXTRA_LIBS="-lXmu -lXau -lXdmcp" + +@@ -504,7 +504,7 @@ + AC_DEFINE_UNQUOTED(WDMDIR,"$DMDIR") + AC_DEFINE_UNQUOTED(DEF_XDM_CONFIG,"$DMDIR/wdm-config") + AC_DEFINE_UNQUOTED(DEF_CHOOSER,"$DMDIR/chooser") +-AC_DEFINE_UNQUOTED(DEF_AUTH_DIR,"$DMDIR/authdir") ++AC_DEFINE_UNQUOTED(DEF_AUTH_DIR,"$DMDIR") + + AC_SUBST(DMDIR) + diff --git a/x11/wdm/files/patch-ah b/x11/wdm/files/patch-ah new file mode 100644 index 000000000000..5bd62cb12017 --- /dev/null +++ b/x11/wdm/files/patch-ah @@ -0,0 +1,207 @@ +--- patches/xdm-3.3.2-session.patch.orig Wed Sep 8 23:20:47 1999 ++++ patches/xdm-3.3.2-session.patch Wed Nov 3 10:16:13 1999 +@@ -1,6 +1,158 @@ +---- xdm/session.c Mon Mar 2 12:56:36 1998 +-+++ src/session.c Sun Sep 5 10:06:22 1999 +-@@ -500,6 +500,8 @@ ++--- xdm/session.c Mon Mar 2 20:56:36 1998 +++++ src/session.c Wed Nov 3 10:13:16 1999 ++@@ -487,6 +487,151 @@ ++ exit (status); ++ } ++ +++#ifdef HAS_SETUSERCONTEXT +++#if defined (__FreeBSD__) +++/* +++ * copied from FreeBSD CVS Tree: +++ * src/lib/libutil/login_class.c,v 1.10.2.2 1999/08/29 14:57:53 +++ */ +++ +++#undef UNKNOWN +++#define UNKNOWN "su" +++ +++static struct login_vars { +++ const char *tag; +++ const char *var; +++ const char *def; +++} pathvars[] = { +++ { "path", "PATH", NULL }, +++ { "cdpath", "CDPATH", NULL }, +++ { "manpath", "MANPATH", NULL }, +++ { NULL, NULL, NULL } +++}, envars[] = { +++ { "lang", "LANG", NULL }, +++ { "charset", "MM_CHARSET", NULL }, +++ { "timezone", "TZ", NULL }, +++ { "term", "TERM", UNKNOWN }, +++ { NULL, NULL, NULL } +++}; +++ +++static char * +++substvar(char * var, const struct passwd * pwd, int hlen, int pch, int nlen) +++{ +++ char *np = NULL; +++ +++ if (var != NULL) { +++ +++ int tildes = 0; +++ int dollas = 0; +++ char *p; +++ +++ if (pwd != NULL) { +++ /* Count the number of ~'s in var to substitute */ +++ p = var; +++ for (p = var; (p = strchr(p, '~')) != NULL; p++) +++ ++tildes; +++ /* Count the number of $'s in var to substitute */ +++ p = var; +++ for (p = var; (p = strchr(p, '$')) != NULL; p++) +++ ++dollas; +++ } +++ +++ np = malloc(strlen(var) + (dollas * nlen) +++ - dollas + (tildes * (pch+hlen)) +++ - tildes + 1); +++ +++ if (np != NULL) { +++ p = strcpy(np, var); +++ +++ if (pwd != NULL) { +++ /* +++ * This loop does user username and homedir substitutions +++ * for unescaped $ (username) and ~ (homedir) +++ */ +++ while (*(p += strcspn(p, "~$")) != '\0') { +++ int l = strlen(p); +++ +++ if (p > np && *(p-1) == '\\') /* Escaped: */ +++ memmove(p - 1, p, l + 1); /* Slide-out the backslash */ +++ else if (*p == '~') { +++ int v = pch && *(p+1) != '/'; /* Avoid double // */ +++ memmove(p + hlen + v, p + 1, l); /* Subst homedir */ +++ memmove(p, pwd->pw_dir, hlen); +++ if (v) +++ p[hlen] = '/'; +++ p += hlen + v; +++ } +++ else /* if (*p == '$') */ { +++ memmove(p + nlen, p + 1, l); /* Subst username */ +++ memmove(p, pwd->pw_name, nlen); +++ p += nlen; +++ } +++ } +++ } +++ } +++ } +++ +++ return np; +++ +++} +++ +++ +++void +++setclassEnvironment(login_cap_t *lc, const struct passwd * pwd, int paths, +++ struct verify_info *verify) +++{ +++ char *getEnv (); +++ struct login_vars *vars = paths ? pathvars : envars; +++ int hlen = pwd ? strlen(pwd->pw_dir) : 0; +++ int nlen = pwd ? strlen(pwd->pw_name) : 0; +++ char pch = 0; +++ +++ if (hlen && pwd->pw_dir[hlen-1] != '/') +++ ++pch; +++ +++ while (vars->tag != NULL) { +++ char * var = paths ? login_getpath(lc, vars->tag, NULL) +++ : login_getcapstr(lc, vars->tag, NULL, NULL); +++ +++ char * np = substvar(var, pwd, hlen, pch, nlen); +++ +++ if (np != NULL) { +++ setenv(vars->var, np, 1); +++ free(np); +++ } else if (vars->def != NULL) { +++ setenv(vars->var, vars->def, 0); +++ } +++ ++vars; +++ } +++ +++ /* +++ * If we're not processing paths, then see if there is a setenv list by +++ * which the admin and/or user may set an arbitrary set of env vars. +++ */ +++ if (!paths) { +++ char **set_env = login_getcaplist(lc, "setenv", ","); +++ +++ if (set_env != NULL) { +++ while (*set_env != NULL) { +++ char *p = strchr(*set_env, '='); +++ +++ if (p != NULL) { /* Discard invalid entries */ +++ char *np; +++ +++ *p++ = '\0'; +++ if ((np = substvar(p, pwd, hlen, pch, nlen)) != NULL) { +++ setenv(*set_env, np, 1); +++ free(np); +++ } +++ } +++ ++set_env; +++ } +++ } +++ } +++} +++#endif +++#endif +++ ++ static Bool ++ StartClient (verify, d, pidp, name, passwd) ++ struct verify_info *verify; ++@@ -500,6 +645,8 @@ + int pid; + #ifdef HAS_SETUSERCONTEXT + struct passwd* pwd; +@@ -9,7 +161,7 @@ + #endif + + if (verify->argv) { +-@@ -556,6 +558,8 @@ ++@@ -556,15 +703,39 @@ + * Set the user's credentials: uid, gid, groups, + * environment variables, resource limits, and umask. + */ +@@ -18,9 +170,32 @@ + pwd = getpwnam(name); + if (pwd) + { +-@@ -565,6 +569,7 @@ +++#if defined (__FreeBSD__) +++ login_cap_t *lc; +++ +++ lc = login_getpwclass(pwd); +++ if (setusercontext(lc, pwd, pwd->pw_uid, +++ LOGIN_SETALL & ~(LOGIN_SETPATH | LOGIN_SETENV)) < 0) { +++ LogError("setusercontext for \"%s\" failed, errno=%d\n", +++ name, errno); +++ login_close(lc); +++ return(0); +++ } +++ setclassEnvironment(lc, pwd, 1, verify); +++ setclassEnvironment(lc, pwd, 0, verify); +++ login_close(lc); +++ +++ if ((lc = login_getuserclass(pwd)) != NULL) { +++ setclassEnvironment(lc, pwd, 1, verify); +++ setclassEnvironment(lc, pwd, 0, verify); +++ login_close(lc); +++#else ++ if (setusercontext(NULL, pwd, pwd->pw_uid, LOGIN_SETALL) < 0) ++ { ++ LogError("setusercontext for \"%s\" failed, errno=%d\n", name, + errno); + return(0); +++#endif + } + + verify->userEnviron = environ; + endpwent(); diff --git a/x11/wdm/files/patch-ai b/x11/wdm/files/patch-ai new file mode 100644 index 000000000000..a3531143f85d --- /dev/null +++ b/x11/wdm/files/patch-ai @@ -0,0 +1,20 @@ +--- src/Greet.c.orig Tue Sep 21 23:16:21 1999 ++++ src/Greet.c Wed Nov 3 08:03:00 1999 +@@ -260,7 +260,7 @@ + } + + execle(wdmLogin, tmp, DisplayName, +- Wm, Logo, HelpFile, DefaultUser, Bg, Animate, ++ Wm, Logo, Bg, Animate, HelpFile, DefaultUser, + NULL, env); + + LogError ("Greet cannot exec %s\n", wdmLogin); +@@ -405,7 +405,7 @@ + "%s exit(%s) by %s\n", + PACKAGE, exitArg, name); + #endif +-#if 0 ++#if 1 + SessionExit (d, UNMANAGE_DISPLAY, FALSE); + #else + Debug ("Killing parent process %d\n", getppid()); diff --git a/x11/wdm/pkg-descr b/x11/wdm/pkg-descr index a16e6ff7bd34..c528691bf408 100644 --- a/x11/wdm/pkg-descr +++ b/x11/wdm/pkg-descr @@ -4,5 +4,7 @@ wdm was initially called DisplayMaker. This is a modification of XFree86's xdm package for graphically handling authentication and system login. Most of xdm has been -preserved (XFree86 3.3.2) with the Login interface based on a WINGs +preserved (XFree86 3.3.2.3) with the Login interface based on a WINGs implementation using Tom Rothamel's "external greet" interface. + +WWW: http://www.tuffguy.net/~wdm/ -- cgit v1.2.3