1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

update to version 3.7

This commit is contained in:
Oliver Eikemeier 2004-09-03 14:46:59 +00:00
parent cf815ad228
commit 86cbd1f021
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=118038
20 changed files with 168 additions and 520 deletions

View File

@ -6,11 +6,10 @@
#
PORTNAME= sash
PORTVERSION= 3.4
PORTVERSION= 3.7
CATEGORIES= shells
MASTER_SITES= http://www.pcug.org.au/~dbell/programs/ \
${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= patrick
MASTER_SITES= http://www.canb.auug.org.au/%SUBDIR%/
MASTER_SITE_SUBDIR= ~dbell/programs
MAINTAINER= ports@freebsd.org
COMMENT= A Stand-Alone shell combining many common utilities
@ -19,7 +18,7 @@ MAN1= sash.1
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/sash ${PREFIX}/bin/sash
${INSTALL_MAN} ${WRKSRC}/sash.1 ${PREFIX}/man/man1/sash.1
${INSTALL_MAN} ${WRKSRC}/sash.1 ${MAN1PREFIX}/man/man1/sash.1
@${ECHO_MSG} "------------------"
@${ECHO_MSG} "Installing into ${PREFIX}/bin"
@${ECHO_MSG} "If you want this installed elsewhere, "

View File

@ -1,2 +1,2 @@
MD5 (sash-3.4.tar.gz) = 9c631eb171371b69276ff6692100beb6
SIZE (sash-3.4.tar.gz) = 49149
MD5 (sash-3.7.tar.gz) = ee7c7ed5aad76599974d016a6f201ef4
SIZE (sash-3.7.tar.gz) = 50337

View File

@ -0,0 +1,38 @@
--- Makefile.orig Mon Jul 22 01:24:47 2002
+++ Makefile Fri Sep 3 14:53:40 2004
@@ -8,13 +8,13 @@
# The MOUNT_TYPE definition sets the default file system type for -mount.
#
HAVE_GZIP = 1
-HAVE_LINUX_ATTR = 1
-HAVE_LINUX_MOUNT = 1
-HAVE_BSD_MOUNT = 0
-MOUNT_TYPE = '"ext3"'
+HAVE_LINUX_ATTR = 0
+HAVE_LINUX_MOUNT = 0
+HAVE_BSD_MOUNT = 1
+MOUNT_TYPE = '"ufs"'
-CFLAGS = -O3 -Wall -Wmissing-prototypes \
+CFLAGS += -Wall -Wmissing-prototypes \
-DHAVE_GZIP=$(HAVE_GZIP) \
-DHAVE_LINUX_ATTR=$(HAVE_LINUX_ATTR) \
-DHAVE_LINUX_MOUNT=$(HAVE_LINUX_MOUNT) \
@@ -25,13 +25,14 @@
LIBS = -lz
-BINDIR = /bin
-MANDIR = /usr/man/man1
+BINDIR = $(PREFIX)/bin
+MANDIR = $(MANPREFIX)/man/man1
OBJS = sash.o cmds.o cmd_dd.o cmd_ed.o cmd_grep.o cmd_ls.o cmd_tar.o \
cmd_gzip.o cmd_find.o cmd_file.o cmd_chattr.o cmd_ar.o utils.o
+all: sash
sash: $(OBJS)
$(CC) $(LDFLAGS) -o sash $(OBJS) $(LIBS)

View File

@ -1,41 +0,0 @@
--- Makefile.orig Sat Sep 25 01:21:56 1999
+++ Makefile Sat Jan 22 21:52:23 2000
@@ -5,13 +5,26 @@
# The HAVE_EXT2 definition adds the -chattr and -lsattr comamnds.
#
-CFLAGS = -O3 -Wall -Wmissing-prototypes -DHAVE_GZIP -DHAVE_EXT2
+CFLAGS += -Wall -Wmissing-prototypes $(OPTS)
LDFLAGS = -static -s
LIBS = -lz
-BINDIR = /bin
-MANDIR = /usr/man/man1
+## FreeBSD: add/remove components as needed. HAVE_EXT2 doesn't work
+## for us...
+OPTS+=-DHAVE_AR
+OPTS+=-DHAVE_DD
+OPTS+=-DHAVE_ED
+OPTS+=-DHAVE_FILE
+OPTS+=-DHAVE_FIND
+OPTS+=-DHAVE_GREP
+OPTS+=-DHAVE_GZIP
+OPTS+=-DHAVE_LS
+OPTS+=-DHAVE_TAR
+
+
+BINDIR = $(PREFIX)/bin
+MANDIR = $(PREFIX)/man/man1
OBJS = sash.o cmds.o cmd_dd.o cmd_ed.o cmd_grep.o cmd_ls.o cmd_tar.o \
@@ -20,6 +33,8 @@
sash: $(OBJS)
$(CC) $(LDFLAGS) -o sash $(OBJS) $(LIBS)
+
+all: sash
clean:
rm -f $(OBJS) sash

View File

@ -1,33 +0,0 @@
diff -NPru README.FreeBSD.orig README.FreeBSD
--- README.FreeBSD.orig Thu Jan 1 01:00:00 1970
+++ README.FreeBSD Sun Jan 23 00:03:20 2000
@@ -0,0 +1,29 @@
+This is a port of SASH to FreeBSD 4.0. Here are the differences to
+the original version:
+
+* The Makefile was rewritten to make use of standard BSD makefiles.
+ This helps integrating SASH into binaries built with crunchgen.
+
+* This port contains only a subset of 'mount -t type' commands. The
+ types that are supported are:
+
+ ufs,msdos,ext2fs,cd9660
+
+ (the naming follows standard mount(8) command in FreeBSD).
+
+ However, the only supported options for mounting are either read/write
+ (default, except for cd9660), read-only, or updating the mount
+ (NOTE: the original code uses '-m', but I changed it to '-u'
+ to be consistent with standard FreeBSD mount(8) ).
+
+ Also, the built-in mount command doesn't even attempt to autoload
+ requested vfs KLD, if it's not present in the kernel. In such
+ case, the mount operation will fail.
+
+* The code has been modularized (in similar way it was done for ELKS
+ version), so you can easier select which parts you want to include.
+ See the Makefile for the options.
+
+Andrzej Bialecki
+<abial@FreeBSD.org>
+Stockholm, 22.01.2000

View File

@ -1,19 +0,0 @@
diff -NPru cmd_ar.c.orig cmd_ar.c
--- cmd_ar.c.orig Sat Oct 2 12:09:04 1999
+++ cmd_ar.c Sat Jan 22 23:45:10 2000
@@ -13,6 +13,8 @@
* This allows extraction and listing of ar files.
*/
+#ifdef HAVE_AR
+
#include <ar.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -1007,5 +1009,6 @@
arch->name);
}
+#endif /* HAVE_AR */
/* END CODE */

