Upgrade to version 1.5 using code from archivers/star-devel; also install srmt and tartest.

This commit is contained in:
Jimmy Olgeni 2009-02-07 20:44:18 +00:00
parent 73fa89430b
commit 8829ed8aaa
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=227771
12 changed files with 141 additions and 430 deletions

View file

@ -7,39 +7,66 @@
#
PORTNAME= star
PORTVERSION= 1.4.3
PORTREVISION= 1
DISTVERSION= 1.5
CATEGORIES= archivers
MASTER_SITES= ftp://ftp.berlios.de/pub/star/
MAINTAINER= olgeni@FreeBSD.org
COMMENT= Unique standard tape archiver with many enhancements
CONFLICTS= star-1.5*
BUILD_DEPENDS= ${LOCALBASE}/bin/smake:${PORTSDIR}/devel/smake
USE_BZIP2= yes
USE_GMAKE= yes
MAKE_ENV= LANG=C MAKEPROG=gmake CCOM=${CC}
MAN1= star.1
MLINKS= star.1 ustar.1
USE_GETTEXT= yes
USE_ICONV= yes
.include <bsd.port.pre.mk>
.if ${OSVERSION} >= 800032
BROKEN= does not compile
.if !defined(NO_INSTALL_MANPAGES)
MAN1= star.1 srmt.1 tartest.1
MAN5= star.5
MLINKS= star.1 ustar.1 star.5 ustar.5
.else
XMKFLAGS= XMK_FILE=""
.endif
post-extract:
.if ${MACHINE_ARCH} != "i386" || ${CC} != "cc"
@${LN} -sf i386-freebsd-cc.rul \
${WRKSRC}/RULES/${MACHINE_ARCH}-freebsd-${CC}.rul
.endif
MAKE_ENV+= MAKEFLAGS=${MAKEFLAGS}
PORTDOCS= README README.crash README.mtio README.pattern STARvsGNUTAR \
README.ACL README.largefiles README.otherbugs \
README.posix-2001
post-patch:
@${FIND} ${WRKSRC} -type f -print \
| ${XARGS} ${REINPLACE_CMD} -e "s@/etc/default@${PREFIX}/etc@g"
@${MV} -v ${WRKSRC}/rmt/rmt.1 ${WRKSRC}/rmt/srmt.1
do-build:
@cd ${WRKSRC} && ${MAKE_ENV} ${LOCALBASE}/bin/smake
@cd ${WRKSRC}/star && ${MAKE_ENV} ${LOCALBASE}/bin/smake -f Makefile.doc
do-install:
@${INSTALL_PROGRAM} \
${WRKSRC}/star/OBJ/${MACHINE_ARCH}-freebsd-${CC}/star \
${PREFIX}/bin
@cd ${PREFIX}/bin ; ${LN} -f star ustar
@${INSTALL_MAN} ${WRKSRC}/star/star.1 ${MANPREFIX}/man/man1
@cd ${WRKSRC}/star && ${MAKE_ENV} ${LOCALBASE}/bin/smake \
${INSTALL_TARGET} INS_BASE=${PREFIX} ${XMKFLAGS}
@cd ${WRKSRC}/rmt && ${MAKE_ENV} ${LOCALBASE}/bin/smake \
${INSTALL_TARGET} INS_BASE=${PREFIX} ${XMKFLAGS}
@cd ${WRKSRC}/tartest && ${MAKE_ENV} ${LOCALBASE}/bin/smake \
${INSTALL_TARGET} INS_BASE=${PREFIX} ${XMKFLAGS}
@${STRIP_CMD} ${PREFIX}/bin/star
@${STRIP_CMD} ${PREFIX}/sbin/srmt
@${STRIP_CMD} ${PREFIX}/bin/tartest
@${INSTALL_DATA} ${WRKSRC}/star/star.dfl ${PREFIX}/etc/star.sample
@if [ ! -f ${PREFIX}/etc/star ]; then \
${CP} -p ${PREFIX}/etc/star.sample ${PREFIX}/etc/star; \
fi
@${INSTALL_DATA} ${WRKSRC}/rmt/rmt.dfl ${PREFIX}/etc/rmt.sample
@if [ ! -f ${PREFIX}/etc/rmt ]; then \
${CP} -p ${PREFIX}/etc/rmt.sample ${PREFIX}/etc/rmt; \
fi
.include <bsd.port.post.mk>
post-install:
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
.for FILE in ${PORTDOCS}
@${INSTALL_DATA} ${WRKSRC}/star/${FILE} ${DOCSDIR}/${FILE}
.endfor
.endif
.include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
MD5 (star-1.4.3.tar.bz2) = e0760d494c1962d9d784d0c4378d40df
SHA256 (star-1.4.3.tar.bz2) = 41a6f6583aeea358286315845e577d6e46fd52618cc38552329ac629a8e11086
SIZE (star-1.4.3.tar.bz2) = 428795
MD5 (star-1.5.tar.bz2) = a7b1a5e830935cc1bf1001a558c7f8c4
SHA256 (star-1.5.tar.bz2) = 6dbb345d75c88d70ebdea04b13b80d7f3e9cf5d29316d803a355afd03df2723f
SIZE (star-1.5.tar.bz2) = 783704

