vms build fix
Noticed when trying out the "heck patch", where the name of the file
for the sanctum level was changed and I neglected to update my Makefile to
reflect that: nothing was noticed if any files were missing when loading
them into a dlb container. Populating the playground directory for the
non-dlb configuration suffered a similar problem. Now the VMS playground
setup will issue a warning message if this happens (but not abort the
installation; perhaps it ought to do that as well...).
Other ports have the same problem. For example, Unix Makefile.top
relies on file globbing to build the dlb container; if a wildcard pattern
matches no files, dlb won't notice because the shell will have eaten the
offending pattern. Likewise for its non-dlb configuration, where cp won't
notice. However, this isn't a very interesting bug because it won't hit
when the distributed Makefiles correspond with the needed data files.
This commit is contained in:
@@ -160,6 +160,8 @@ linux: use random() by default instead of lrand48()
|
|||||||
OpenBSD: time() prototype and correct default Mail program
|
OpenBSD: time() prototype and correct default Mail program
|
||||||
Gnome: compilation problems on Solaris
|
Gnome: compilation problems on Solaris
|
||||||
unix: better error message for .nethackrc access problems
|
unix: better error message for .nethackrc access problems
|
||||||
|
vms: during installation, warn if dlb file creation or non-dlb playground
|
||||||
|
setup is missing expected data files
|
||||||
|
|
||||||
|
|
||||||
General New Features
|
General New Features
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ $ dgn_comp := $sys$disk:[-.util]dgn_comp
|
|||||||
$ dlb := $sys$disk:[-.util]dlb
|
$ dlb := $sys$disk:[-.util]dlb
|
||||||
$ milestone = "write sys$output f$fao("" !5%T "",0),"
|
$ milestone = "write sys$output f$fao("" !5%T "",0),"
|
||||||
$ if p3.nes."" .and. f$edit(p4,"UPCASE").nes."VERBOSE" then milestone = "!"
|
$ if p3.nes."" .and. f$edit(p4,"UPCASE").nes."VERBOSE" then milestone = "!"
|
||||||
|
$ echo = "write sys$output"
|
||||||
|
$ warn = echo !could be "write sys$error"
|
||||||
$!
|
$!
|
||||||
$! make sure we've got a playground location
|
$! make sure we've got a playground location
|
||||||
$ gamedir := 'gamedir'
|
$ gamedir := 'gamedir'
|
||||||
@@ -108,9 +110,11 @@ $dloop:
|
|||||||
$ g = f$element(i,",",dlb_files)
|
$ g = f$element(i,",",dlb_files)
|
||||||
$ if g.eqs."," then goto ddone
|
$ if g.eqs."," then goto ddone
|
||||||
$ wild = f$locate("*",g).ne.f$locate("%",g)
|
$ wild = f$locate("*",g).ne.f$locate("%",g)
|
||||||
|
$ fcnt = 0
|
||||||
$floop:
|
$floop:
|
||||||
$ f = f$search(g)
|
$ f = f$search(g)
|
||||||
$ if f.eqs."" then goto fdone
|
$ if f.eqs."" then goto fdone
|
||||||
|
$ fcnt = fcnt + 1
|
||||||
$! strip device, directory, and version from name
|
$! strip device, directory, and version from name
|
||||||
$ f = f$parse(f,,,"NAME") + f$parse(f,,,"TYPE")
|
$ f = f$parse(f,,,"NAME") + f$parse(f,,,"TYPE")
|
||||||
$! strip trailing dot, if present, and change case
|
$! strip trailing dot, if present, and change case
|
||||||
@@ -120,6 +124,7 @@ $ if f$extract(3,1,f).eqs."-" then - !"xyz-foo.lev" -> "Xyz-foo.lev"
|
|||||||
$ write pfile$ f
|
$ write pfile$ f
|
||||||
$ if wild then goto floop
|
$ if wild then goto floop
|
||||||
$fdone:
|
$fdone:
|
||||||
|
$ if fcnt.eq.0 then warn "? no file(s) found for """,g,""""
|
||||||
$ i = i + 1
|
$ i = i + 1
|
||||||
$ goto dloop
|
$ goto dloop
|
||||||
$ddone:
|
$ddone:
|
||||||
@@ -223,7 +228,7 @@ $! done
|
|||||||
$ milestone "<done>"
|
$ milestone "<done>"
|
||||||
$ define/nolog nethackdir 'gamedir'
|
$ define/nolog nethackdir 'gamedir'
|
||||||
$ define/nolog hackdir 'gamedir'
|
$ define/nolog hackdir 'gamedir'
|
||||||
$ write sys$output -
|
$ echo -
|
||||||
f$fao("!/ Nethack installation complete. !/ Playground is !AS !/",gamedir)
|
f$fao("!/ Nethack installation complete. !/ Playground is !AS !/",gamedir)
|
||||||
$ exit
|
$ exit
|
||||||
$
|
$
|
||||||
@@ -244,14 +249,17 @@ $ g = f$element(i,",",p1)
|
|||||||
$ if g.eqs."," then goto ldone
|
$ if g.eqs."," then goto ldone
|
||||||
$ g = p2 + g
|
$ g = p2 + g
|
||||||
$ wild = f$locate("*",g).ne.f$locate("%",g)
|
$ wild = f$locate("*",g).ne.f$locate("%",g)
|
||||||
|
$ fcnt = 0
|
||||||
$eloop:
|
$eloop:
|
||||||
$ f = f$search(g)
|
$ f = f$search(g)
|
||||||
$ if f.eqs."" then goto edone
|
$ if f.eqs."" then goto edone
|
||||||
|
$ fcnt = fcnt + 1
|
||||||
$ f = f - f$parse(f,,,"VERSION")
|
$ f = f - f$parse(f,,,"VERSION")
|
||||||
$ e = f$parse(f,,,"NAME") + f$parse(f,,,"TYPE")
|
$ e = f$parse(f,,,"NAME") + f$parse(f,,,"TYPE")
|
||||||
$ call copy_file 'f' 'gamedir''e' "''p3'"
|
$ call copy_file 'f' 'gamedir''e' "''p3'"
|
||||||
$ if wild then goto eloop
|
$ if wild then goto eloop
|
||||||
$edone:
|
$edone:
|
||||||
|
$ if fcnt.eq.0 then warn "? no file(s) found for """,g,""""
|
||||||
$ i = i + 1
|
$ i = i + 1
|
||||||
$ goto lloop
|
$ goto lloop
|
||||||
$ldone:
|
$ldone:
|
||||||
|
|||||||
Reference in New Issue
Block a user