View File

@ -1,20 +0,0 @@
diff -NPru cmd_dd.c.orig cmd_dd.c
--- cmd_dd.c.orig Sun Apr 11 09:31:39 1999
+++ cmd_dd.c Sat Jan 22 23:45:39 2000
@@ -6,6 +6,8 @@
* The "dd" built-in command.
*/
+#ifdef HAVE_DD
+
#include "sash.h"
@@ -346,5 +348,7 @@
return value;
}
+
+#endif /* HAVE_DD */
/* END CODE */

View File

@ -1,20 +0,0 @@
diff -NPru cmd_ed.c.orig cmd_ed.c
--- cmd_ed.c.orig Mon Apr 19 16:57:32 1999
+++ cmd_ed.c Sat Jan 22 23:46:01 2000
@@ -6,6 +6,8 @@
* The "ed" built-in command (much simplified)
*/
+#ifdef HAVE_ED
+
#include "sash.h"
#define USERSIZE 1024 /* max line length typed in by user */
@@ -1432,5 +1434,7 @@
return TRUE;
}
+
+#endif /* HAVE_ED */
/* END CODE */

View File

@ -1,20 +0,0 @@
diff -NPru cmd_file.c.orig cmd_file.c
--- cmd_file.c.orig Sun Apr 11 09:31:39 1999
+++ cmd_file.c Sat Jan 22 23:46:23 2000
@@ -6,6 +6,8 @@
* The "file" built-in command.
*/
+#ifdef HAVE_FILE
+
#include <ctype.h>
#include <errno.h>
#include <sys/types.h>
@@ -229,5 +231,7 @@
return info;
}
+
+#endif /* HAVE_FILE */
/* END CODE */

View File

@ -1,20 +0,0 @@
diff -NPru cmd_find.c.orig cmd_find.c
--- cmd_find.c.orig Tue Apr 20 00:48:45 1999
+++ cmd_find.c Sat Jan 22 23:47:12 2000
@@ -6,6 +6,8 @@
* The "find" built-in command.
*/
+#ifdef HAVE_FIND
+
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
@@ -370,5 +372,7 @@
*/
return TRUE;
}
+
+#endif /* HAVE_FIND */
/* END CODE */

