PDB
The Package Database Manager
Last Revised: by Lorraine Kiewiet 12/5/84
Each entry in the database is a "package" of software consisting of a name, a collection of files, and other relevant attributes listed below.
Attribute Value
Name PackageName
Type {LIBRARY, USER, SYSTEM}
Class (OPEN=ok for customers; RESTRICTED=Xerox only)
Files (A list of all the files comprising this package)
Machines {T=runs on all machines, 1108, 1100, 1132, or a list of same}
Sources {OPEN=ok for customers; RESTRICTED=Xerox only}
LispType {D, 10}
Maintainer The maintainer's name (string)followed by ARPAnet address
if available. Printed in documentation for USERS packages.
Author The author's name (string)
Category {a functionality grouping for arrangement of released pkgs.}
Validated {T=validated to run in next customer release; or NIL}
Each file falls into one of the following FileTypes, identified by file extension:
Source LSP or no extension
Compiled DCOM or COM
LongDoc TED, BX, BRAVO, TXT, DOC
ShortDoc TTY
Press PRESS, IP
The following database functions are now available:
(DefineLPDB ReleaseName Fileserver LibraryDir UserDir SystemDir)
(InitLPDB Fileserver Dir Type)
(Display PackageName Fields)
(Setfield PackageName FieldName NewValue)
(Collect KeyAttribute Restrictions)
(CollectFiles FileTypes PackageNames)
(SaveLPDB {host}
)
(GetLPDB {host} version)
(FindOrphans Type)
(Adopt HomePackage Orphans)
(NewPackage Name Att1 Val1 ... AttN ValN)
(DeletePackage PackageNames)
(PackageFile PackageName FileNames)
(DeleteFiles PackageName FileNames)
(SortLPDB)
(LocateFile FileName)
(VerifyPackageFiles packagename files host dir)
(ObtainFileNames Filetyp Filenames Host Dir)
RELATED PACKAGE: PRINTSUMMARY
(Printsummary Type FileName)
*****Sample Session*****
LOAD({ROSE}CAROL>PDB.DCOM]
DefineLPDB(ROSE LIBRARY CURRENT)
InitLPDB(ROSE LIBRARY> LIBRARY)
OR: (GetLPDB '{Dante}PDB>)
...gets the highest version number of the file LISPPACKAGEDATABASE. User may specify lower version number after Directory argument.
Display(TEDIT)
Display(TEDIT FILES)
Display(TEDIT CLASS)
PackageFile(TEDIT TEDIT.TEDIT TEDITPAGE.DCOM)
...adds the two files to the list of files already associated with TEDIT
Locatefile(IMAGEOJB)
...locates the HomePackage for the file IMAGEOBJ
(SETQ LIBORPHANS (FINDORPHANS 'LIBRARY)
...an orphan is a package without any documentation
(ADOPT TEDIT IMAGEOBJ)
...IMAGEOBJ really belongs to TEDIT
SETFIELD(LAFITE CLASS RESTRICTED)
DeletePackage(ACTIVE)
Collect(NAME (TYPE LIBRARY CLASS OPEN)
...collect the package names of open, Library files
Collect(FILES (CLASS RESTRICTED)
...collect all the file names of every Restricted package
Collect(NAME (CLASS RESTRICTED FILES (~PRESS ~LONGDOC]
...collect name of every restricted package with no press or long doc files
Collect(NAME (CLASS OPEN FILES (LONGDOC SHORTDOC]
...collect name of every open package with long or short doc files
Collect(NAME (CLASS OPEN TYPE LIBRARY FILES (~PRESS ~LONGDOC ~SHORTDOC]
...collect name of every open Library package with no documentation
Collect(NAME (CLASS OPEN TYPE LIBRARY AUTHOR NIL MAINTAINER NIL]
...collect name of every open Library package with no known author or maintainer
Collect(NAME (MACHINES 1100 1132 ]
...collect name of every package which runs on a Dolphin
VerifyPackageFiles ((BROWSER RS232) {DANTE} LIBRARY>]
...Check the list of files belonging to the packages BROWSER AND RS232 on the Host Dante and return the names of all the files NOT found.
OR
(SETQ DanteLibraryFiles (Obtainfilename 'DIR NIL 'DANTE 'LISPNEW>LIBRARY>)
(VerifyPackageFiles '(Teleraid RS232) DanteLibraryFiles)
...runs much faster
SaveLPDB({Rose}Carol)
...save the updated version of the database
(LOAD '{DANTE}PDB>PRINTSUMMARY)
(PRINTSUMMARY 'LIBRARY '{DANTE}PDB>LIBRARY.SUMMARY)
(EMPRESS '{DANTE}PDB>LIBRARY.SUMMARY)
(LIST ((PAGE NIL NIL (0 0 612 792) ((TEXT NIL NIL (2540 2540 16510 22860) NIL))) (PAGE NIL NIL (0 0 612 792) ((TEXT NIL NIL (2540 2540 16510 22860) NIL))) (PAGE NIL NIL (0 0 612 792) ((TEXT NIL NIL (2540 2540 16510 22860) NIL))))) NIL NIL HELVETICA NIL NIL HELVETICA NIL NIL HELVETICA NIL NIL HELVETICA NIL NIL A(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL))
NIL NIL + A(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL))
NIL NIL A(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL))
NIL NIL HELVETICA
NIL NIL HELVETICA
NIL NIL HELVETICA
NIL NIL HELVETICA
NIL NIL HELVETICA
NIL NIL HELVETICA
NIL NIL 8 HELVETICA
NIL NIL ; HELVETICA
NIL NIL I HELVETICA
NIL NIL 9 HELVETICA
NIL NIL HELVETICA
NIL NIL H HELVETICA
NIL NIL D HELVETICA
NIL NIL &