From owner-freebsd-ports Sat Feb 17 18:40:17 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 0399137B684 for ; Sat, 17 Feb 2001 18:40:02 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f1I2e1S78515; Sat, 17 Feb 2001 18:40:01 -0800 (PST) (envelope-from gnats) Received: from mail.inka.de (quechua.inka.de [212.227.14.2]) by hub.freebsd.org (Postfix) with ESMTP id 98FA137B401 for ; Sat, 17 Feb 2001 18:31:58 -0800 (PST) Received: from kemoauc.mips.inka.de (uucp@) by mail.inka.de with local-bsmtp id 14UJdk-0001Ep-01; Sun, 18 Feb 2001 03:31:56 +0100 Received: (from naddy@localhost) by kemoauc.mips.inka.de (8.11.1/8.11.1) id f1I2KM003802; Sun, 18 Feb 2001 03:20:22 +0100 (CET) (envelope-from naddy) Message-Id: <200102180220.f1I2KM003802@kemoauc.mips.inka.de> Date: Sun, 18 Feb 2001 03:20:22 +0100 (CET) From: Christian Weisgerber Reply-To: naddy@mips.inka.de To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: ports/25180: Replacement for shells/ksh93 Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >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 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 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 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 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 X+#include X+#include X #include X #include X #include 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