View File

@ -1,20 +0,0 @@
diff -NPru cmd_grep.c.orig cmd_grep.c
--- cmd_grep.c.orig Sun Apr 11 09:31:39 1999
+++ cmd_grep.c Sat Jan 22 23:47:32 2000
@@ -6,6 +6,8 @@
* The "grep" built-in command.
*/
+#ifdef HAVE_GREP
+
#include <ctype.h>
#include "sash.h"
@@ -187,5 +189,7 @@
string++;
}
}
+
+#endif /* HAVE_GREP */
/* END CODE */

View File

@ -1,11 +0,0 @@
diff -NPru cmd_gzip.c.orig cmd_gzip.c
--- cmd_gzip.c.orig Tue Apr 20 13:46:17 1999
+++ cmd_gzip.c Sat Jan 22 23:47:44 2000
@@ -666,6 +666,6 @@
}
-#endif
+#endif /* HAVE_GZIP */
/* END CODE */

View File

@ -1,20 +0,0 @@
diff -NPru cmd_ls.c.orig cmd_ls.c
--- cmd_ls.c.orig Wed Jun 16 13:01:43 1999
+++ cmd_ls.c Sat Jan 22 23:48:06 2000
@@ -6,6 +6,8 @@
* The "ls" built-in command.
*/
+#ifdef HAVE_LS
+
#include "sash.h"
#include <sys/types.h>
@@ -574,5 +576,7 @@
free(list[listUsed]);
}
}
+
+#endif /* HAVE_LS */
/* END CODE */

View File

@ -1,20 +0,0 @@
diff -NPru cmd_tar.c.orig cmd_tar.c
--- cmd_tar.c.orig Sun Apr 18 14:33:59 1999
+++ cmd_tar.c Sat Jan 22 23:48:24 2000
@@ -7,6 +7,8 @@
* This allows creation, extraction, and listing of tar files.
*/
+#ifdef HAVE_TAR
+
#include "sash.h"
#include <sys/types.h>
@@ -1229,5 +1231,7 @@
return FALSE;
}
+
+#endif /* HAVE_TAR */
/* END CODE */

View File

@ -1,141 +0,0 @@
--- cmds.c.orig Thu Jun 3 14:42:39 1999
+++ cmds.c Sat Nov 30 14:55:20 2002
@@ -6,17 +6,22 @@
* Most simple built-in commands are here.
*/
-#include "sash.h"
-
#include <sys/types.h>
#include <sys/stat.h>
+#ifdef __FreeBSD__
+#include <sys/param.h>
+#endif
#include <sys/mount.h>
#include <signal.h>
#include <pwd.h>
#include <grp.h>
#include <utime.h>
#include <errno.h>
+#ifdef linux
#include <linux/fs.h>
+#endif
+
+#include "sash.h"
void
@@ -501,19 +506,38 @@
}
}
+#ifdef __FreeBSD__
+#include <ufs/ufs/ufsmount.h>
+#include <isofs/cd9660/cd9660_mount.h>
+#if __FreeBSD_version >= 500019
+#include <fs/msdosfs/msdosfsmount.h>
+#else
+#include <msdosfs/msdosfsmount.h>
+#endif
+#endif
void
do_mount(int argc, const char ** argv)
{
- const char * str;
- const char * type;
- int flags;
+ const char * str;
+ const char * type;
+#ifdef __FreeBSD__
+ u_long flags=0;
+ struct ufs_args ufs;
+ struct msdosfs_args msdos;
+ struct iso_args iso;
+ void *args;
+#else
+ int flags=MS_MGC_VAL;
+#endif
argc--;
argv++;
+#ifdef linux
type = "ext2";
- flags = MS_MGC_VAL;
-
+#else
+ type = "ufs";
+#endif
while ((argc > 0) && (**argv == '-'))
{
argc--;
@@ -533,6 +557,7 @@
argc--;
break;
+#ifdef linux
case 'r':
flags |= MS_RDONLY;
break;
@@ -540,6 +565,16 @@
case 'm':
flags |= MS_REMOUNT;
break;
+#endif
+#ifdef __FreeBSD__
+ case 'r':
+ flags |= MNT_RDONLY;
+ break;
+
+ case 'u':
+ flags |= MNT_UPDATE;
+ break;
+#endif
default:
fprintf(stderr, "Unknown option\n");
@@ -555,15 +590,44 @@
return;
}
+#ifdef linux
if (mount(argv[0], argv[1], type, flags, 0) < 0)
perror("mount failed");
+#endif
+#ifdef __FreeBSD__
+ /* Select type of struct args */
+ if(strcmp(type,"ufs")==0) {
+ ufs.fspec=argv[0];
+ args=&ufs;
+ } else if(strcmp(type,"msdos")==0) {
+ msdos.fspec=argv[0];
+ args=&msdos;
+ } else if(strcmp(type,"ext2fs")==0) {
+ ufs.fspec=argv[0];
+ args=&ufs;
+ } else if(strcmp(type,"cd9660")==0) {
+ iso.fspec=argv[0];
+ flags|=MNT_RDONLY;
+ args=&iso;
+ } else {
+ fprintf(stderr,"Unsupported FS type %s\n",type);
+ return;
+ }
+ if(mount(type,argv[1],flags,args)!=0) {
+ perror("mount failed");
+ }
+#endif
}
void
do_umount(int argc, const char ** argv)
{
+#ifdef __FreeBSD__
+ if (unmount(argv[1],0) < 0)
+#else
if (umount(argv[1]) < 0)
+#endif
perror(argv[1]);
}

