Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Jan 2006 04:05:07 -0500 (EST)
From:      "Jeffrey H. Johnson" <CPE1704TKS@bellsouth.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        CPE1704TKS@bellsouth.net
Subject:   ports/92144: [NEW PORT] sysutils/magtape: Generalized magnetic tape handling library and utilities
Message-ID:  <20060122090507.8AE0839833@offworld.cqasys.com>
Resent-Message-ID: <200601220910.k0M9A2Iw070096@freefall.freebsd.org>

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

>Number:         92144
>Category:       ports
>Synopsis:       [NEW PORT] sysutils/magtape: Generalized magnetic tape handling library and utilities
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 22 09:10:01 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Jeffrey H. Johnson
>Release:        FreeBSD 6.0-STABLE i386
>Organization:
>Environment:
System: FreeBSD offworld.cqasys.com 6.0-STABLE FreeBSD 6.0-STABLE #21: Wed Jan 18 22:35:45 EST 2006
>Description:
This is the big daddy of all magtape handling packages.  

I looked for a newer version, but wasn't able to find anything past
this 1982 release.  Many warnings can be easily eliminated -- this
port is being sent to allow out of box compilation and provide a 
needed Y2K fix to the sources.  It works correctly on my systems.

This port will be useful to people using emulators, such as SIMH.

-x-

magtape - a magnetic tape handling package.
       
On the shell level this package offers programs for:

  - getting a quick look at a tape,
  - making exact copies of tapes even if you have only one magtape unit,
  - extracting arbitrary portions from tapes and
  - the reading and writing of ANSI standard labelled tapes.

These programs work equally well on real tapes and on tape images on disk.

On the C-level it supplies routines for handling real tapes and tape 
images on disk as a unified concept (generalized magtape).

If you happen to have a Control Data Cyber around, running SCOPE or 
NOS/BE, "NOSsplit", a program for reading Cyber SI-format tapes, and
"NOStr"  which converts from various Cyber character codes, is provided.

-x-

Generated with FreeBSD Port Tools 0.63
>How-To-Repeat:
>Fix:

