| Summary: | Bootable ITS image for KLH-10 PDP-10 emulator | ||
|---|---|---|---|
| Product: | Ports & Packages | Reporter: | kstailey <kstailey> |
| Component: | Individual Port(s) | Assignee: | freebsd-ports-bugs (Nobody) <ports-bugs> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | CC: | alane |
| Priority: | Normal | ||
| Version: | Latest | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
kstailey
2002-01-12 19:10:00 UTC
On Sat, Jan 12, 2002 at 11:01:03AM -0800, Kenneth Stailey wrote: > >>Number: 33818 >>Category: ports >>Synopsis: Bootable ITS image for KLH-10 PDP-10 emulator THIS PR SUPERCEDES 33817. You should reply to 33817 and say it has been superceded by 33818. >XKLH10_HOME= ${PREFIX}/libexec/klh10-ks-its >XIMAGE_NAME= PI-ITS-RP06.0-dbd9 >X >Xpost-patch: >X @zcat ${WRKDIR}/${IMAGE_NAME}.gz > ${KLH10_HOME}/${IMAGE_NAME} >X @ ${SED} -e "s;@KLH10_HOME@;${KLH10_HOME};g" \ >X ${FILESDIR}/its.sh >${WRKSRC}/its Umm, nope. Violates style convention. Badly. Soonest you can do this is in the pre-install or do-install. If I say "make", you're gonna do part of the install. No way is that gonna happen. Typically you wouldn't even do the gzip directly. But, in view of the size of the file, which you should comment right here, it's reasonable. Don't use zcat. There are macros for unzipping things. How about this: do-install: @${GUNZIP_CMD} -c ${WRKDIR}/${IMAGE_NAME}.gz \ > ${KLH10_HOME}/${IMAGE_NAME} @${CHMOD} ${LIBMODE} ${KLH10_HOME}/${IMAGE_NAME} @${CHOWN} ${LIBOWN}:${LIBGRP} ${KLH10_HOME}/${IMAGE_NAME} @ ${SED} -e "s;@KLH10_HOME@;${KLH10_HOME};g" \ ${FILESDIR}/its.sh >${WRKSRC}/its @ ${INSTALL_SCRIPT} ${WRKSRC}/its ${PREFIX}/bin -- Alan Eldridge Pmmfmffmmfmp mmmpppppffmpmfpmpppff PmpMpmMpp ppfppp MpfpffmppmppMmpFmmMpm mfpmmmmmfpmpmpppff. On Sat, Jan 12, 2002 at 11:01:03AM -0800, Kenneth Stailey wrote:
>
>>Description:
> Bootable ITS image for KLH-10 PDP-10 emulator. Disregart prior
>submission. The image is rather large. 45MB compressed download and
>170MB uncompressed. The port tries not to store two uncompressed copies
>during installation ever.
Urghh ... you know that all the stuff in libexec is read-only, right?
Just thought of that....
How's this supposed to be run? Root only?
Maybe you ought to put the disk image in, oh, ${PREFIX}/spool/klh10/images.
Then at least it's somewhere that's expected to be writable.
Anybody else got any ideas on that?
--
Alan Eldridge
Pmmfmffmmfmp mmmpppppffmpmfpmpppff PmpMpmMpp ppfppp MpfpffmppmppMmpFmmMpm
mfpmmmmmfpmpmpppff.
On Sat, Jan 12, 2002 at 11:01:03AM -0800, Kenneth Stailey wrote:
>
>>Number: 33818
>>Category: ports
>>Synopsis: Bootable ITS image for KLH-10 PDP-10 emulator
>>Description:
> Bootable ITS image for KLH-10 PDP-10 emulator. Disregart prior
>submission. The image is rather large. 45MB compressed download and
>170MB uncompressed. The port tries not to store two uncompressed copies
>during installation ever.
>
Umm, should this be marked NO_CDROM due to its size?
NO_CDROM= This is just a really big (45M) data file.
That's a big chunk of real estate on a CD for something that < 1% of the
user population is going to look at.
--
Alan Eldridge
Pmmfmffmmfmp mmmpppppffmpmfpmpppff PmpMpmMpp ppfppp MpfpffmppmppMmpFmmMpm
mfpmmmmmfpmpmpppff.
On Sat, Jan 12, 2002 at 11:40:05AM -0800, Alan Eldridge wrote:
> NO_CDROM= This is just a really big (45M) data file.
>
> That's a big chunk of real estate on a CD for something that < 1% of the
> user population is going to look at.
That wasn't meant as a value judgement. But it's not like it's
something that has to be compiled, even. It's just a data file,
uncompressed. So I would be concerned about the real estate
issue... unless we're nowhere close to hitting 5 CDROMS in the
distribution package.
--
Alan Eldridge
Pmmfmffmmfmp mmmpppppffmpmfpmpppff PmpMpmMpp ppfppp MpfpffmppmppMmpFmmMpm
mfpmmmmmfpmpmpppff.
On Sat, Jan 12, 2002 at 03:08:14PM -0500, Ken Stailey wrote: >Alan Eldridge wrote: > >>On Sat, Jan 12, 2002 at 11:01:03AM -0800, Kenneth Stailey wrote: >> >>>>Number: 33818 >>>>Category: ports >>>>Synopsis: Bootable ITS image for KLH-10 PDP-10 emulator >>>>Description: >>>> >>> Bootable ITS image for KLH-10 PDP-10 emulator. Disregart prior >>>submission. The image is rather large. 45MB compressed download and >>>170MB uncompressed. The port tries not to store two uncompressed copies >>>during installation ever. >>> >> >>Umm, should this be marked NO_CDROM due to its size? >> >>NO_CDROM= This is just a really big (45M) data file. >> >>That's a big chunk of real estate on a CD for something that < 1% of the >>user population is going to look at. >> >I was asking about that but I guess I didn't know what to ask. >Isn't > >NO_PACKAGE= ignores cflags # for now > 1. That's not a reason to no-package it. 2. No, NO_PACKAGE is not transient. 3. There's not a problem with PACKAGE-ing it. The ftp servers have room. I'm concerned about putting the package on the CDROM. That's what NO_CDROM is for. NO_PACKAGE implies NO_CDROM. NO_CDROM does not imply NO_PACKAGE. Why do you want to NO_PACKAGE the klh-10? Is it huge too? (I haven't looked at it yet.) -- Alan Eldridge Pmmfmffmmfmp mmmpppppffmpmfpmpppff PmpMpmMpp ppfppp MpfpffmppmppMmpFmmMpm mfpmmmmmfpmpmpppff. On Sat, Jan 12, 2002 at 03:22:32PM -0500, Ken Stailey wrote: >Alan Eldridge wrote: >> >>Urghh ... you know that all the stuff in libexec is read-only, right? >> >>Just thought of that.... >> >>How's this supposed to be run? Root only? >> >>Maybe you ought to put the disk image in, oh, ${PREFIX}/spool/klh10/images. >>Then at least it's somewhere that's expected to be writable. >> >>Anybody else got any ideas on that? >In what sense is libexec read-only? Diskless support? I suppose you >could use a spot under /var. You saw I did the ${CHOWN} and ${CHMOD}. Stuff in those dirs is supposed to be ${LIBMODE}. That's read-only. And yes, libexec could be mounted read-only on NFS, for example. You've got a port that really wants to run as a USER, in a private directory. Perhaps the way this works needs to be thought out a bit more. Like, installing the compressed image and providing a "user install" script, which makes a user directory with the uncompressed image. If you work on the master image, then what are you supposed to do when you fsck it up? Reinstall the port? Not a good solution. COMMITTERS: Suggest changing status of 33816 and 33818 to feedback pending resolution of installation and other issues. Oh, Ken, could you do a "Big-R" reply to get the Cc: to gnats in there? -- Alan Eldridge Pmmfmffmmfmp mmmpppppffmpmfpmpppff PmpMpmMpp ppfppp MpfpffmppmppMmpFmmMpm mfpmmmmmfpmpmpppff. On Sat, Jan 12, 2002 at 03:36:20PM -0500, Ken Stailey wrote:
>image. Support files do not get modified during emulator execution. You
>could put the emulator image under /var and use a symlink since it does
>change as ITS runs. I tested this OK. Unfortuately, not that many
>systems have enough /var space to do this I'd imagine.
And ports shouldn't, in general, drop things into /var. Unless they're
log files. Or mail/print spool.
--
Alan Eldridge
Pmmfmffmmfmp mmmpppppffmpmfpmpppff PmpMpmMpp ppfppp MpfpffmppmppMmpFmmMpm
mfpmmmmmfpmpmpppff.
Alan Eldridge wrote: >On Sat, Jan 12, 2002 at 03:08:14PM -0500, Ken Stailey wrote: > >>Alan Eldridge wrote: >> >>>On Sat, Jan 12, 2002 at 11:01:03AM -0800, Kenneth Stailey wrote: >>> >>>>>Number: 33818 >>>>>Category: ports >>>>>Synopsis: Bootable ITS image for KLH-10 PDP-10 emulator >>>>>Description: >>>>> >>>> Bootable ITS image for KLH-10 PDP-10 emulator. Disregart prior >>>>submission. The image is rather large. 45MB compressed download and >>>>170MB uncompressed. The port tries not to store two uncompressed copies >>>>during installation ever. >>>> >>>Umm, should this be marked NO_CDROM due to its size? >>> >>>NO_CDROM= This is just a really big (45M) data file. >>> >>>That's a big chunk of real estate on a CD for something that < 1% of the >>>user population is going to look at. >>> >>I was asking about that but I guess I didn't know what to ask. >>Isn't >> >>NO_PACKAGE= ignores cflags # for now >> > >1. That's not a reason to no-package it. > >2. No, NO_PACKAGE is not transient. > >3. There's not a problem with PACKAGE-ing it. The ftp servers have room. >I'm concerned about putting the package on the CDROM. That's what NO_CDROM >is for. > >NO_PACKAGE implies NO_CDROM. >NO_CDROM does not imply NO_PACKAGE. > >Why do you want to NO_PACKAGE the klh-10? Is it huge too? (I haven't >looked at it yet.) > I'm new at this? :) Anyway it needs this patch to work/klh10-2.0a/src/Mk-fbx86.mk --- Mk-fbx86.mk.DIST Sat Jan 12 15:40:10 2002 +++ Mk-fbx86.mk Sat Jan 12 15:40:55 2002 @@ -21,7 +21,7 @@ # Build definitions SRC = ../../src -CFLAGS = -c -g3 -O -I. -I$(SRC) +CFLAGS += -c -g3 -O -I. -I$(SRC) CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \ -Wstrict-prototypes -Wmissing-prototypes \ -Wmissing-declarations -Wredundant-decls Then NO_PACKAGE can be removed. The emulator is pretty small. The ITS filesystem image is the big part. > Ken Stailey wrote: >The following reply was made to PR ports/33818; it has been noted by GNATS. > >From: Ken Stailey <kstailey@surfbest.net> >To: Alan Eldridge <alane@geeksrus.net> >Cc: FreeBSD Bugs <freebsd-gnats-submit@freebsd.org> >Subject: Re: ports/33818: Bootable ITS image for KLH-10 PDP-10 emulator >Date: Sat, 12 Jan 2002 15:44:08 -0500 > > Alan Eldridge wrote: > > >On Sat, Jan 12, 2002 at 03:08:14PM -0500, Ken Stailey wrote: > > > >>Alan Eldridge wrote: > >> > >>>On Sat, Jan 12, 2002 at 11:01:03AM -0800, Kenneth Stailey wrote: > >>> > >>>>>Number: 33818 > >>>>>Category: ports > >>>>>Synopsis: Bootable ITS image for KLH-10 PDP-10 emulator > >>>>>Description: > >>>>> > >>>> Bootable ITS image for KLH-10 PDP-10 emulator. Disregart prior > >>>>submission. The image is rather large. 45MB compressed download and > >>>>170MB uncompressed. The port tries not to store two uncompressed copies > >>>>during installation ever. > >>>> > >>>Umm, should this be marked NO_CDROM due to its size? > >>> > >>>NO_CDROM= This is just a really big (45M) data file. > >>> > >>>That's a big chunk of real estate on a CD for something that < 1% of the > >>>user population is going to look at. > >>> > >>I was asking about that but I guess I didn't know what to ask. > >>Isn't > >> > >>NO_PACKAGE= ignores cflags # for now > >> > > > >1. That's not a reason to no-package it. > > > >2. No, NO_PACKAGE is not transient. > > > >3. There's not a problem with PACKAGE-ing it. The ftp servers have room. > >I'm concerned about putting the package on the CDROM. That's what NO_CDROM > >is for. > > > >NO_PACKAGE implies NO_CDROM. > >NO_CDROM does not imply NO_PACKAGE. > > > >Why do you want to NO_PACKAGE the klh-10? Is it huge too? (I haven't > >looked at it yet.) > > > I'm new at this? :) > Anyway it needs this patch to work/klh10-2.0a/src/Mk-fbx86.mk > > --- Mk-fbx86.mk.DIST Sat Jan 12 15:40:10 2002 > +++ Mk-fbx86.mk Sat Jan 12 15:40:55 2002 > @@ -21,7 +21,7 @@ > > # Build definitions > SRC = ../../src > -CFLAGS = -c -g3 -O -I. -I$(SRC) > +CFLAGS += -c -g3 -O -I. -I$(SRC) > CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \ > -Wstrict-prototypes -Wmissing-prototypes \ > -Wmissing-declarations -Wredundant-decls > > Then NO_PACKAGE can be removed. The emulator is pretty small. The ITS > filesystem image is the big part. > > > > > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-ports" in the body of the message > > # 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: # # klh10/files # klh10/files/patch-aa # echo c - klh10/files mkdir -p klh10/files > /dev/null 2>&1 echo x - klh10/files/patch-aa sed 's/^X//' >klh10/files/patch-aa << 'END-of-klh10/files/patch-aa' X--- src/Mk-fbx86.mk.DIST Sat Jan 12 15:40:10 2002 X+++ src/Mk-fbx86.mk Sat Jan 12 15:40:55 2002 X@@ -21,7 +21,7 @@ X X # Build definitions X SRC = ../../src X-CFLAGS = -c -g3 -O -I. -I$(SRC) X+CFLAGS += -c -g3 -O -I. -I$(SRC) X CFLAGS_LINT = -ansi -pedantic -Wall -Wshadow \ X -Wstrict-prototypes -Wmissing-prototypes \ X -Wmissing-declarations -Wredundant-decls X END-of-klh10/files/patch-aa exit Alan Eldridge wrote: > > >You've got a port that really wants to run as a USER, in a private >directory. > >Perhaps the way this works needs to be thought out a bit more. Like, >installing the compressed image and providing a "user install" script, >which makes a user directory with the uncompressed image. > >If you work on the master image, then what are you supposed to do when >you fsck it up? Reinstall the port? Not a good solution. > > Well if there is a master copy of the ITS image it should be compressed. Some sort of "make-its-user" command would set up the files in a subdir of a user's home. The emulator binary proper, kn10-ks, does not need to be root to run. A subordinate binary, dpimp, that does networking support for kn10-ks does need to run as root. You can still get console access to ITS without root privs but won't be able to use network command to get in and out of the emulated ITS. kn10-ks needs to be in a directory with its support files and subordinate binaries. None of these are modified during execution. The emulator image or a symlink to it needs to be there too. It does get modified as ITS runs. hermes# du -ks * | sort -n 1 README 1 flushed 1 klh10-kn.ini 1 klh10-md.ini 1 klh10-pi.ini 9 udlconv 11 wfconv 15 vdkfmt 19 @.ddt-u 19 wxtest 20 dprpxx 22 dpimp 51 tapedd 54 dptm03 64 @.nsalv-260-u 296 itsbin.647kn-u 296 itsbin.647md-u 296 itsbin.647pi-u 304 kn10-ks 344 @.its-647kn-u 344 @.its-647md-u 344 @.its-647pi-u 173712 PI-ITS-RP06.0-dbd9 The port install could put these into ${PREFIX}/libdata as a compressed tarball. A setup-its-user script could install the tarball in a given directory. The tarball would be ${LIBMODE}. Is that OK? Thanks, Ken So much has changed I'm resubmitting from scratch. # 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: # # its # its/pkg-comment # its/Makefile # its/distinfo # its/pkg-plist # its/pkg-descr # its/files # its/files/its.sh # its/files/MIT-ITS-papers # its/files/README.FIRST # echo c - its mkdir -p its > /dev/null 2>&1 echo x - its/pkg-comment sed 's/^X//' >its/pkg-comment << 'END-of-its/pkg-comment' XBootable ITS filesystem for KLH-10 PDP-10 emulator END-of-its/pkg-comment echo x - its/Makefile sed 's/^X//' >its/Makefile << 'END-of-its/Makefile' X# New ports collection makefile for: its X# Date created: 11 January 2002 X# Whom: kstailey X# X# $FreeBSD$ X# X XPORTNAME= its XPORTVERSION= a11110 XCATEGORIES= emulators XMASTER_SITES= ftp://ftp.its.os.org/its/klh10/ XDISTNAME= pi-${PORTNAME}-${PORTVERSION} XEXTRACT_SUFX= .tar X XMAINTAINER= kstailey@yahoo.com X XBUILD_DEPENDS= kn10-ks:${PORTSDIR}/emulators/klh10 XRUN_DEPENDS= kn10-ks:${PORTSDIR}/emulators/klh10 X XONLY_FOR_ARCHS= i386 # really KLH10 has this problem. X XNO_WRKSUBDIR= yes XNO_BUILD= yes XNO_PACKAGE= PI ITS RP06 disk image is too big. XNO_CDROM= PI ITS RP06 disk image is too big. X X# KLH10_HOME must be set to the same location that the klh10 port uses XKLH10_DIR= klh10-ks-its XKLH10_HOME= ${PREFIX}/share/${KLH10_DIR} XIMAGE_HOME?= ${KLH10_HOME} XIMAGE_NAME= PI-ITS-RP06.0-dbd9 XIMAGE_OWN?= ${LIBOWN} XIMAGE_GRP?= ${LIBGRP} XIMAGE_MODE?= 666 XDOCDIR= ${PREFIX}/share/doc/${KLH10_DIR} XPLIST_SUB+= IMAGE_HOME=${IMAGE_HOME} X Xdo-install: X @ ${ECHO} Installing PI ITS RP06 disk image in ${IMAGE_HOME} X @ ${ECHO} owned by ${IMAGE_OWN}:${IMAGE_GRP}, mode ${IMAGE_MODE}. X.if (${IMAGE_HOME} == ${KLH10_HOME}) X @ ${ECHO} Use IMAGE_HOME=/my/directory to relocate. X.else X @ ${LN} -s ${IMAGE_HOME}/${IMAGE_NAME} ${KLH10_HOME}/${IMAGE_NAME} X.endif X.if (${IMAGE_OWN} == ${LIBOWN}) X @ ${ECHO} Use IMAGE_OWN=fred IMAGE_GRP=staff to set ownership. X.endif X.if (${IMAGE_MODE} == 666) X @ ${ECHO} Use IMAGE_MODE=octal-mode to set the permissions. X.endif X @ ${MKDIR} ${IMAGE_HOME} X @ ${GUNZIP_CMD} -c ${WRKDIR}/${IMAGE_NAME}.gz \ X > ${IMAGE_HOME}/${IMAGE_NAME} X @ ${CHMOD} ${IMAGE_MODE} ${IMAGE_HOME}/${IMAGE_NAME} X @ ${CHOWN} ${IMAGE_OWN}:${IMAGE_GRP} ${IMAGE_HOME}/${IMAGE_NAME} X @ ${SED} -e "s;@KLH10_HOME@;${KLH10_HOME};g" \ X -e "s;@PI-IMAGE@;${IMAGE_HOME}/${IMAGE_NAME};g" \ X -e 's;@BIN@;${PREFIX}/bin;' \ X ${FILESDIR}/its.sh >${WRKSRC}/its X @ ${INSTALL_SCRIPT} ${WRKSRC}/its ${PREFIX}/bin X @ ${SED} -e "s;@PREFIX@;${PREFIX};g" \ X ${FILESDIR}/README.FIRST >${WRKSRC}/README.FIRST X @ ${INSTALL_MAN} ${FILESDIR}/MIT-ITS-papers ${DOCDIR} X @ ${INSTALL_MAN} ${WRKSRC}/README.FIRST ${DOCDIR} X @ ${ECHO} "*** Please read ${DOCDIR}/README.FIRST" X.include <bsd.port.mk> END-of-its/Makefile echo x - its/distinfo sed 's/^X//' >its/distinfo << 'END-of-its/distinfo' XMD5 (pi-its-a11110.tar) = 277494d17643ca2d90ff04122be4e993 END-of-its/distinfo echo x - its/pkg-plist sed 's/^X//' >its/pkg-plist << 'END-of-its/pkg-plist' Xbin/its X%%PORTDOCS%%share/doc/klh10-ks-its/MIT-ITS-papers X%%PORTDOCS%%share/doc/klh10-ks-its/README.FIRST Xshare/klh10-ks-its/PI-ITS-RP06.0-dbd9 X@unexec rm -f %%IMAGE_HOME%%/PI-ITS-RP06.0-dbd9 X END-of-its/pkg-plist echo x - its/pkg-descr sed 's/^X//' >its/pkg-descr << 'END-of-its/pkg-descr' XThis is an image of a PI (Public ITS) filesystem that can be booted on Xthe KLH10 PDP-10 emulator. X XThe emulator image is about 45MB compressed and 170MB uncompressed. XThe installation needs to have a minimum of 45MB in ports/disfiles Xplus 45MB in its/work plus 170MB in the installation directory which Xdefaults to /usr/local/share/klh10-ks-its. That's about 260MB total Xbut it's possible to split across filesystems. X XFor more information about ITS see WWW: http://www.its.os.org/ END-of-its/pkg-descr echo c - its/files mkdir -p its/files > /dev/null 2>&1 echo x - its/files/its.sh sed 's/^X//' >its/files/its.sh << 'END-of-its/files/its.sh' X#!/bin/sh X# X# $FreeBSD$ X# X# Run KLH10 with KS-ITS hardware configuration and ITS OS configuration X# to bring up MIT Incompatible Timesharing System emulation. X Xcd @KLH10_HOME@ Xexec lockf -t 0 -k @PI-IMAGE@ @BIN@/kn10-ks klh10-kn-freebsd.ini END-of-its/files/its.sh echo x - its/files/MIT-ITS-papers sed 's/^X//' >its/files/MIT-ITS-papers << 'END-of-its/files/MIT-ITS-papers' XITS Status report (includes architecture info) from 1972 Xftp://publications.ai.mit.edu/ai-publications/0-499/AIM-238.ps X XITS reference manual from 1969: Xftp://publications.ai.mit.edu/ai-publications/0-499/AIM-161A.ps X XMidas macro assembler documentation from 1965: Xftp://publications.ai.mit.edu/ai-publications/0-499/AIM-090.ps X XDDT debugger ("system apex procedure" i.e. "shell") from 1968 Xftp://publications.ai.mit.edu/ai-publications/0-499/AIM-147.ps X XEmacs text editor (original ITS version) Xftp://publications.ai.mit.edu/ai-publications/500-999/AIM-519A.ps X XThese files may be converted to PDF or gzipped to save space: X$ ps2pdf13 AIM-238.ps AIM-238.pdf END-of-its/files/MIT-ITS-papers echo x - its/files/README.FIRST sed 's/^X//' >its/files/README.FIRST << 'END-of-its/files/README.FIRST' XTo start ITS run the its(1) command. It takes no arguments. X XConsider adding firewall protection for the emulator before ever Xrunning it. See @PREFIX@/share/doc/its/pubits/adm directory for Xsamples. The emulator uses IP address 10.134.198.236 by default. XIf this is a problem edit @PREFIX@/games/klh10-ks-its/klh10-kn-freebsd.ini Xwhere it says ipaddr=10.134.198.236 X XThe first time the system boots it will not know the time. To set the Xclock you must create a file with root permission so become root and then Xrun the its command. The system will display this message: X XThe time could not be set because: XNo host responded. XIt will be necessary for someone to set the time Xmanually by logging in and running :PDSET. X XTell ITS to activate the apex procedure, DDT, by typing a Ctrl-Z. XWhen you type that you will see: X XKN ITS.1647. DDT.1545. XTTY 0 XYou're all alone, Fair share = 0% X X(ITS does not know the date, so messages cannot be reviewed right now.) X XThen run PDSET by typing (colon and all) X X:pdset X XITS will suggest that you log in but you don't have to. X X(Please Log In) X___002 PDSET IOTLSR X XNow enter the time and save it. First the century: X X20C X XNext the YYMMDD: X X020215D X XThen the HHMMSS (try to time it so you have some lead time because it Xwill become active when you save it.) X X205115T X XNow save the time: X X!. X XNow exit PDSET X XX X XYou will have no feedback from the exit operation except that new Xcommands will be echoed in lower case. Now bring down ITS so you can Xstart it without being root: X X:lock X(Please Log In) X LOCK.154 X_ X Xthe _ is a prompt, do not type it. Type X X_5down X XLOCK is very picky about typos so be careful. It does not need the XEnter key--don't use it. X XDO YOU REALLY WANT THE SYSTEM TO GO DOWN? X XType "y" X Xy X___004 X PLEASE ENTER A BRIEF MESSAGE TO USERS, ENDED BY ^C XLOCK SYS DOWN MAIL WRITE 21:13:17 X XJust type Ctrl-C X XKN ITS going down in 5:00 XCULPRIT = ___004 LOCK 21:13:38 X X X_ XKN ITS 1647 NOT IN OPERATION 21:13:38 XPFTHMG DRAGON CHANNA _DRGN_ TIMES WRITE 21:13:38 XPFTHMG DRAGON CHANNA LOGOUT TIMES DELRNM 21:13:38 X XBe patient and it will finish with: X XSHUTDOWN COMPLETE XPI LEVEL 7 BUGDDT. TYPE <ALTMODE>P TO CONTINUE. XYOU ARE NOW IN DDT. XBUGPC/ CAIA COFFI4+1 $Q-2/ JRST COFFI7 X XIf ITS gets stuck shutting down for more than five minutes just Xcontinue from here: X XAt this point type Ctrl-\ to abort KLH10 back to the monitor. X X[HALTED: FE interrupt] XKLH10> X Xand quit KLH10 X XKLH10> quit XAre you sure you want to quit? [Confirm]y XShutting down...Bye! X$ X XITS uses DEL for erasing characters. ITS defaults to dumb hardcopy Xterminal settings. This is a pain so you want to configure ITS to Xuse something nicer. ITS knows about VT52. If you are using xterm Xfrom XFree86 you can get into VT52 mode by running a script like this: X X#! /bin/sh X Xawk 'END {printf "%c[?2l", 27}' </dev/null X XFrom ITS run X:tctyp vt52 scroll X XOn your VT52 mode terminal emulator. X XAn alternative is that you can use vt100 mode via the CRTSTY program Xwhich is a bit like window(1) in that you end up on something like a Xpty but only one full screen window is available and it does terminal Xemulation on it. You will be automatically logged in a second time on Xthe same terminal as a crufty side-effect. X X:crtsty vt100 speed 9600 END-of-its/files/README.FIRST exit More docs
diff -ur its/files/README.FIRST /usr/ports/emulators/its/files/README.FIRST
--- its/files/README.FIRST Sun Feb 17 10:32:05 2002
+++ /usr/ports/emulators/its/files/README.FIRST Sun Feb 17 13:38:56 2002
@@ -122,7 +122,7 @@
awk 'END {printf "%c[?2l", 27}' </dev/null
From ITS run
-:tctyp vt52 scroll
+:tctyp vt52
On your VT52 mode terminal emulator.
@@ -133,3 +133,55 @@
the same terminal as a crufty side-effect.
:crtsty vt100 speed 9600
+
+Run :info and look at the introductory information about the
+filesystem. I did not find that it covers directory operations very
+well so here is what I have found out. ITS does have a process tree
+(try the PEEK command) but does not have a directory tree. There is a
+Master File Directory MFD (try DSKUSE * or DIRED and then MFD. Use
+"Q" to quit after either of those.) and User File Directories UFDs one
+level deep only. The only way to remove a directory is to delete its
+contents and run the salvager. The salvager is the ITS equivalent of
+fsck and will automatically be run at boot time. To create a new
+directory provide certain options to the open UUO (ITS equivalent of
+system call; try the DOC UUO command.) Since the PRINT command calls
+the open UUO you can create a directory using print:
+
+:print ..new. (udir) dirnam;
+
+Where dirnam; is the name of the directory to be created. Directory
+names are limited to six characters.
+
+Missing from this ITS distribution is the INQUIR database. It
+contains user information. There were too many personal details in it
+and no one has been able to scrub it so it was left out. This means
+you cannot have a complete user account yet. The best you can do is
+to pick a user name and make yourself a directory with that name and
+put a login script in it. In this example the user "user" is created:
+
+:login user
+:print ..new. (udir) user;
+:emacs login user
+[add startup code like ":tctyp vt52" and ^X^S to save ^X^C to exit]
+
+You log out with <ALTMODE><ALTMODE>u which is [Esc][Esc]u and
+represented in the documentation as $$u
+
+The ITS equivalent of $PATH is implemented by scanning all
+directories for files for files with TS as the first name and
+the second name set to the command you issued. By convention
+most commands are in the SYS; SYS1; ... SYSN; directories.
+ITS supports symlinks via the LINK command and TS name is often
+a symlink.
+
+ITS equivalent of job control works by typing ^Z to interrupt the
+current program. To get back to the DDT prompt "*" use $^K
+
+Don't like DDT as the shell? Try MONMOD to use monitor mode where
+the colon is printed for you. DDTMOD get you back. Or try SHELL
+to bring up a UNIX-like shell.
+
+Zork was developed in MDL (muddle) on an ITS system but apparently it
+suffered from being too popular. Try the ZORK command to see what
+happened. A scrap of MDL source code is left (:find @muddle) but I
+don't know how to MIDAS it.
Changed to support its-user-install(1) command. Resubmitted whole because "diff -ur" patches can't add files *sigh* # 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: # # its # its/pkg-comment # its/Makefile # its/distinfo # its/pkg-plist # its/pkg-descr # its/files # its/files/its.sh # its/files/MIT-ITS-papers # its/files/README.FIRST # its/files/klh10-kn-freebsd.ini.in # its/files/its-user-install.sh # echo c - its mkdir -p its > /dev/null 2>&1 echo x - its/pkg-comment sed 's/^X//' >its/pkg-comment << 'END-of-its/pkg-comment' XBootable ITS filesystem for KLH-10 PDP-10 emulator END-of-its/pkg-comment echo x - its/Makefile sed 's/^X//' >its/Makefile << 'END-of-its/Makefile' X# New ports collection makefile for: its X# Date created: 11 January 2002 X# Whom: kstailey X# X# $FreeBSD$ X# X XPORTNAME= its XPORTVERSION= a11110 XCATEGORIES= emulators XMASTER_SITES= ftp://ftp.its.os.org/its/klh10/ XDISTNAME= pi-${PORTNAME}-${PORTVERSION} XEXTRACT_SUFX= .tar X XMAINTAINER= kstailey@yahoo.com X XBUILD_DEPENDS= kn10-ks:${PORTSDIR}/emulators/klh10 XRUN_DEPENDS= kn10-ks:${PORTSDIR}/emulators/klh10 X XONLY_FOR_ARCHS= i386 # really KLH10 has this problem. X XNO_WRKSUBDIR= yes XNO_BUILD= yes XNO_PACKAGE= PI ITS RP06 disk image is too big. XNO_CDROM= PI ITS RP06 disk image is too big. X X# KLH10_HOME and DRIVER_DIR must be set to the same locations X# that the klh10 port uses XKLH10_DIR= klh10-ks-its XKLH10_HOME= ${PREFIX}/share/${KLH10_DIR} XDRIVER_DIR= ${PREFIX}/libexec/${KLH10_DIR} XIMAGE_HOME?= ${KLH10_HOME} XIMAGE_NAME= PI-ITS-RP06.0-dbd9 XIMAGE_GZ= ${IMAGE_NAME}.gz XDOCDIR= ${PREFIX}/share/doc/${KLH10_DIR} XPLIST_SUB+= IMAGE_HOME=${IMAGE_HOME} X Xdo-install: X @ ${ECHO} Installing compressed PI ITS RP06 disk image in ${IMAGE_HOME} X.if (${IMAGE_HOME} == ${KLH10_HOME}) X @ ${ECHO} Use IMAGE_HOME=/my/directory to relocate. X.endif X @ ${MKDIR} ${IMAGE_HOME} X @ ${INSTALL_DATA} ${WRKDIR}/${IMAGE_GZ} ${IMAGE_HOME}/${IMAGE_GZ} X @ ${INSTALL_DATA} ${FILESDIR}/klh10-kn-freebsd.ini.in ${KLH10_HOME} X @ ${INSTALL_SCRIPT} ${FILESDIR}/its.sh ${PREFIX}/bin/its X @ ${SED} -e "s;@PI-IMG@;${IMAGE_NAME};g" \ X -e "s;@KLH-SHARE@;${KLH10_HOME};g" \ X -e "s;@KLH-LIBEX@;${DRIVER_DIR};g" \ X ${FILESDIR}/its-user-install.sh > ${WRKSRC}/its-user-install X @ ${INSTALL_SCRIPT} ${WRKSRC}/its-user-install ${PREFIX}/bin X @ ${INSTALL_MAN} ${FILESDIR}/MIT-ITS-papers ${DOCDIR} X @ ${SED} -e "s;@PREFIX@;${PREFIX};g" \ X ${FILESDIR}/README.FIRST >${WRKSRC}/README.FIRST X @ ${INSTALL_MAN} ${WRKSRC}/README.FIRST ${DOCDIR} X @ ${ECHO} "*** Please read ${DOCDIR}/README.FIRST" X.include <bsd.port.mk> END-of-its/Makefile echo x - its/distinfo sed 's/^X//' >its/distinfo << 'END-of-its/distinfo' XMD5 (pi-its-a11110.tar) = 277494d17643ca2d90ff04122be4e993 END-of-its/distinfo echo x - its/pkg-plist sed 's/^X//' >its/pkg-plist << 'END-of-its/pkg-plist' Xbin/its Xbin/its-user-install X%%PORTDOCS%%share/doc/klh10-ks-its/MIT-ITS-papers X%%PORTDOCS%%share/doc/klh10-ks-its/README.FIRST Xshare/klh10-ks-its/klh10-kn-freebsd.ini.in X@unexec rm -f %%IMAGE_HOME%%/PI-ITS-RP06.0-dbd9.gz END-of-its/pkg-plist echo x - its/pkg-descr sed 's/^X//' >its/pkg-descr << 'END-of-its/pkg-descr' XThis is an image of a PI (Public ITS) filesystem that can be booted on Xthe KLH10 PDP-10 emulator. X XThe emulator image is about 45MB compressed and 170MB uncompressed. XThe installation needs to have a minimum of 45MB in ports/disfiles Xplus 45MB in its/work plus 45MB in the installation directory which Xdefaults to /usr/local/share/klh10-ks-its. That's about 135MB total Xbut "make clean" will delete 45MB and "make distclean" will delete Xanother 45MB leaving you with only 45MB. After "make install" you Xmust run the "its-user-install" script as a regular user to install an Xuncompressed 170MB RP06 filesystem image and setup emulator support Xfiles. X XFor more information about ITS see WWW: http://www.its.os.org/ END-of-its/pkg-descr echo c - its/files mkdir -p its/files > /dev/null 2>&1 echo x - its/files/its.sh sed 's/^X//' >its/files/its.sh << 'END-of-its/files/its.sh' X#!/bin/sh X# X# $FreeBSD$ X# X# Run KLH10 with KS-ITS hardware configuration and ITS OS configuration X# to bring up MIT Incompatible Timesharing System emulation. X Xif [ ! -r ~/.itsrc ]; then X echo its: My config file '(~/.itsrc)' is missing! X echo its: Did you remember to run its-user-install\? X echo its: Terminating. X exit 1 Xfi X Xset -e # croak on corrupt config file. X. ~/.itsrc Xset +e X Xif [ "$KLH10_HOME" = "" ]; then X echo its: KLH10_HOME is missing from my config file. X echo its: terminating. X exit 1 Xelif [ ! -d "$KLH10_HOME" ]; then X echo its: $KLH10_HOME is not a directory. X echo its: terminating. X exit 1 Xfi X Xif [ "$PI_IMAGE" = "" ]; then X echo its: PI_IMAGE is missing from my config file. X echo its: Terminating. X exit 1 Xelif [ ! -w "$PI_IMAGE" ]; then X echo its: $PI_IMAGE is not a writable file. X echo its: Terminating. X exit 1 Xfi X Xcd $KLH10_HOME Xexec lockf -t 0 -k $PI_IMAGE kn10-ks klh10-kn-freebsd.ini END-of-its/files/its.sh echo x - its/files/MIT-ITS-papers sed 's/^X//' >its/files/MIT-ITS-papers << 'END-of-its/files/MIT-ITS-papers' XITS Status report (includes architecture info) from 1972 Xftp://publications.ai.mit.edu/ai-publications/0-499/AIM-238.ps X XITS reference manual from 1969: Xftp://publications.ai.mit.edu/ai-publications/0-499/AIM-161A.ps X XMidas macro assembler documentation from 1965: Xftp://publications.ai.mit.edu/ai-publications/0-499/AIM-090.ps X XDDT debugger ("system apex procedure" i.e. "shell") from 1968 Xftp://publications.ai.mit.edu/ai-publications/0-499/AIM-147.ps X XEmacs text editor (original ITS version) Xftp://publications.ai.mit.edu/ai-publications/500-999/AIM-519A.ps X XThese files may be converted to PDF or gzipped to save space: X$ ps2pdf13 AIM-238.ps AIM-238.pdf END-of-its/files/MIT-ITS-papers echo x - its/files/README.FIRST sed 's/^X//' >its/files/README.FIRST << 'END-of-its/files/README.FIRST' XConsider adding firewall protection for the KLH-10 emulator before Xever running it. See @PREFIX@/share/doc/its/pubits/adm directory for Xsamples. X XTo setup the emulator you must run the its-user-install(1) command. XIt takes no arguments. It is best to run it as a regular (non-root) Xuser. Once that has been done to start ITS run the its(1) command. XIt also takes no arguments. X XThe first time the ITS boots it will not know the time of day. ITS Xwill display this message: X XThe time could not be set because: XNo host responded. XIt will be necessary for someone to set the time Xmanually by logging in and running :PDSET. X XTell ITS to activate the apex procedure, DDT, by typing a Ctrl-Z. XWhen you type that you will see: X XKN ITS.1647. DDT.1545. XTTY 0 XYou're all alone, Fair share = 0% X X(ITS does not know the date, so messages cannot be reviewed right now.) X XThen run PDSET by typing (colon and all) X X:pdset X XITS will suggest that you log in but you don't have to. X X(Please Log In) X___002 PDSET IOTLSR X XNow enter the time and save it. First the century: X X20C X XNext the YYMMDD: X X020219D X XThen the HHMMSS (try to time it so you have some lead time because it Xwill become active when you save it.) X X235115T X XNow save the time: X X!. X XNow exit PDSET X XX X XYou will have no feedback from the exit operation except that new Xcommands will be echoed in lower case. Now bring down ITS so you can Xstart it without being root: X X:lock X(Please Log In) X LOCK.154 X_ X Xthe _ is a prompt, do not type it. Type X X5down X XLOCK is very picky about typos so be careful. It does not need the XEnter key so don't use it. X XDO YOU REALLY WANT THE SYSTEM TO GO DOWN? X XType "y" X Xy X___004 X PLEASE ENTER A BRIEF MESSAGE TO USERS, ENDED BY ^C XLOCK SYS DOWN MAIL WRITE 21:13:17 X XJust type Ctrl-C for the message unless you have a burning desire to Xtalk to yourself via ITS. X XKN ITS going down in 5:00 XCULPRIT = ___004 LOCK 21:13:38 X X X_ XKN ITS 1647 NOT IN OPERATION 21:13:38 XPFTHMG DRAGON CHANNA _DRGN_ TIMES WRITE 21:13:38 XPFTHMG DRAGON CHANNA LOGOUT TIMES DELRNM 21:13:38 X XAfter the "NOT IN OPERATION" message only very special programs like Xthe accounting dragon, PFTHMG DRAGON, may run. Be patient and it will Xfinish with: X XSHUTDOWN COMPLETE XPI LEVEL 7 BUGDDT. TYPE <ALTMODE>P TO CONTINUE. XYOU ARE NOW IN DDT. XBUGPC/ CAIA COFFI4+1 $Q-2/ JRST COFFI7 X XIf ITS gets stuck shutting down for more than five minutes just Xcontinue from here: X XAt this point type Ctrl-\ to abort KLH10 back to the monitor. X X[HALTED: FE interrupt] XKLH10> X Xand quit KLH10 X XKLH10> quit XAre you sure you want to quit? [Confirm]y XShutting down...Bye! X$ X XITS uses DEL for erasing characters. ITS defaults to dumb hardcopy Xterminal settings. This is a pain so you want to configure ITS to Xuse something nicer. ITS knows about VT52. If you are using xterm Xfrom XFree86 you can get into VT52 mode by running a script like this: X X#! /bin/sh X Xawk 'END {printf "%c[?2l", 27}' </dev/null X XFrom ITS run X:tctyp vt52 X XOn your VT52 mode terminal emulator. X XAn alternative is that you can use vt100 mode via the CRTSTY program Xwhich is a bit like window(1) in that you end up on something like a Xpty but only one full screen window is available and it does terminal Xemulation on it. You will be automatically logged in a second time on Xthe same terminal as a crufty side-effect. X X:crtsty vt100 speed 9600 X XRun :info and look at the introductory information about the Xfilesystem. I did not find that it covers directory operations very Xwell so here is what I have found out. ITS does have a process tree X(try the PEEK command) but does not have a directory tree. There is a XMaster File Directory MFD (try DSKUSE * or DIRED and then MFD. Use X"Q" to quit after either of those.) and User File Directories UFDs one Xlevel deep only. The only way to remove a directory is to delete its Xcontents and run the salvager. The salvager is the ITS equivalent of Xfsck and will automatically be run at boot time. To create a new Xdirectory provide certain options to the open UUO (ITS equivalent of Xsystem call; try the DOC UUO command.) Since the PRINT command calls Xthe open UUO you can create a directory using print: X X:print ..new. (udir) dirnam; X XWhere dirnam; is the name of the directory to be created. Directory Xnames are limited to six characters. X XMissing from this ITS distribution is the INQUIR database. It Xcontains user information. There were too many personal details in it Xand no one has been able to scrub it so it was left out. This means Xyou cannot have a complete user account yet. The best you can do is Xto pick a user name and make yourself a directory with that name and Xput a login script in it. In this example the user "user" is created: X X:login user X:print ..new. (udir) user; X:emacs login user X[add startup code like ":tctyp vt52" and ^X^S to save ^X^C to exit] X XYou log out with <ALTMODE><ALTMODE>u which is [Esc][Esc]u and Xrepresented in the documentation as $$u X XThe ITS equivalent of $PATH is implemented by scanning all Xdirectories for files for files with TS as the first name and Xthe second name set to the command you issued. By convention Xmost commands are in the SYS; SYS1; ... SYSN; directories. XITS supports symlinks via the LINK command and TS name is often Xa symlink. X XITS equivalent of job control works by typing ^Z to interrupt the Xcurrent program. To get back to the DDT prompt "*" use $^K X XDon't like DDT as the shell? Try MONMOD to use monitor mode where the Xcolon is printed for you. DDTMOD gets you back. Or try SHELL to Xbring up a UNIX-like shell. X XZork was developed in MDL (muddle) on an ITS system but apparently it Xsuffered from being too popular. Try the ZORK command to see what Xhappened. A scrap of MDL source code is left (:find @muddle) but I Xdon't know how to MIDAS it. END-of-its/files/README.FIRST echo x - its/files/klh10-kn-freebsd.ini.in sed 's/^X//' >its/files/klh10-kn-freebsd.ini.in << 'END-of-its/files/klh10-kn-freebsd.ini.in' X; KLH10 emulator configuration for KN ITS system from FreeBSD ports collection.. X X; Define basic KS10 device config - two RH11s each on its own Unibus X Xdevdef rh0 ub1 rh11 addr=776700 br=6 vec=254 Xdevdef rh1 ub3 rh11 addr=772440 br=6 vec=224 X X; Provide one disk, one tape in config ITS expects X Xdevdef dsk0 rh0.0 rp type=rp06 format=dbd9 path=@KLH-HOME@/PI-ITS-RP06.0-dbd9 iodly=0 Xdevdef mta0 rh1.0 tm02 fmtr=tm03 type=tu45 X X; ITS wants a 60Hz clock, allow it. Need this until defaults OK. Xset clk_ithzfix=60 X X; Define IMP for KN Xdevdef imp ub3 lhdh addr=767600 br=6 vec=250 ipaddr=@IPADDR@ gwaddr=@GWADDR@ X X; Dummy definitions. Only one DZ is still (apparently) needed. Xdevdef dz0 ub3 dz11 addr=760010 br=5 vec=340 X;devdef dz1 ub3 dz11 addr=760020 br=5 vec=350 X;devdef chaos ub3 ch11 addr=764140 br=5 vec=270 X X; Define new HOST device hackery Xdevdef idler ub3 host addr=777000 X X; Preload ITS for convenience Xload @.its-647kn-u X X; Use "GO 774000" to start DDT, else just "GO" to start ITS X END-of-its/files/klh10-kn-freebsd.ini.in echo x - its/files/its-user-install.sh sed 's/^X//' >its/files/its-user-install.sh << 'END-of-its/files/its-user-install.sh' X#! /bin/sh X X# $FreeBSD$ X X# 1) zcat the PI fs image into a user's directory (the compressed X# image location is also configurable via "make install") X# X# 2) copy or lndir the /usr/local/share/klh10-ks-its/* (this location X# is immutable) bits into a user's directory X# X# 3) generate the klh-kn-its-freebsd .ini file for the user X# X# 4) generate ~/.itsrc file for its(1) command so that multple users X# can use its(1) with different filesystem images. X Xumask 022 X X# remove symlinks in cleanup()? X Xcleanup() { X rm -f $KLH10_HOME/@PI-IMG@ X echo its-install-user: Terminating. X exit 1 X} X Xtrap cleanup 1 2 3 15 X Xvalidate_ip() { X echo $1 | grep -q -s '[^0-9\.]' X if [ $? != 1 ]; then X echo its-install-user: IP address must be digits and periods only. X return 1 X fi X echo $1 | grep -q -s '\..*\..*\.' X if [ $? != 0 ]; then X echo its-install-user: IP address must have at least three periods. X return 1 X fi X echo $1 | grep -q -s '\..*\..*\..*\.' X if [ $? = 0 ]; then X echo its-install-user: IP address must not exceed three periods. X return 1 X fi X echo $1 | grep -q -s '\.\.' X if [ $? = 0 ]; then X echo its-install-user: IP address must not have consecutive periods. X return 1 X fi X OLDIFS="$IFS" X IFS=. X set $1 X for i in $* ; do X if [ $1 -gt 255 ]; then X echo its-install-user: Octet of IP address must not exceed 255. X IFS="$OLDIFS" X return 1 X fi X done X IFS="$OLDIFS" X return 0 X} X Xif [ ! -d @KLH-SHARE@ ]; then X echo its-install-user: Can\'t find the emulator directory. X cleanup Xfi X Xcd @KLH-SHARE@ X Xif [ ! -r @PI-IMG@.gz ]; then X echo its-install-user: The compressed PI disk image is missing. X cleanup Xfi X Xvalid_input=false Xwhile [ $valid_input = false ]; do X KLH10_HOME=~/klh10-its-home X echo Where do you want to install the 170MB filesystem image\? X echo -n "[default: $KLH10_HOME]: " X read ans X if [ "$ans" != "" ]; then X KLH10_HOME=$ans X fi X X if [ -e $KLH10_HOME -a ! -d $KLH10_HOME ]; then X echo There already is a non-directory $KLH10_HOME in the filesystem. X continue X fi X if [ ! -d $KLH10_HOME ]; then X echo -n "$KLH10_HOME is not an existing directory. Create it? (y/n) " X read yorn X case "$yorn" in X y|Y) X if ! mkdir -p $KLH10_HOME ; then X echo its-install-user: Can\'t make the target directory. X cleanup X else X valid_input=true X fi X ;; X n|N) X echo Type the interupt key to quit or try again. X ;; X *) X echo "I do not recognize your answer. ($yorn)" X ;; X esac X elif [ ! -w $KLH10_HOME ]; then X if ! chmod u+w $KLH10_HOME || chmod g+w $KLH10_HOME; then X echo its-install-user: Can\'t write in $KLH10_HOME X elif [ ! -w $KLH10_HOME ]; then X echo its-install-user: Can\'t write in $KLH10_HOME X else X valid_input=true X fi X else X valid_input=true X fi Xdone X Xecho Extracting @PI-IMG@.gz into $KLH10_HOME Xzcat @PI-IMG@.gz > $KLH10_HOME/@PI-IMG@ X Xif [ $? != 0 ]; then X echo its-install-user: What a mess--the extract failed. X cleanup Xfi X Xecho Linking up the emulator support files. Xfor i in *; do X case $i in X @PI-IMG@.gz) # exclusions X ;; X *) X rm -f $KLH10_HOME/$i && ln -s @KLH-SHARE@/$i $KLH10_HOME X if [ $? != 0 ]; then X echo its-install-user: Failed to make symlinks. X cleanup X fi X ;; X esac Xdone Xcd @KLH-LIBEX@ Xfor i in *; do X rm -f $KLH10_HOME/$i && ln -s @KLH-LIBEX@/$i $KLH10_HOME X if [ $? != 0 ]; then X echo its-install-user: Failed to make symlinks. X cleanup X fi Xdone Xcd $KLH10_HOME X XEM_IP=10.134.198.236 Xvalid_input=false Xwhile [ $valid_input = false ]; do X echo -n "What is the IP address for the emulated PDP-10? [$EM_IP]: " X read ans X if [ "$ans" != "" ]; then X if validate_ip $ans ; then X valid_input=true X EM_IP=$ans X fi X else X valid_input=true X fi Xdone X XGW_IP=10.0.0.1 Xvalid_input=false Xwhile [ $valid_input = false ]; do X echo -n "What is the IP address for the gateway' [$GW_IP]: " X read ans X if [ "$ans" != "" ]; then X if validate_ip $ans ; then X valid_input=true X GW_IP=$ans X fi X else X valid_input=true X fi Xdone X Xsed -e "s;@IPADDR@;$EM_IP;g" \ X -e "s;@GWADDR@;$GW_IP;g" \ X -e "s;@KLH-HOME@;$KLH10_HOME;g" \ X < klh10-kn-freebsd.ini.in > klh10-kn-freebsd.ini Xif [ $? != 0 ]; then X echo its-install-user: Failed to generate ini file. X cleanup Xfi Xrm -f klh10-kn-freebsd.ini.in X Xrm -f ~/itsrc Xecho KLH10_HOME=$KLH10_HOME > ~/.itsrc Xecho PI_IMAGE=$KLH10_HOME/@PI-IMG@ >> ~/.itsrc Xif [ $? != 0 ]; then X echo its-install-user: Failed to generate rc file. X cleanup Xfi END-of-its/files/its-user-install.sh exit Patched to prevent unprivleged users from running dpimp. Users must
now be in group network in order to use a networked KLH-10 and ITS.
Non-networked versions may still be used. Also fixed a few typos.
diff -ur its/files/its-user-install.sh /usr/ports/emulators/its/files/its-user-install.sh
--- its/files/its-user-install.sh Tue Feb 19 09:32:15 2002
+++ /usr/ports/emulators/its/files/its-user-install.sh Tue Feb 19 09:50:44 2002
@@ -50,8 +50,8 @@
IFS=.
set $1
for i in $* ; do
- if [ $1 -gt 255 ]; then
- echo its-install-user: Octet of IP address must not exceed 255.
+ if [ $i -gt 255 ]; then
+ echo its-install-user: Octets of IP address must not exceed 255.
IFS="$OLDIFS"
return 1
fi
@@ -59,6 +59,23 @@
IFS="$OLDIFS"
return 0
}
+
+in_network=false
+for i in `groups`; do
+ if [ $i = network ]; then
+ in_network=true
+ break
+ fi
+done
+
+if [ `whoami` = root ]; then
+ in_network=true
+fi
+
+if [ $in_network = false ]; then
+ echo WARNING: You must be in group network in order to run a networked ITS.
+ echo WARNING: You may still run a non-networked ITS.
+fi
if [ ! -d @KLH-SHARE@ ]; then
echo its-install-user: Can\'t find the emulator directory.
diff -ur its/files/its.sh /usr/ports/emulators/its/files/its.sh
--- its/files/its.sh Tue Feb 19 09:32:15 2002
+++ /usr/ports/emulators/its/files/its.sh Tue Feb 19 09:38:07 2002
@@ -5,6 +5,23 @@
# Run KLH10 with KS-ITS hardware configuration and ITS OS configuration
# to bring up MIT Incompatible Timesharing System emulation.
+in_network=false
+for i in `groups`; do
+ if [ $i = network ]; then
+ in_network=true
+ break
+ fi
+done
+
+if [ `whoami` = root ]; then
+ in_network=true
+fi
+
+if [ $in_network = false ]; then
+ echo WARNING: You must be in group network in order to run a networked ITS.
+ echo WARNING: You may still run a non-networked ITS.
+fi
+
if [ ! -r ~/.itsrc ]; then
echo its: My config file '(~/.itsrc)' is missing!
echo its: Did you remember to run its-user-install\?
State Changed From-To: open->closed If I'm not mistaken, this one is done with ports/39912. |