View File

@ -1,115 +0,0 @@
diff -NPru sash.c.orig sash.c
--- sash.c.orig Sat Sep 25 06:03:51 1999
+++ sash.c Sat Jan 22 23:50:57 2000
@@ -57,11 +57,13 @@
""
},
+#ifdef HAVE_AR
{
"-ar", do_ar, 3, INFINITE_ARGS,
"Extract or list files from an AR file",
"[txp]v arFileName fileName ..."
},
+#endif
{
"cd", do_cd, 1, 2,
@@ -107,11 +109,13 @@
"srcName ... destName"
},
+#ifdef HAVE_DD
{
"-dd", do_dd, 3, INFINITE_ARGS,
"Copy data between two files",
"if=name of=name [bs=n] [count=n] [skip=n] [seek=n]"
},
+#endif
{
"-echo", do_echo, 1, INFINITE_ARGS,
@@ -119,11 +123,13 @@
"[args] ..."
},
+#ifdef HAVE_ED
{
"-ed", do_ed, 1, 2,
"Edit a fileName using simple line mode commands",
"[fileName]"
},
+#endif
{
"exec", do_exec, 2, INFINITE_ARGS,
@@ -137,23 +143,29 @@
""
},
+#ifdef HAVE_FILE
{
"-file", do_file, 1, INFINITE_ARGS,
"Describe information about files",
"fileName ..."
},
+#endif
+#ifdef HAVE_FIND
{
"-find", do_find, 2, INFINITE_ARGS,
"Find files in a directory tree meeting some conditions",
"dirName [-xdev] [-type chars] [-name pattern] [-size minSize]"
},
+#endif
+#ifdef HAVE_GREP
{
"-grep", do_grep, 3, INFINITE_ARGS,
"Look for lines containing a word in some files",
"[-in] word fileName ..."
},
+#endif
#ifdef HAVE_GZIP
{
@@ -187,11 +199,13 @@
"[-s] srcName ... destName"
},
+#ifdef HAVE_LS
{
"-ls", do_ls, 1, INFINITE_ARGS,
"List information about files or directories",
"[-lidFC] fileName ..."
},
+#endif
#ifdef HAVE_EXT2
{
@@ -222,7 +236,11 @@
{
"-mount", do_mount, 3, INFINITE_ARGS,
"Mount or remount a filesystem on a directory",
+#ifdef __FreeBSD__
+ "[-t type] [-r] [-u] devName dirName"
+#else
"[-t type] [-r] [-m] devName dirName"
+#endif
},
{
@@ -291,11 +309,13 @@
""
},
+#ifdef HAVE_TAR
{
"-tar", do_tar, 2, INFINITE_ARGS,
"Create, extract, or list files from a TAR file",
"[cxtv]f tarFileName fileName ..."
},
+#endif
{
"-touch", do_touch, 2, INFINITE_ARGS,

View File

@ -1,13 +0,0 @@
diff -NPru sash.h.orig sash.h
--- sash.h.orig Sat Sep 25 06:03:51 1999
+++ sash.h Sat Jan 22 19:38:16 2000
@@ -16,7 +16,9 @@
#include <fcntl.h>
#include <string.h>
#include <memory.h>
+#ifndef __FreeBSD__
#include <malloc.h>
+#endif
#include <time.h>
#include <ctype.h>

View File

@ -0,0 +1,20 @@
--- cmd_ls.c.orig Fri Sep 3 15:18:46 2004
+++ cmd_ls.c Fri Sep 3 15:19:18 2004
@@ -380,7 +380,7 @@
*/
if (flags & LSF_INODE)
{
- sprintf(cp, "%7ld ", statBuf->st_ino);
+ sprintf(cp, "%7d ", statBuf->st_ino);
cp += strlen(cp);
}
@@ -434,7 +434,7 @@
((unsigned long) statBuf->st_rdev) & 0xff);
}
else
- sprintf(cp, "%8ld ", statBuf->st_size);
+ sprintf(cp, "%8lld ", statBuf->st_size);
cp += strlen(cp);

