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)))))NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNILA(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) NILNIL+A(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) NILNILA(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL8 HELVETICA NILNIL; HELVETICA NILNILI HELVETICA NILNIL9 HELVETICA NILNIL HELVETICA NILNILH HELVETICA NILNILD HELVETICA NILNIL& HELVETICA NILNILH HELVETICA NILNILB HELVETICA NILNIL HELVETICA NILNILS HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL" HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL4 HELVETICA NILNIL HELVETICA NILNIL HELVETICA 4 HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA HELVETICA  HELVETICA  HELVETICA  HELVETICA  HELVETICA  HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA  HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA HELVETICA  HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL! HELVETICA NILNIL HELVETICA NILNIL9 HELVETICA NILNIL HELVETICA NILNIL& HELVETICA NILNIL HELVETICA NILNIL% HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL. HELVETICA NILNIL HELVETICA NILNILI HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL1 HELVETICA NILNIL HELVETICA NILNIL( HELVETICA NILNIL HELVETICA NILNIL4 HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL$ HELVETICA NILNIL HELVETICA NILNIL" HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL' HELVETICA NILNIL HELVETICA NILNIL4 HELVETICA NILNIL HELVETICA NILNIL! HELVETICA NILNIL HELVETICA NILNIL: HELVETICA NILNIL HELVETICA NILNIL7 HELVETICA NILNIL HELVETICA NILNILL HELVETICA NILNIL HELVETICA NILNIL2 HELVETICA NILNIL HELVETICA NILNILC HELVETICA NILNIL HELVETICA NILNILH HELVETICA NILNIL HELVETICA NILNILD HELVETICA NILNIL HELVETICA NILNILA HELVETICA NILNIL HELVETICA NILNILQ HELVETICA NILNIL HELVETICA NILNIL# HELVETICA NILNIL HELVETICA NILNIL: HELVETICA NILNIL HELVETICA NILNILB HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNILM HELVETICA NILNIL< HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL HELVETICA NILNIL+ HELVETICA A(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) NILNILA(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) NILNIL) HELVETICA NILNIL HELVETICA NILNIL= HELVETICA NILNIL HELVETICA NILNIL. HELVETICA A(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) NILNILA(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) NILNILA(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) NILNILA(DEFAULTFONT 1 (GACHA 10) (GACHA 8 NNN NIL) (TERMINAL 8 NNN NIL)) qz