--- magtape-19820314.shar begins here ---
# 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:
#
#	magtape
#	magtape/files
#	magtape/files/patch-aa
#	magtape/files/patch-ab
#	magtape/files/patch-ac
#	magtape/files/patch-ad
#	magtape/files/patch-ae
#	magtape/Makefile
#	magtape/distinfo
#	magtape/pkg-descr
#	magtape/pkg-plist
#
echo c - magtape
mkdir -p magtape > /dev/null 2>&1
echo c - magtape/files
mkdir -p magtape/files > /dev/null 2>&1
echo x - magtape/files/patch-aa
sed 's/^X//' >magtape/files/patch-aa << 'END-of-magtape/files/patch-aa'
X*** Makefile.orig	Sun Jan 22 02:51:39 2006
X--- Makefile	Sun Jan 22 03:57:02 2006
X***************
X*** 2,61 ****
X  #	Written by Dick Grune, Vrije Universiteit, Amsterdam.
X  #
X  
X  #	A system for handling magtapes, real or in tape image form.
X  #
X! #	make all:	make all the shell commands and run a superficial test
X! #	make install:	install all the shell commands
X  #	make libt:	install C-routine library
X  #	make NOS:	install NOSsplit et al. for reading Cyber tapes
X  #	make man:	install the manuals
X  #	make lint:	`lint' everything
X  #	make clean:	clean up the generated files
X  #
X  
X  #	P A R A M E T E R S
X! USR =		/user1/dick
X  
X  BIN =		$(USR)/bin#		# where to store the binaries
X  LIB =		$(USR)/lib#		# where to store libt.a
X! INC =		$(USR)/src#		# where to store tp.h for public use
X! MAN1 =		$(USR)/man#		# where to store manual pages(1)
X! MAN3 =		$(USR)/man#		# where to store manual pages(3)
X  
X  CC =		cc#			# the C compiler to be used
X! CFLAGS =	-O -s#			# its flags
X  LINT =		lint#			# lint to be used, including flags
X  
X  #	P U B L I C   E N T R I E S
X  PRG =		survey rawtp cptp ansir ansiw
X  NOS =		NOSsplit NOStr
X  
X  all:		$(PRG) $(NOS) test.image
X! 	./ansir -f test.image
X! 	cmp READ_ME READ_ME.TEST
X! 	rm READ_ME.TEST
X  
X! install:	$(PRG)
X! 	for F in $(PRG); do cp $$F $(BIN)/$$F; done
X  
X  libt:		tp.h libt.a
X! 	cp tp.h $(INC)/tp.h
X! 	cp libt.a $(LIB)/libt.a
X  
X  NOS:		$(NOS)
X! 	for F in $(NOS); do cp $$F $(BIN)/$$F; done
X  
X  #	M A N U A L S
X  MAN1_SRC =	ansir.1 ansiw.1 cptp.1 rawtp.1 survey.1 mag.1 \
X  		NOSsplit.1 NOStr.1
X  MAN3_SRC =	mag.3
X  MAN_SRC =	$(MAN1_SRC) $(MAN3_SRC)
X  
X  man:
X! 	for F in $(MAN1_SRC); do cp $$F $(MAN1)/$$F; done
X! 	for F in $(MAN3_SRC); do cp $$F $(MAN3)/$$F; done
X  
X  #	L I B R A R Y
X  LIB_OBJ =	tpread.o tpwrite.o tpopen.o tpclose.o tpname.o tperr.o \
X  		tploc.o tprdloc.o tpwloc.o tpwtmloc.o sys.o
X  LIB_SRC =	tpread.c tpwrite.c tpopen.c tpclose.c tpname.c tperr.c \
X--- 2,66 ----
X  #	Written by Dick Grune, Vrije Universiteit, Amsterdam.
X  #
X  
X  #	A system for handling magtapes, real or in tape image form.
X  #
X! #	make all:	make all the shell commands
X! #	make install:	install everything
X! #	make installc:	install all the shell commands
X  #	make libt:	install C-routine library
X  #	make NOS:	install NOSsplit et al. for reading Cyber tapes
X  #	make man:	install the manuals
X  #	make lint:	`lint' everything
X  #	make clean:	clean up the generated files
X  #
X  
X  #	P A R A M E T E R S
X! USR =		${PREFIX}
X  
X  BIN =		$(USR)/bin#		# where to store the binaries
X  LIB =		$(USR)/lib#		# where to store libt.a
X! INC =		$(USR)/include#		# where to store tp.h for public use
X! MAN1 =		$(USR)/man/man1#	# where to store manual pages(1)
X! MAN3 =		$(USR)/man/man3#	# where to store manual pages(3)
X  
X  CC =		cc#			# the C compiler to be used
X! CFLAGS =	-O#			# its flags
X  LINT =		lint#			# lint to be used, including flags
X  
X  #	P U B L I C   E N T R I E S
X  PRG =		survey rawtp cptp ansir ansiw
X  NOS =		NOSsplit NOStr
X  
X+ magtape: all
X+ 
X  all:		$(PRG) $(NOS) test.image
X! #	./ansir -f test.image
X! #	cmp READ_ME READ_ME.TEST
X! #	rm READ_ME.TEST
X! 
X! install: installc NOS libt man
X  
X! installc:	$(PRG)
X! 	for F in $(PRG); do install -s -m 755 $$F $(BIN)/$$F; done
X  
X  libt:		tp.h libt.a
X! 	install -m 644 tp.h $(INC)/tp.h
X! 	install -m 644 libt.a $(LIB)/libt.a
X  
X  NOS:		$(NOS)
X! 	for F in $(NOS); do install -m 755 $$F $(BIN)/$$F; done
X  
X  #	M A N U A L S
X  MAN1_SRC =	ansir.1 ansiw.1 cptp.1 rawtp.1 survey.1 mag.1 \
X  		NOSsplit.1 NOStr.1
X  MAN3_SRC =	mag.3
X  MAN_SRC =	$(MAN1_SRC) $(MAN3_SRC)
X  
X  man:
X! 	for F in $(MAN1_SRC); do install -m 644 $$F $(MAN1)/$$F; done
X! 	for F in $(MAN3_SRC); do install -m 644 $$F $(MAN3)/$$F; done
X  
X  #	L I B R A R Y
X  LIB_OBJ =	tpread.o tpwrite.o tpopen.o tpclose.o tpname.o tperr.o \
X  		tploc.o tprdloc.o tpwloc.o tpwtmloc.o sys.o
X  LIB_SRC =	tpread.c tpwrite.c tpopen.c tpclose.c tpname.c tperr.c \
END-of-magtape/files/patch-aa
echo x - magtape/files/patch-ab
sed 's/^X//' >magtape/files/patch-ab << 'END-of-magtape/files/patch-ab'
X*** NOSsplit.c.orig	Sun Jan 22 02:55:37 2006
X--- NOSsplit.c	Sun Jan 22 02:55:46 2006
X***************
X*** 10,20 ****
X  #define	MSGUSE	"Usage is: NOSsplit [-cfhlm[s N]] [out_name]\n"
X  
X  #include	<stdio.h>
X  #include	"aux.h"
X  #include	"tp.h"
X! extern char *sprintf();
X  
X  #define	MINSIZE	6			/* smaller is a noise block */
X  #define	BSIZE	3840			/* blocksize binary files */
X  #define	CSIZE	960			/* blocksize coded files */
X  #define	SIZE	3840			/* maximum blocksize */
X--- 10,20 ----
X  #define	MSGUSE	"Usage is: NOSsplit [-cfhlm[s N]] [out_name]\n"
X  
X  #include	<stdio.h>
X  #include	"aux.h"
X  #include	"tp.h"
X! /* extern char *sprintf(); */
X  
X  #define	MINSIZE	6			/* smaller is a noise block */
X  #define	BSIZE	3840			/* blocksize binary files */
X  #define	CSIZE	960			/* blocksize coded files */
X  #define	SIZE	3840			/* maximum blocksize */
END-of-magtape/files/patch-ab
echo x - magtape/files/patch-ac
sed 's/^X//' >magtape/files/patch-ac << 'END-of-magtape/files/patch-ac'
X*** ansi.c.orig	Sun Jan 22 02:54:15 2006
X--- ansi.c	Sun Jan 22 02:55:25 2006
X***************
X*** 4,24 ****
X  
X  #include	"aux.h"
X  #include	"tp.h"
X  #include	"ansi.h"
X  
X! extern char *sprintf();
X  
X  int unit = 0;
X  char *nmdns = TP_DENN;
X  TPFILE *tf = NULL;
X  
X  char filename[MAXSTR];
X  FILE *file = NULL;
X  int filseqnum = 0;
X  int filsecnum = 1;
X! char rectype[1] = 'F';
X  struct format *recformat;
X  int blklength = 1920;
X  int reclength = 80;
X  int bufoffset = 0;
X  int reccount;
X--- 4,24 ----
X  
X  #include	"aux.h"
X  #include	"tp.h"
X  #include	"ansi.h"
X  
X! /* extern char *sprintf(); */
X  
X  int unit = 0;
X  char *nmdns = TP_DENN;
X  TPFILE *tf = NULL;
X  
X  char filename[MAXSTR];
X  FILE *file = NULL;
X  int filseqnum = 0;
X  int filsecnum = 1;
X! char rectype[1] = "F";
X  struct format *recformat;
X  int blklength = 1920;
X  int reclength = 80;
X  int bufoffset = 0;
X  int reccount;
END-of-magtape/files/patch-ac
echo x - magtape/files/patch-ad
sed 's/^X//' >magtape/files/patch-ad << 'END-of-magtape/files/patch-ad'
X*** sys.c.orig	Sun Jan 22 03:33:52 2006
X--- sys.c	Sun Jan 22 03:34:04 2006
X***************
X*** 26,36 ****
X  char * /* transient */
X  sysdate()	{			/* today's date as YYDDD */
X  	time_t tnow = time((time_t*)0);
X  	struct tm *timeptr = localtime(&tnow);
X  	static char today[6];
X! 	
X  	VOID(sprintf(today, "%02d%03d",
X  				timeptr->tm_year, timeptr->tm_yday+1));
X  	return today;
X  }
X  
X--- 26,37 ----
X  char * /* transient */
X  sysdate()	{			/* today's date as YYDDD */
X  	time_t tnow = time((time_t*)0);
X  	struct tm *timeptr = localtime(&tnow);
X  	static char today[6];
X! 
X!         if (timeptr->tm_year > 100) timeptr->tm_year = timeptr->tm_year - 100;
X  	VOID(sprintf(today, "%02d%03d",
X  				timeptr->tm_year, timeptr->tm_yday+1));
X  	return today;
X  }
X  
END-of-magtape/files/patch-ad
echo x - magtape/files/patch-ae
sed 's/^X//' >magtape/files/patch-ae << 'END-of-magtape/files/patch-ae'
X*** tperr.c.orig	Sun Jan 22 02:52:18 2006
X--- tperr.c	Sun Jan 22 02:52:51 2006
X***************
X*** 5,15 ****
X  #include	<stdio.h>
X  #include	"aux.h"
X  #include	"tp.h"
X  #include	"tpsys.h"
X  
X! FILE *tperr = stderr;
X  
X  tperrout(stream)
X  	FILE *stream;
X  {
X  	tperr = stream;
X--- 5,15 ----
X  #include	<stdio.h>
X  #include	"aux.h"
X  #include	"tp.h"
X  #include	"tpsys.h"
X  
X! FILE *tperr = "stderr";
X  
X  tperrout(stream)
X  	FILE *stream;
X  {
X  	tperr = stream;
END-of-magtape/files/patch-ae
echo x - magtape/Makefile
sed 's/^X//' >magtape/Makefile << 'END-of-magtape/Makefile'
X# New ports collection makefile for:    magtape
X# Date created:         22 January 2006
X# Whom:                 Jeffrey H. Johnson <CPE1704TKS@bellsouth.net>
X#
X# $FreeBSD: ports/sysutils/magtape/Makefile,v 1.00 2006/01/22 03:36:22 trn Exp $
X#
X
XPORTNAME=	magtape
XPORTVERSION=	19820314
XCATEGORIES=	sysutils
XMASTER_SITES=	ftp://ftp.unicamp.br/pub/unix-c/tapes/ \
X		http://ftp.br.xemacs.org/pub/unix-c/tapes/
XDISTNAME=	magtape
XEXTRACT_SUFX=	.tar.Z
X
XMAINTAINER=	CPE1704TKS@bellsouth.net
XCOMMENT=	Generalized magnetic tape handling library and utilities
X
XALL_TARGET=	${PORTNAME}
XMAN1=		NOSsplit.1 NOStr.1 ansir.1 ansiw.1 cptp.1 mag.1 rawtp.1 survey.1
XMAN3=		mag.3
X
X.include <bsd.port.mk>
END-of-magtape/Makefile
echo x - magtape/distinfo
sed 's/^X//' >magtape/distinfo << 'END-of-magtape/distinfo'
XSIZE (magtape.tar.Z) = 49987
XSHA256 (magtape.tar.Z) = f50f8d9eccc9dca913880b5fc0fabcca2dfbc9c9a664c2dac50c4fcd2f62b5b5
XMD5 (magtape.tar.Z) = 7e8b218e918a64d8d6247be0eb73d8de
END-of-magtape/distinfo
echo x - magtape/pkg-descr
sed 's/^X//' >magtape/pkg-descr << 'END-of-magtape/pkg-descr'
Xmagtape - a magnetic tape handling package.
X       
XOn the shell level this package offers programs for:
X
X  - getting a quick look at a tape,
X  - making exact copies of tapes even if you have only one magtape unit,
X  - extracting arbitrary portions from tapes and
X  - the reading and writing of ANSI standard labelled tapes.
X
XThese programs work equally well on real tapes and on tape images on disk.
X
XOn the C-level it supplies routines for handling real tapes and tape 
Ximages on disk as a unified concept (generalized magtape).
X
XIf you happen to have a Control Data Cyber around, running SCOPE or 
XNOS/BE, "NOSsplit", a program for reading Cyber SI-format tapes, and
X"NOStr"  which converts from various Cyber character codes, is provided.
END-of-magtape/pkg-descr
echo x - magtape/pkg-plist
sed 's/^X//' >magtape/pkg-plist << 'END-of-magtape/pkg-plist'
Xbin/NOSsplit
Xbin/NOStr
Xbin/ansir
Xbin/ansiw
Xbin/cptp
Xbin/rawtp
Xbin/survey
Xinclude/tp.h
Xlib/libt.a
END-of-magtape/pkg-plist
exit
--- magtape-19820314.shar ends here ---

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



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