Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Feb 2001 03:20:22 +0100 (CET)
From:      Christian Weisgerber <naddy@mips.inka.de>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/25180: Replacement for shells/ksh93
Message-ID:  <200102180220.f1I2KM003802@kemoauc.mips.inka.de>

next in thread | raw e-mail | index | archive | help

>Number:         25180
>Category:       ports
>Synopsis:       Replacement for shells/ksh93
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Feb 17 18:40:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Christian Weisgerber
>Release:        FreeBSD 5.0-CURRENT alpha
>Organization:
>Environment:
System: FreeBSD kemoauc.mips.inka.de 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Mon Dec 25 13:44:16 CET 2000 naddy@kemoauc.mips.inka.de:/usr/obj/usr/src/sys/KEMOAUC alpha

>Description:

This "update" completely replaces the obsolete binary port in
shells/ksh93 with a proper port that builds a native executable
from the sources.

Since I don't understand the exact requirements imposed on
redistribution by the impenetrable license text, I have set
RESTRICTED.

>How-To-Repeat:

>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	ksh93
#	ksh93/Makefile
#	ksh93/pkg-comment
#	ksh93/distinfo
#	ksh93/pkg-descr
#	ksh93/pkg-plist
#	ksh93/files
#	ksh93/files/patch-src_cmd_INIT_proto_c
#	ksh93/files/patch-src_cmd_ksh93_sh_1
#	ksh93/files/patch-src_cmd_ksh93_Mamfile
#	ksh93/files/patch-src_lib_libast_vmalloc_vmhdr_h
#	ksh93/files/patch-src_lib_libast_features_sfio
#	ksh93/files/patch-src_cmd_INIT_mamake_c
#	ksh93/files/patch-src_lib_libast_features_limits_c
#	ksh93/pkg-message
#
echo c - ksh93
mkdir -p ksh93 > /dev/null 2>&1
echo x - ksh93/Makefile
sed 's/^X//' >ksh93/Makefile << 'END-of-ksh93/Makefile'
X# New ports collection makefile for:   ksh93
X# Date created:                2000-12-26
X# Whom:                        Christian Weisgerber <naddy@mips.inka.de>
X#
X# $FreeBSD$
X
XPORTNAME=	ksh93
XPORTVERSION= 	${VERSION:S/-//g}
XVERSION=	2001-01-01.0000
XCATEGORIES=	shells
XMASTER_SITES=	http://www.research.att.com/~gsf/download/tgz/
X
XMAINTAINER=	Christian Weisgerber <naddy@mips.inka.de>
X
XRESTRICTED=	"Impenetrable license"
XIS_INTERACTIVE=	yes	# must acknowledge license
X
XDISTNAME=	${PORTNAME}-${VERSION}
XDISTFILES=	INIT.${VERSION}.tgz ast-ksh.${VERSION}.tgz
XEXTRACT_ONLY=	INIT.${VERSION}.tgz
X
XNO_WRKSUBDIR=	yes
X
XMAN1=		ksh93.1
X
Xpost-extract:
X	@${MKDIR} ${WRKSRC}/lib/package/tgz
X	@${LN} -s ${DISTDIR}/ast-ksh.${VERSION}.tgz ${WRKSRC}/lib/package/tgz/
X	@cd ${WRKSRC}; bin/package read
X
Xdo-build:
X	@cd ${WRKSRC}; bin/package make \
X	    CC='${CC}' CCFLAGS='${CFLAGS}' LDFLAGS=-static
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/arch/freebsd.${ARCH}/bin/ksh \
X	    ${PREFIX}/bin/ksh93
X	${INSTALL_MAN} ${WRKSRC}/arch/freebsd.${ARCH}/man/man1/sh.1 \
X	    ${PREFIX}/man/man1/ksh93.1
X
X.include <bsd.port.mk>
END-of-ksh93/Makefile
echo x - ksh93/pkg-comment
sed 's/^X//' >ksh93/pkg-comment << 'END-of-ksh93/pkg-comment'
XOfficial AT&T release of KornShell 93
END-of-ksh93/pkg-comment
echo x - ksh93/distinfo
sed 's/^X//' >ksh93/distinfo << 'END-of-ksh93/distinfo'
XMD5 (INIT.2001-01-01.0000.tgz) = 799b061ff85c22e7efc9a3b9e610e5c6
XMD5 (ast-ksh.2001-01-01.0000.tgz) = e823dfd2b97a85e7b6b06612a06711a7
END-of-ksh93/distinfo
echo x - ksh93/pkg-descr
sed 's/^X//' >ksh93/pkg-descr << 'END-of-ksh93/pkg-descr'
XKSH-93 is the most recent version of the KornShell Language described
Xin "The KornShell Command and Programming Language," by Morris
XBolsky and David Korn of AT&T Bell Laboratories.  The KornShell is
Xa shell programming language, which is upward compatible with "sh"
X(the Bourne Shell), and is intended to conform to the IEEE P1003.2/ISO
X9945.2 Shell and Utilities standard.  KSH-93 provides an enhanced
Xprogramming environment in addition to the major command-entry
Xfeatures of the BSD shell "csh".  With KSH-93, medium-sized programming
Xtasks can be performed at shell-level without a significant loss
Xin performance.  In addition, "sh" scripts can be run on KSH-93
Xwithout modification.
X
XWWW: http://www.kornshell.com/
END-of-ksh93/pkg-descr
echo x - ksh93/pkg-plist
sed 's/^X//' >ksh93/pkg-plist << 'END-of-ksh93/pkg-plist'
X@comment $FreeBSD$
Xbin/ksh93
X@exec echo "updating /etc/shells"; cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak; echo %D/%F) >/etc/shells
X@unexec echo "updating /etc/shells"; cp /etc/shells /etc/shells.bak; (grep -v %D/%F /etc/shells.bak) >/etc/shells
END-of-ksh93/pkg-plist
echo c - ksh93/files
mkdir -p ksh93/files > /dev/null 2>&1
echo x - ksh93/files/patch-src_cmd_INIT_proto_c
sed 's/^X//' >ksh93/files/patch-src_cmd_INIT_proto_c << 'END-of-ksh93/files/patch-src_cmd_INIT_proto_c'
X$FreeBSD$
X--- src/cmd/INIT/proto.c.orig	Thu Oct 26 16:00:44 2000
X+++ src/cmd/INIT/proto.c	Thu Dec 28 18:26:19 2000
X@@ -1531,6 +1531,7 @@
X 
X 
X 
X+extern __MANGLE__ __V_*		realloc __PROTO__((__V_*, int));
X extern __MANGLE__ __V_*		calloc __PROTO__((int, int));
X extern __MANGLE__ char*		ctime __PROTO__((time_t*));
X extern __MANGLE__ void		free __PROTO__((__V_*));
X@@ -3965,7 +3966,7 @@
X 	if ((n = ip - bp - 1) > 0)
X 	{
X 		ip = bp;
X-		do switch( n) { default : memcpy( op, ip, n); op += n; ip += n; break; case 7 : * op++ = * ip++; case 6 : * op++ = * ip++; case 5 : * op++ = * ip++; case 4 : * op++ = * ip++; case 3 : * op++ = * ip++; case 2 : * op++ = * ip++; case 1 : * op++ = * ip++; case 0 : break; } while (0);
X+		do switch( n) { default : memcopy( op, ip, n); op += n; ip += n; break; case 7 : * op++ = * ip++; case 6 : * op++ = * ip++; case 5 : * op++ = * ip++; case 4 : * op++ = * ip++; case 3 : * op++ = * ip++; case 2 : * op++ = * ip++; case 1 : * op++ = * ip++; case 0 : break; } while (0);
X 		ip++;
X 	}
X 	state = ~state;
X@@ -5835,11 +5836,11 @@
X 				pppclose(b);
X 				return flags | ((1<<13)<<0);
X 			}
X-			strcpy(buf, copy);
X+			strcopy(buf, copy);
X 			e = buf + n;
X 			if (*file != '/')
X 				*e++ = '/';
X-			strcpy(e, file);
X+			strcopy(e, file);
X 			if ((fd = creat(buf, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)) < 0)
X 			{
X 				for (e = buf; *e == '/'; e++);
X@@ -5882,7 +5883,7 @@
X 		if (file && (flags & ((1<<13)<<1)))
X 		{
X 			*e = '_';
X-			strcpy(b, file);
X+			strcopy(b, file);
X 			*e = x;
X 			if (replace(b, file, !(flags & (1<<0))))
X 				proto_error(b, 2, "cannot rename to", file);
X@@ -5977,7 +5978,7 @@
X 				else
X 				{
X 					*op++ = '\n';
X-					memcpy(op, b, n + 1);
X+					memcopy(op, b, n + 1);
X 					op += n;
X 				}
X 				break;
END-of-ksh93/files/patch-src_cmd_INIT_proto_c
echo x - ksh93/files/patch-src_cmd_ksh93_sh_1
sed 's/^X//' >ksh93/files/patch-src_cmd_ksh93_sh_1 << 'END-of-ksh93/files/patch-src_cmd_ksh93_sh_1'
X$FreeBSD$
X--- src/cmd/ksh93/sh.1.orig	Wed Dec 27 23:10:30 2000
X+++ src/cmd/ksh93/sh.1	Wed Dec 27 23:10:44 2000
X@@ -4,7 +4,7 @@
X .\"
X .\" @(#)sh.1 (research!dgk) 12/28/93
X .\"
X-.nr Z 0 \" set to 1 when command name is ksh rather than sh
X+.nr Z 1 \" set to 1 when command name is ksh rather than sh
X .nr Y 0 \" set to 1 for R&D UNIX
X .if \nY=1 .nr Z 1
X .ds OK [\|
END-of-ksh93/files/patch-src_cmd_ksh93_sh_1
echo x - ksh93/files/patch-src_cmd_ksh93_Mamfile
sed 's/^X//' >ksh93/files/patch-src_cmd_ksh93_Mamfile << 'END-of-ksh93/files/patch-src_cmd_ksh93_Mamfile'
X$FreeBSD$
X--- src/cmd/ksh93/Mamfile.orig	Sat Feb 17 23:27:39 2001
X+++ src/cmd/ksh93/Mamfile	Sat Feb 17 23:28:35 2001
X@@ -1117,12 +1117,12 @@
X done sh/shcomp.c
X prev sh/shcomp.c
X setv _BLD_shell -U_BLD_shell
X-exec - ${CC} -O  -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSH_DICT='(void*)e_dict' -DKSHELL -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_VSH -DSHOPT_ESH -c sh/shcomp.c
X+exec - ${CC} ${CCFLAGS} -I. -Iinclude -I${PACKAGE_ast_INCLUDE} -DSH_DICT='(void*)e_dict' -DKSHELL -D_PACKAGE_ast -DSHOPT_SUID_EXEC -DSHOPT_VSH -DSHOPT_ESH -c sh/shcomp.c
X done shcomp.o generated
X prev libshell.a archive
X setv mam_libshell `sed -e 's,-lshell,libshell.a,' shell.req`
X prev ${mam_libdl}
X-exec - ${CC} -O ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${PACKAGE_ast_LIB}}  -o shcomp shcomp.o ${mam_libshell} ${mam_libm} ${mam_cc_static}  ${mam_cc_dynamic} ${mam_libast}
X+exec - ${CC} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${PACKAGE_ast_LIB}}  -o shcomp shcomp.o ${mam_libshell} ${mam_libm} ${mam_cc_static}  ${mam_cc_dynamic} ${mam_libast}
X done shcomp generated
X make sh/suid_exec.c
X prev ${PACKAGE_ast_INCLUDE}/error.h implicit
X@@ -1139,10 +1139,10 @@
X make suid_exec.o
X prev sh/suid_exec.c
X prev sh/suid_exec.c
X-exec - ${CC} -O  -I. -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -c sh/suid_exec.c
X+exec - ${CC} ${CCFLAGS} -I. -I${PACKAGE_ast_INCLUDE} -D_PACKAGE_ast -c sh/suid_exec.c
X done suid_exec.o generated
X prev ${mam_libdl}
X-exec - ${CC} -O ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${PACKAGE_ast_LIB}}  -o suid_exec suid_exec.o ${mam_cc_static} ${mam_libast} ${mam_cc_dynamic} ${mam_libm} ${mam_cc_static}  ${mam_cc_dynamic} ${mam_libast}
X+exec - ${CC} ${CCFLAGS} ${LDFLAGS} ${mam_cc_L+-L.} ${mam_cc_L+-L${PACKAGE_ast_LIB}}  -o suid_exec suid_exec.o ${mam_cc_static} ${mam_libast} ${mam_cc_dynamic} ${mam_libm} ${mam_cc_static}  ${mam_cc_dynamic} ${mam_libast}
X done suid_exec generated
X make ${INSTALLROOT}/bin
X exec - set -
END-of-ksh93/files/patch-src_cmd_ksh93_Mamfile
echo x - ksh93/files/patch-src_lib_libast_vmalloc_vmhdr_h
sed 's/^X//' >ksh93/files/patch-src_lib_libast_vmalloc_vmhdr_h << 'END-of-ksh93/files/patch-src_lib_libast_vmalloc_vmhdr_h'
X$FreeBSD$
X--- src/lib/libast/vmalloc/vmhdr.h.orig	Thu Dec 28 00:07:39 2000
X+++ src/lib/libast/vmalloc/vmhdr.h	Thu Dec 28 00:08:18 2000
X@@ -56,12 +56,12 @@
X #include	<ast_common.h>
X #include	"FEATURE/vmalloc"
X 
X+#endif /*_PACKAGE_ast*/
X+
X #if !_UWIN
X #define _npt_getpagesize	1
X #define _npt_sbrk		1
X #endif
X-
X-#endif /*_PACKAGE_ast*/
X 
X #undef free
X #undef malloc
END-of-ksh93/files/patch-src_lib_libast_vmalloc_vmhdr_h
echo x - ksh93/files/patch-src_lib_libast_features_sfio
sed 's/^X//' >ksh93/files/patch-src_lib_libast_features_sfio << 'END-of-ksh93/files/patch-src_lib_libast_features_sfio'
X$FreeBSD$
X--- src/lib/libast/features/sfio.orig	Thu Dec 28 02:40:45 2000
X+++ src/lib/libast/features/sfio	Thu Dec 28 02:40:52 2000
X@@ -1,4 +1,4 @@
X-hdr	float,floatingpoint,math,values
X+hdr	float,floatingpoint,math
X sys	filio,ioctl
X lib	qfrexp,qldexp
X 
END-of-ksh93/files/patch-src_lib_libast_features_sfio
echo x - ksh93/files/patch-src_cmd_INIT_mamake_c
sed 's/^X//' >ksh93/files/patch-src_cmd_INIT_mamake_c << 'END-of-ksh93/files/patch-src_cmd_INIT_mamake_c'
X$FreeBSD$
X--- src/cmd/INIT/mamake.c.orig	Fri Sep 22 00:38:32 2000
X+++ src/cmd/INIT/mamake.c	Thu Dec 28 18:26:19 2000
X@@ -98,6 +98,8 @@
X #endif
X 
X #include <stdio.h>
X+#include <stdlib.h>
X+#include <string.h>
X #include <unistd.h>
X #include <ctype.h>
X #include <sys/types.h>
END-of-ksh93/files/patch-src_cmd_INIT_mamake_c
echo x - ksh93/files/patch-src_lib_libast_features_limits_c
sed 's/^X//' >ksh93/files/patch-src_lib_libast_features_limits_c << 'END-of-ksh93/files/patch-src_lib_libast_features_limits_c'
X$FreeBSD$
X--- src/lib/libast/features/limits.c.orig	Tue Feb  9 15:23:43 1999
X+++ src/lib/libast/features/limits.c	Thu Dec 28 19:35:20 2000
X@@ -122,6 +122,7 @@
X 	while (uc >>= 1) val++;
X #endif
X 	printf("#define CHAR_BIT	%lu\n", val);
X+#undef MB_LEN_MAX
X #ifdef MB_LEN_MAX
X 	val = MB_LEN_MAX;
X 	printf("#undef	MB_LEN_MAX\n");
X@@ -392,6 +393,9 @@
X #endif
X #ifdef	_LIMITS_H_
X 	printf("#define _LIMITS_H_\n");
X+#endif
X+#ifdef	_MACHINE_LIMITS_H
X+	printf("#define _MACHINE_LIMITS_H_");
X #endif
X #ifdef	__LIMITS_H
X 	printf("#define __LIMITS_H\n");
END-of-ksh93/files/patch-src_lib_libast_features_limits_c
echo x - ksh93/pkg-message
sed 's/^X//' >ksh93/pkg-message << 'END-of-ksh93/pkg-message'
XThis product contains certain software code or other information
X("AT&T Software") proprietary to AT&T Corp. ("AT&T").  The AT&T
XSoftware is provided to you "AS IS".  YOU ASSUME TOTAL RESPONSIBILITY
XAND RISK FOR USE OF THE AT&T SOFTWARE.  AT&T DOES NOT MAKE, AND
XEXPRESSLY DISCLAIMS, ANY EXPRESS OR IMPLIED WARRANTIES OF ANY KIND
XWHATSOEVER, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES
XOF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, WARRANTIES
XOF TITLE OR NON-INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS,
XANY WARRANTIES ARISING BY USAGE OF TRADE, COURSE OF DEALING OR
XCOURSE OF PERFORMANCE, OR ANY WARRANTY THAT THE AT&T SOFTWARE IS
X"ERROR FREE" OR WILL MEET YOUR REQUIREMENTS.
X
XUnless you accept a license to use the AT&T Software, you shall not
Xreverse compile, disassemble or otherwise reverse engineer this
Xproduct to ascertain the source code for any AT&T Software.
X
X(c) AT&T Corp. All rights reserved. AT&T is a registered trademark
Xof AT&T Corp.
END-of-ksh93/pkg-message
exit


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102180220.f1I2KM003802>