View file

@ -1,17 +0,0 @@
$FreeBSD$
--- RULES/rules.cnf.orig Sun Jul 21 02:26:12 2002
+++ RULES/rules.cnf Sun Jul 21 02:27:02 2002
@@ -33,8 +33,9 @@
#
# Hack until the <mach>-<os>-*cc.rul files are updated
#
-_HCCCOM= $(OARCH:%-gcc=gcc)
-HCCCOM= $(_HCCCOM:%-cc=cc)
+#_HCCCOM= $(OARCH:%-gcc=gcc)
+#HCCCOM= $(_HCCCOM:%-cc=cc)
+HCCCOM= $(C_ARCH)
_CCCOM= $(_UNIQ)$(CCCOM)
__CCCOM= $(_CCCOM:$(_UNIQ)=$(HCCCOM))

View file

@ -1,39 +0,0 @@
--- RULES/i386-freebsd-cc.rul.orig Wed Oct 16 05:43:39 2002
+++ RULES/i386-freebsd-cc.rul Tue Nov 26 03:09:44 2002
@@ -24,7 +24,7 @@
###########################################################################
CPPFLAGS= $(CPPOPTS) $(CPPOPTX)
-CFLAGS= $(COPTS) $(CWARNOPTS) $(COPTOPT) $(GCCOPTOPT) $(COPTX)
+CFLAGS+= -static $(COPTS) $(CWARNOPTS) $(COPTX)
CPPOPTS= -I. -I$(ARCHDIR) -I$(OINCSDIR) $(INCDIRS:%=-I%) $(OSDEFS)
COPTS=
@@ -47,7 +47,7 @@
LIBS_PATH= -L$(OLIBSDIR)
-LDFLAGS= $(LDOPTS) $(LDOPTX)
+LDFLAGS+= -static $(LDOPTS) $(LDOPTX)
LDLIBS= $(LIBS) $(LIBX)
#LDOPTS= $(LIBS_PATH) $(LDPATH) $(RUNPATH)
@@ -57,14 +57,14 @@
FLOAT_OPTIONS=
-CC= @echo " ==> COMPILING \"$@\""; gcc
-LDCC= @echo " ==> LINKING \"$@\""; gcc
-DYNLD= @echo " ==> LINKING dynamic library \"$@\""; gcc
+CC= @echo " ==> COMPILING \"$@\""; ${CCOM}
+LDCC= @echo " ==> LINKING \"$@\""; ${CCOM}
+DYNLD= @echo " ==> LINKING dynamic library \"$@\""; ${CCOM}
RANLIB= @echo " ==> RANDOMIZING ARCHIVE \"$@\""; ranlib
ARFLAGS= cr
LORDER= lorder
TSORT= tsort
RMDEP= :
-MKDEP= @echo " ==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); gcc -M
+MKDEP= @echo " ==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); ${CCOM} -M
MKDEP_OUT=

View file