View File

@ -0,0 +1,93 @@
--- cmds.c.orig Mon Jul 22 00:28:19 2002
+++ cmds.c Fri Sep 3 16:35:01 2004
@@ -17,6 +17,18 @@
#include <utime.h>
#include <errno.h>
+#if __FreeBSD__
+#include <ufs/ufs/ufsmount.h>
+#include <isofs/cd9660/cd9660_mount.h>
+#if __FreeBSD_version >= 500019
+#include <fs/msdosfs/msdosfsmount.h>
+#include <fs/ntfs/ntfsmount.h>
+#else
+#include <msdosfs/msdosfsmount.h>
+#include <ntfs/ntfsmount.h>
+#endif
+#endif
+
#if HAVE_LINUX_MOUNT
#include <linux/fs.h>
#endif
@@ -564,6 +576,10 @@
flags |= MNT_RDONLY;
break;
+ case 'u':
+ flags |= MNT_UPDATE;
+ break;
+
case 's':
flags |= MNT_NOSUID;
break;
@@ -594,35 +610,47 @@
#elif HAVE_BSD_MOUNT
{
struct ufs_args ufs;
- struct adosfs_args adosfs;
struct iso_args iso;
- struct mfs_args mfs;
struct msdosfs_args msdosfs;
+ struct ntfs_args ntfs;
void * args;
if(!strcmp(type, "ffs") || !strcmp(type, "ufs")) {
+ memset(&ufs, 0, sizeof(ufs));
ufs.fspec = (char*) argv[0];
args = &ufs;
- } else if(!strcmp(type, "adosfs")) {
- adosfs.fspec = (char*) argv[0];
- adosfs.uid = 0;
- adosfs.gid = 0;
- args = &adosfs;
} else if(!strcmp(type, "cd9660")) {
+ memset(&iso, 0, sizeof(iso));
iso.fspec = (char*) argv[0];
args = &iso;
- } else if(!strcmp(type, "mfs")) {
- mfs.fspec = (char*) argv[0];
- args = &mfs;
+ } else if(!strcmp(type, "ext2fs")) {
+ memset(&ufs, 0, sizeof(ufs));
+ ufs.fspec = (char*) argv[0];
+ args = &ufs;
} else if(!strcmp(type, "msdos")) {
+ memset(&msdosfs, 0, sizeof(msdosfs));
msdosfs.fspec = (char*) argv[0];
- msdosfs.uid = 0;
- msdosfs.gid = 0;
+ if (flags & MNT_RDONLY) {
+ msdosfs.export.ex_flags = MNT_EXRDONLY;
+ msdosfs.mask = msdosfs.dirmask = 0555;
+ } else {
+ msdosfs.mask = msdosfs.dirmask = 7555;
+ }
args = &msdosfs;
+ } else if(!strcmp(type, "ntfs")) {
+ memset(&ntfs, 0, sizeof(ntfs));
+ ntfs.fspec = (char*) argv[0];
+ if (flags & MNT_RDONLY) {
+ ntfs.export.ex_flags = MNT_EXRDONLY;
+ ntfs.mode = 0555;
+ } else {
+ ntfs.mode = 0755;
+ }
+ args = &ntfs;
} else {
fprintf(stderr, "Unknown filesystem type: %s", type);
fprintf(stderr,
- "Supported: ffs ufs adosfs cd9660 mfs msdos\n");
+ "Supported: ffs ufs cd9660 ext2fs msdos ntfs\n");
return;
}

View File

@ -0,0 +1,11 @@
--- sash.h.orig Mon Jul 22 00:05:17 2002
+++ sash.h Fri Sep 3 15:27:16 2004
@@ -18,7 +18,7 @@
#include <time.h>
#include <ctype.h>
-#if __OpenBSD__
+#if __FreeBSD__ || __OpenBSD__
#include <sys/param.h>
#endif