ports/92144: [NEW PORT] sysutils/magtape: Generalized magnetic tape handling library and utilities
Jeffrey H. Johnson
CPE1704TKS at bellsouth.net
Sun Jan 22 09:10:04 UTC 2006
>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 at 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 at 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:
More information about the freebsd-ports-bugs
mailing list