@ -1,331 +0,0 @@
--- star/star.c.orig Fri Nov 15 19:39:13 2002
+++ star/star.c Tue Nov 26 03:03:34 2002
@@ -500,14 +500,16 @@
susage(ret)
int ret;
{
- error("Usage:\t%s cmd [options] file1 ... filen\n", get_progname());
- error("\nUse\t%s -help\n", get_progname());
- error("and\t%s -xhelp\n", get_progname());
- error("to get a list of valid cmds and options.\n");
- error("\nUse\t%s H=help\n", get_progname());
- error("to get a list of valid archive header formats.\n");
- error("\nUse\t%s diffopts=help\n", get_progname());
- error("to get a list of valid diff options.\n");
+ FILE *fp = ret ? stderr : stdout;
+
+ fprintf(fp, "Usage:\t%s cmd [options] file1 ... filen\n", get_progname());
+ fprintf(fp, "\nUse\t%s -help\n", get_progname());
+ fprintf(fp, "and\t%s -xhelp\n", get_progname());
+ fprintf(fp, "to get a list of valid cmds and options.\n");
+ fprintf(fp, "\nUse\t%s H=help\n", get_progname());
+ fprintf(fp, "to get a list of valid archive header formats.\n");
+ fprintf(fp, "\nUse\t%s diffopts=help\n", get_progname());
+ fprintf(fp, "to get a list of valid diff options.\n");
exit(ret);
/* NOTREACHED */
}
@@ -516,48 +518,50 @@
usage(ret)
int ret;
{
- error("Usage:\t%s cmd [options] file1 ... filen\n", get_progname());
- error("Cmd:\n");
- error("\t-c/-u/-r\tcreate/update/replace named files to tape\n");
- error("\t-x/-t/-n\textract/list/trace named files from tape\n");
- error("\t-diff\t\tdiff archive against file system (see -xhelp)\n");
- error("Options:\n");
- error("\t-help\t\tprint this help\n");
- error("\t-xhelp\t\tprint extended help\n");
- error("\t-version\tprint version information and exit\n");
- error("\tblocks=#,b=#\tset blocking factor to #x512 Bytes (default 20)\n");
- error("\tfile=nm,f=nm\tuse 'nm' as tape instead of stdin/stdout\n");
- error("\t-T\t\tuse $TAPE as tape instead of stdin/stdout\n");
+ FILE *fp = ret ? stderr : stdout;
+
+ fprintf(fp, "Usage:\t%s cmd [options] file1 ... filen\n", get_progname());
+ fprintf(fp, "Cmd:\n");
+ fprintf(fp, "\t-c/-u/-r\tcreate/update/replace named files to tape\n");
+ fprintf(fp, "\t-x/-t/-n\textract/list/trace named files from tape\n");
+ fprintf(fp, "\t-diff\t\tdiff archive against file system (see -xhelp)\n");
+ fprintf(fp, "Options:\n");
+ fprintf(fp, "\t-help\t\tprint this help\n");
+ fprintf(fp, "\t-xhelp\t\tprint extended help\n");
+ fprintf(fp, "\t-version\tprint version information and exit\n");
+ fprintf(fp, "\tblocks=#,b=#\tset blocking factor to #x512 Bytes (default 20)\n");
+ fprintf(fp, "\tfile=nm,f=nm\tuse 'nm' as tape instead of stdin/stdout\n");
+ fprintf(fp, "\t-T\t\tuse $TAPE as tape instead of stdin/stdout\n");
#ifdef FIFO
- error("\t-fifo/-no-fifo\tuse/don't use a fifo to optimize data flow from/to tape\n");
+ fprintf(fp, "\t-fifo/-no-fifo\tuse/don't use a fifo to optimize data flow from/to tape\n");
#if defined(USE_MMAP) && defined(USE_USGSHM)
- error("\t-shm\t\tuse SysV shared memory for fifo\n");
+ fprintf(fp, "\t-shm\t\tuse SysV shared memory for fifo\n");
#endif
#endif
- error("\t-v\t\tincrement verbose level\n");
- error("\t-block-number\tprint the block numbers where the TAR headers start\n");
- error("\t-tpath\t\tuse with -t to list path names only\n");
- error("\tH=header\tgenerate 'header' type archive (see H=help)\n");
- error("\tC=dir\t\tperform a chdir to 'dir' before storing next file\n");
- error("\t-z\t\tpipe input/output through gzip, does not work on tapes\n");
- error("\t-bz\t\tpipe input/output through bzip2, does not work on tapes\n");
- error("\t-B\t\tperform multiple reads (needed on pipes)\n");
- error("\t-i\t\tignore checksum errors\n");
- error("\t-d\t\tdo not store/create directories\n");
- error("\t-m\t\tdo not restore access and modification time\n");
- error("\t-o,-nochown\tdo not restore owner and group\n");
- error("\t-a,-atime\treset access time after storing file\n");
- error("\t-p\t\trestore filemodes of directories\n");
- error("\t-l\t\tdo not print a message if not all links are dumped\n");
- error("\t-h,-L\t\tfollow symbolic links as if they were files\n");
- error("\t-D\t\tdo not descend directories\n");
- error("\t-M\t\tdo not descend mounting points\n");
- error("\t-I,-w\t\tdo interactive creation/extraction/renaming\n");
- error("\t-O\t\tbe compatible to old tar (except for checksum bug)\n");
- error("\t-P\t\tlast record may be partial (useful on cartridge tapes)\n");
- error("\t-S\t\tdo not store/create special files\n");
- error("\t-F,-FF,-FFF,...\tdo not store/create SCCS/RCS, core and object files\n");
- error("\t-U\t\trestore files unconditionally\n");
+ fprintf(fp, "\t-v\t\tincrement verbose level\n");
+ fprintf(fp, "\t-block-number\tprint the block numbers where the TAR headers start\n");
+ fprintf(fp, "\t-tpath\t\tuse with -t to list path names only\n");
+ fprintf(fp, "\tH=header\tgenerate 'header' type archive (see H=help)\n");
+ fprintf(fp, "\tC=dir\t\tperform a chdir to 'dir' before storing next file\n");
+ fprintf(fp, "\t-z\t\tpipe input/output through gzip, does not work on tapes\n");
+ fprintf(fp, "\t-bz\t\tpipe input/output through bzip2, does not work on tapes\n");
+ fprintf(fp, "\t-B\t\tperform multiple reads (needed on pipes)\n");
+ fprintf(fp, "\t-i\t\tignore checksum errors\n");
+ fprintf(fp, "\t-d\t\tdo not store/create directories\n");
+ fprintf(fp, "\t-m\t\tdo not restore access and modification time\n");
+ fprintf(fp, "\t-o,-nochown\tdo not restore owner and group\n");
+ fprintf(fp, "\t-a,-atime\treset access time after storing file\n");
+ fprintf(fp, "\t-p\t\trestore filemodes of directories\n");
+ fprintf(fp, "\t-l\t\tdo not print a message if not all links are dumped\n");
+ fprintf(fp, "\t-h,-L\t\tfollow symbolic links as if they were files\n");
+ fprintf(fp, "\t-D\t\tdo not descend directories\n");
+ fprintf(fp, "\t-M\t\tdo not descend mounting points\n");
+ fprintf(fp, "\t-I,-w\t\tdo interactive creation/extraction/renaming\n");
+ fprintf(fp, "\t-O\t\tbe compatible to old tar (except for checksum bug)\n");
+ fprintf(fp, "\t-P\t\tlast record may be partial (useful on cartridge tapes)\n");
+ fprintf(fp, "\t-S\t\tdo not store/create special files\n");
+ fprintf(fp, "\t-F,-FF,-FFF,...\tdo not store/create SCCS/RCS, core and object files\n");
+ fprintf(fp, "\t-U\t\trestore files unconditionally\n");
exit(ret);
/* NOTREACHED */
}
@@ -566,69 +570,71 @@
xusage(ret)
int ret;
{
- error("Usage:\t%s cmd [options] file1 ... filen\n", get_progname());
- error("Extended options:\n");
- error("\tdiffopts=optlst\tcomma separated list of diffopts (see diffopts=help)\n");
- error("\t-debug\t\tprint additional debug messages\n");
- error("\t-silent\t\tno not print informational messages\n");
- error("\t-not,-V\t\tuse those files which do not match pattern\n");
- error("\tVOLHDR=name\tuse name to generate a volume header\n");
- error("\t-xdir\t\textract dir even if the current is never\n");
- error("\t-dirmode\t\twrite directories after the files they contain\n");
- error("\t-link-dirs\tlook for hard linked directories in create mode\n");
- error("\t-dump\t\texperimental option for incremental dumps (more ino metadata)\n");
- error("\t-meta\t\texperimental option to use inode metadata only\n");
- error("\t-keep-old-files,-k\tkeep existing files\n");
- error("\t-refresh-old-files\trefresh existing files, don't create new files\n");
- error("\t-refresh\trefresh existing files, don't create new files\n");
- error("\t-/\t\tdon't strip leading '/'s from file names\n");
- error("\tlist=name\tread filenames from named file\n");
- error("\t-dodesc\t\tdo descend directories found in a list= file\n");
- error("\tpattern=p,pat=p\tset matching pattern\n");
- error("\tmaxsize=#\tdo not store file if bigger than # (default mult is kB)\n");
- error("\tnewer=name\tstore only files which are newer than 'name'\n");
- error("\tnew-volume-script=script\tcall 'scipt' at end of each volume\n");
- error("\t-ctime\t\tuse ctime for newer= option\n");
- error("\t-nodump\t\tdo not dump files that have the nodump flag set\n");
- error("\t-acl\t\thandle access control lists\n");
- error("\t-xfflags\t\thandle extended file flags\n");
- error("\tbs=#\t\tset (output) block size to #\n");
+ FILE *fp = ret ? stderr : stdout;
+
+ fprintf(fp, "Usage:\t%s cmd [options] file1 ... filen\n", get_progname());
+ fprintf(fp, "Extended options:\n");
+ fprintf(fp, "\tdiffopts=optlst\tcomma separated list of diffopts (see diffopts=help)\n");
+ fprintf(fp, "\t-debug\t\tprint additional debug messages\n");
+ fprintf(fp, "\t-silent\t\tno not print informational messages\n");
+ fprintf(fp, "\t-not,-V\t\tuse those files which do not match pattern\n");
+ fprintf(fp, "\tVOLHDR=name\tuse name to generate a volume header\n");
+ fprintf(fp, "\t-xdir\t\textract dir even if the current is never\n");
+ fprintf(fp, "\t-dirmode\t\twrite directories after the files they contain\n");
+ fprintf(fp, "\t-link-dirs\tlook for hard linked directories in create mode\n");
+ fprintf(fp, "\t-dump\t\texperimental option for incremental dumps (more ino metadata)\n");
+ fprintf(fp, "\t-meta\t\texperimental option to use inode metadata only\n");
+ fprintf(fp, "\t-keep-old-files,-k\tkeep existing files\n");
+ fprintf(fp, "\t-refresh-old-files\trefresh existing files, don't create new files\n");
+ fprintf(fp, "\t-refresh\trefresh existing files, don't create new files\n");
+ fprintf(fp, "\t-/\t\tdon't strip leading '/'s from file names\n");
+ fprintf(fp, "\tlist=name\tread filenames from named file\n");
+ fprintf(fp, "\t-dodesc\t\tdo descend directories found in a list= file\n");
+ fprintf(fp, "\tpattern=p,pat=p\tset matching pattern\n");
+ fprintf(fp, "\tmaxsize=#\tdo not store file if bigger than # (default mult is kB)\n");
+ fprintf(fp, "\tnewer=name\tstore only files which are newer than 'name'\n");
+ fprintf(fp, "\tnew-volume-script=script\tcall 'scipt' at end of each volume\n");
+ fprintf(fp, "\t-ctime\t\tuse ctime for newer= option\n");
+ fprintf(fp, "\t-nodump\t\tdo not dump files that have the nodump flag set\n");
+ fprintf(fp, "\t-acl\t\thandle access control lists\n");
+ fprintf(fp, "\t-xfflags\t\thandle extended file flags\n");
+ fprintf(fp, "\tbs=#\t\tset (output) block size to #\n");
#ifdef FIFO
- error("\tfs=#\t\tset fifo size to #\n");
+ fprintf(fp, "\tfs=#\t\tset fifo size to #\n");
#endif
- error("\ttsize=#\t\tset tape volume size to # (default multiplier is 512)\n");
- error("\t-qic24\t\tset tape volume size to %d kBytes\n",
+ fprintf(fp, "\ttsize=#\t\tset tape volume size to # (default multiplier is 512)\n");
+ fprintf(fp, "\t-qic24\t\tset tape volume size to %d kBytes\n",
TSIZE(QIC_24_TSIZE)/1024);
- error("\t-qic120\t\tset tape volume size to %d kBytes\n",
+ fprintf(fp, "\t-qic120\t\tset tape volume size to %d kBytes\n",
TSIZE(QIC_120_TSIZE)/1024);
- error("\t-qic150\t\tset tape volume size to %d kBytes\n",
+ fprintf(fp, "\t-qic150\t\tset tape volume size to %d kBytes\n",
TSIZE(QIC_150_TSIZE)/1024);
- error("\t-qic250\t\tset tape volume size to %d kBytes\n",
+ fprintf(fp, "\t-qic250\t\tset tape volume size to %d kBytes\n",
TSIZE(QIC_250_TSIZE)/1024);
- error("\t-nowarn\t\tdo not print warning messages\n");
- error("\t-time\t\tprint timing info\n");
- error("\t-no-statistics\tdo not print statistics\n");
+ fprintf(fp, "\t-nowarn\t\tdo not print warning messages\n");
+ fprintf(fp, "\t-time\t\tprint timing info\n");
+ fprintf(fp, "\t-no-statistics\tdo not print statistics\n");
#ifdef FIFO
- error("\t-fifostats\tprint fifo statistics\n");
+ fprintf(fp, "\t-fifostats\tprint fifo statistics\n");
#endif
- error("\t-numeric\tdon't use user/group name from tape\n");
- error("\t-newest\t\tfind newest file on tape\n");
- error("\t-newest-file\tfind newest regular file on tape\n");
- error("\t-hpdev\t\tuse HP's non POSIX compliant method to store dev numbers\n");
- error("\t-modebits\tinclude all 16 bits from stat.st_mode, this violates POSIX-1003.1\n");
- error("\t-copylinks\tCopy hard and symlinks rather than linking\n");
- error("\t-hardlinks\tExtract symlinks as hardlinks\n");
- error("\t-symlinks\tExtract hardlinks as symlinks\n");
- error("\t-signed-checksum\tuse signed chars to calculate checksum\n");
- error("\t-sparse\t\thandle file with holes effectively on store/create\n");
- error("\t-force-hole\ttry to extract all files with holes\n");
- error("\t-to-stdout\textract files to stdout\n");
- error("\t-wready\t\twait for tape drive to become ready\n");
- error("\t-force-remove\tforce to remove non writable files on extraction\n");
- error("\t-ask-remove\task to remove non writable files on extraction\n");
- error("\t-remove-first\tremove files before extraction\n");
- error("\t-remove-recursive\tremove files recursive\n");
- error("\t-onull,-nullout\tsimulate creating an achive to compute the size\n");
+ fprintf(fp, "\t-numeric\tdon't use user/group name from tape\n");
+ fprintf(fp, "\t-newest\t\tfind newest file on tape\n");
+ fprintf(fp, "\t-newest-file\tfind newest regular file on tape\n");
+ fprintf(fp, "\t-hpdev\t\tuse HP's non POSIX compliant method to store dev numbers\n");
+ fprintf(fp, "\t-modebits\tinclude all 16 bits from stat.st_mode, this violates POSIX-1003.1\n");
+ fprintf(fp, "\t-copylinks\tCopy hard and symlinks rather than linking\n");
+ fprintf(fp, "\t-hardlinks\tExtract symlinks as hardlinks\n");
+ fprintf(fp, "\t-symlinks\tExtract hardlinks as symlinks\n");
+ fprintf(fp, "\t-signed-checksum\tuse signed chars to calculate checksum\n");
+ fprintf(fp, "\t-sparse\t\thandle file with holes effectively on store/create\n");
+ fprintf(fp, "\t-force-hole\ttry to extract all files with holes\n");
+ fprintf(fp, "\t-to-stdout\textract files to stdout\n");
+ fprintf(fp, "\t-wready\t\twait for tape drive to become ready\n");
+ fprintf(fp, "\t-force-remove\tforce to remove non writable files on extraction\n");
+ fprintf(fp, "\t-ask-remove\task to remove non writable files on extraction\n");
+ fprintf(fp, "\t-remove-first\tremove files before extraction\n");
+ fprintf(fp, "\t-remove-recursive\tremove files recursive\n");
+ fprintf(fp, "\t-onull,-nullout\tsimulate creating an achive to compute the size\n");
exit(ret);
/* NOTREACHED */
}
@@ -637,31 +643,33 @@
dusage(ret)
int ret;
{
- error("Diff options:\n");
- error("\tnot\t\tif this option is present, exclude listed options\n");
- error("\t!\t\tif this option is present, exclude listed options\n");
- error("\tall\t\tcompare everything\n");
- error("\tperm\t\tcompare file permissions\n");
- error("\tmode\t\tcompare file permissions\n");
- error("\ttype\t\tcompare file type\n");
- error("\tnlink\t\tcompare linkcount (not supported)\n");
- error("\tuid\t\tcompare owner of file\n");
- error("\tgid\t\tcompare group of file\n");
- error("\tuname\t\tcompare name of owner of file\n");
- error("\tgname\t\tcompare name of group of file\n");
- error("\tid\t\tcompare owner, group, ownername and groupname of file\n");
- error("\tsize\t\tcompare file size\n");
- error("\tdata\t\tcompare content of file\n");
- error("\tcont\t\tcompare content of file\n");
- error("\trdev\t\tcompare rdev of device node\n");
- error("\thardlink\tcompare target of hardlink\n");
- error("\tsymlink\t\tcompare target of symlink\n");
- error("\tatime\t\tcompare access time of file (only star)\n");
- error("\tmtime\t\tcompare modification time of file\n");
- error("\tctime\t\tcompare creation time of file (only star)\n");
- error("\ttimes\t\tcompare all times of file\n");
- error("\n");
- error("Default is to compare everything except atime.\n");
+ FILE *fp = ret ? stderr : stdout;
+
+ fprintf(fp, "Diff options:\n");
+ fprintf(fp, "\tnot\t\tif this option is present, exclude listed options\n");
+ fprintf(fp, "\t!\t\tif this option is present, exclude listed options\n");
+ fprintf(fp, "\tall\t\tcompare everything\n");
+ fprintf(fp, "\tperm\t\tcompare file permissions\n");
+ fprintf(fp, "\tmode\t\tcompare file permissions\n");
+ fprintf(fp, "\ttype\t\tcompare file type\n");
+ fprintf(fp, "\tnlink\t\tcompare linkcount (not supported)\n");
+ fprintf(fp, "\tuid\t\tcompare owner of file\n");
+ fprintf(fp, "\tgid\t\tcompare group of file\n");
+ fprintf(fp, "\tuname\t\tcompare name of owner of file\n");
+ fprintf(fp, "\tgname\t\tcompare name of group of file\n");
+ fprintf(fp, "\tid\t\tcompare owner, group, ownername and groupname of file\n");
+ fprintf(fp, "\tsize\t\tcompare file size\n");
+ fprintf(fp, "\tdata\t\tcompare content of file\n");
+ fprintf(fp, "\tcont\t\tcompare content of file\n");
+ fprintf(fp, "\trdev\t\tcompare rdev of device node\n");
+ fprintf(fp, "\thardlink\tcompare target of hardlink\n");
+ fprintf(fp, "\tsymlink\t\tcompare target of symlink\n");
+ fprintf(fp, "\tatime\t\tcompare access time of file (only star)\n");
+ fprintf(fp, "\tmtime\t\tcompare modification time of file\n");
+ fprintf(fp, "\tctime\t\tcompare creation time of file (only star)\n");
+ fprintf(fp, "\ttimes\t\tcompare all times of file\n");
+ fprintf(fp, "\n");
+ fprintf(fp, "Default is to compare everything except atime.\n");
exit(ret);
/* NOTREACHED */
}
@@ -670,16 +678,18 @@
husage(ret)
int ret;
{
- error("Header types:\n");
- error("\ttar\t\told tar format\n");
- error("\tstar\t\told star format from 1985\n");
- error("\tgnutar\t\tgnu tar format (violates POSIX, use with care)\n");
- error("\tustar\t\tstandard tar (ieee POSIX 1003.1-1988) format\n");
- error("\txstar\t\textended standard tar format (star 1994)\n");
- error("\txustar\t\textended standard tar format without tar signature\n");
- error("\texustar\t\textended standard tar format without tar signature (always x-header)\n");
- error("\tpax\t\textended (ieee POSIX 1003.1-2001) standard tar format\n");
- error("\tsuntar\t\tSun's extended pre-POSIX.1-2001 Solaris 7/8 tar format\n");
+ FILE *fp = ret ? stderr : stdout;
+
+ fprintf(fp, "Header types:\n");
+ fprintf(fp, "\ttar\t\told tar format\n");
+ fprintf(fp, "\tstar\t\told star format from 1985\n");
+ fprintf(fp, "\tgnutar\t\tgnu tar format (violates POSIX, use with care)\n");
+ fprintf(fp, "\tustar\t\tstandard tar (ieee POSIX 1003.1-1988) format\n");
+ fprintf(fp, "\txstar\t\textended standard tar format (star 1994)\n");
+ fprintf(fp, "\txustar\t\textended standard tar format without tar signature\n");
+ fprintf(fp, "\texustar\t\textended standard tar format without tar signature (always x-header)\n");
+ fprintf(fp, "\tpax\t\textended (ieee POSIX 1003.1-2001) standard tar format\n");
+ fprintf(fp, "\tsuntar\t\tSun's extended pre-POSIX.1-2001 Solaris 7/8 tar format\n");
exit(ret);
/* NOTREACHED */
}

View file

@ -1,11 +0,0 @@
--- star/star.1.orig Thu May 9 23:35:20 2002
+++ star/star.1 Tue Jun 11 22:49:17 2002
@@ -15,7 +15,7 @@
.if n .ds s sz
.TH STAR 1 "02/05/09" "J\*org Schilling" "Schily\'s USER COMMANDS"
.SH NAME
-star \- unique standard tape archiver
+star, ustar \- unique standard tape archiver
.SH SYNOPSIS
.B "star\ "
.I command

View file

@ -0,0 +1,21 @@
$FreeBSD$
--- rmt/Makefile.orig
+++ rmt/Makefile
@@ -6,13 +6,13 @@
###########################################################################
INSDIR= sbin
-TARGET= rmt
+TARGET= srmt
CPPOPTS += -DUSE_REMOTE
CPPOPTS += -DUSE_LARGEFILES
CFILES= rmt.c
#HFILES=
LIBS= -ldeflt -lschily $(LIB_SOCKET)
-XMK_FILE= Makefile.man Makefile.dfl Makefile.doc
+XMK_FILE= Makefile.man Makefile.doc
###########################################################################
include $(SRCROOT)/$(RULESDIR)/rules.cmd

View file

@ -0,0 +1,18 @@
$FreeBSD$
--- rmt/Makefile.man.orig
+++ rmt/Makefile.man
@@ -8,10 +8,10 @@
###########################################################################
MANDIR= man
-TARGETMAN= rmt
+TARGETMAN= srmt
MANSECT= $(MANSECT_CMD)
MANSUFFIX= $(MANSUFF_CMD)
-MANFILE= rmt.1
+MANFILE= srmt.1
###########################################################################
include $(SRCROOT)/$(RULESDIR)/rules.man

View file

@ -0,0 +1,21 @@
--- star/Makefile.orig 2008-04-06 20:02:25.000000000 +0200
+++ star/Makefile 2008-05-16 10:49:50.928160632 +0200
@@ -15,7 +15,7 @@
INSDIR= bin
TARGET= star
#SYMLINKS= ustar tar
-SYMLINKS= ustar tar gnutar suntar scpio spax
+SYMLINKS= ustar
CPPOPTS += -D__STAR__
CPPOPTS += -DSET_CTIME -DFIFO -DUSE_MMAP -DUSE_REMOTE -DUSE_RCMD_RSH
#CPPOPTS += -DSET_CTIME -DFIFO -DUSE_MMAP
@@ -52,8 +52,7 @@
#
# Wenn -lfind, dann auch $(LIB_INTL)
#
-XMK_FILE= Makefile.man starformatman.mk scpioman.mk gnutarman.mk \
- spaxman.mk suntarman.mk Makefile.dfl Makefile.doc
+XMK_FILE= Makefile.man starformatman.mk
star_fat.c: star.c
$(RM) $(RM_FORCE) $@; cp star.c $@

View file

@ -0,0 +1,17 @@
--- star/star.1.orig Thu Nov 24 21:05:10 2005
+++ star/star.1 Thu Nov 24 21:06:26 2005
@@ -32,14 +32,6 @@
.I file1 .\|.\|. filen
[\fIfind_expr\fP]
.br
-.ie n .B "tar\ \ "
-.el .B "tar\ \ \ "
-.I command
-[\fIoptions\fP]
-.ie n .B "\ \ \ \ \ \ \ "
-.el .B "\ \ \ \ \ \ \ \ \ "
-.I file1 .\|.\|. filen
-.br
.B "star\ "
.ie n .B "\-copy\ \ "
.el .B "\-copy\ \ \ \ "

View file

@ -1,22 +1,20 @@
star is the fastest known implementation of a tar archiver. star
development started 1982, development is still in progress. The
current version is stable.
Star is the fastest known implementation of a tar archiver.
Main advantages over other tar implementations:
fifo - Keeps the tape streaming.
pattern matcher - For a convenient user interface.
sophisticated diff - User tailorable interface for comparing tar
sophisticated diff - User tailorable interface for comparing tar
archives against file trees.
no namelen limitation - Pathnames up to 1024 Bytes may be archived.
deals with all 3 times - Stores/restores all 3 times of a file.
does not clobber files - More recent copies on disk will not be
does not clobber files - More recent copies on disk will not be
clobbered from tape.
automatic byte swap - star automatically detects swapped archives.
automatic format detect - Automatically detects archive formats:
old tar, gnu tar, ansi tar, star.
fully ansi compatible - star is fully ANSI/Posix 1003.1 compatible.
WWW: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/star.html
WWW: http://cdrecord.berlios.de/old/private/star.html
Author: Joerg Schilling <js@cs.tu-berlin.de>
Please mail bugs and suggestions to him.

View file

@ -1,3 +1,10 @@
@comment $FreeBSD$
bin/star
bin/tartest
bin/ustar
sbin/srmt
@unexec if cmp -s %D/etc/rmt %D/etc/rmt.sample; then rm -f %D/etc/rmt; fi
etc/rmt.sample
@exec [ -f %B/rmt ] || cp %B/%f %B/rmt
@unexec if cmp -s %D/etc/star %D/etc/star.sample; then rm -f %D/etc/star; fi
etc/star.sample
@exec [ -f %B/star ] || cp %B/%f %B/star