d65e5aee6a
This is a bugfix release, no new features introduced. As a compensation for no new features, savegames and bones levels from NetHack 3.4.0 should work, and that's why I kept the datafile directory named nethackdir340. In theory you should be able to simply update the nethack pkgs and continue playing, but I'll not accept any death threats if it doesn't work, so please make sure you make the appropriate backups before trying.
121 lines
4 KiB
Text
121 lines
4 KiB
Text
$NetBSD: patch-ab,v 1.9 2003/03/01 21:12:52 pooka Exp $
|
|
|
|
--- sys/unix/Makefile.top.orig 2003-02-23 16:43:39.000000000 +0200
|
|
+++ sys/unix/Makefile.top 2003-03-01 22:06:45.000000000 +0200
|
|
@@ -14,18 +14,17 @@
|
|
# MAKE = make
|
|
|
|
# make NetHack
|
|
-PREFIX = /usr
|
|
GAME = nethack
|
|
# GAME = nethack.prg
|
|
-GAMEUID = games
|
|
-GAMEGRP = bin
|
|
+GAMEUID = root
|
|
+GAMEGRP = games
|
|
|
|
# Permissions - some places use setgid instead of setuid, for instance
|
|
# See also the option "SECURE" in include/config.h
|
|
-GAMEPERM = 04755
|
|
-FILEPERM = 0644
|
|
+GAMEPERM = 2755
|
|
+FILEPERM = 0664
|
|
EXEPERM = 0755
|
|
-DIRPERM = 0755
|
|
+DIRPERM = 0775
|
|
|
|
# GAMEDIR also appears in config.h as "HACKDIR".
|
|
# VARDIR may also appear in unixconf.h as "VAR_PLAYGROUND" else GAMEDIR
|
|
@@ -35,12 +34,12 @@
|
|
# therefore there should not be anything in GAMEDIR that you want to keep
|
|
# (if there is, you'll have to do the installation by hand or modify the
|
|
# instructions)
|
|
-GAMEDIR = $(PREFIX)/games/lib/$(GAME)dir
|
|
+GAMEDIR = $(PREFIX)/share/$(GAME)dir340
|
|
VARDIR = $(GAMEDIR)
|
|
-SHELLDIR = $(PREFIX)/games
|
|
+SHELLDIR = $(PREFIX)/bin
|
|
|
|
# per discussion in Install.X11 and Install.Qt
|
|
-VARDATND =
|
|
+VARDATND = pet_mark.xbm rip.xpm
|
|
# VARDATND = x11tiles pet_mark.xbm
|
|
# VARDATND = x11tiles pet_mark.xbm rip.xpm
|
|
# for Atari/Gem
|
|
@@ -87,9 +86,12 @@
|
|
$(GAME):
|
|
( cd src ; $(MAKE) )
|
|
|
|
-all: $(GAME) recover Guidebook $(VARDAT) dungeon spec_levs check-dlb
|
|
+all: $(GAME) datastuff
|
|
@echo "Done."
|
|
|
|
+datastuff: recover Guidebook $(VARDAT) dungeon spec_levs check-dlb
|
|
+ @echo "Data Sets Built."
|
|
+
|
|
# Note: many of the dependencies below are here to allow parallel make
|
|
# to generate valid output
|
|
|
|
@@ -180,18 +182,15 @@
|
|
-e '}' \
|
|
-e '$$s/.*/nodlb/p' < dat/options` ; \
|
|
$(MAKE) dofiles-$${target-nodlb}
|
|
- cp src/$(GAME) $(GAMEDIR)
|
|
- cp util/recover $(GAMEDIR)
|
|
+ cp util/recover $(PREFIX)/bin
|
|
-rm -f $(SHELLDIR)/$(GAME)
|
|
sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \
|
|
-e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \
|
|
+ -e 's;XXXPREFIXXXX;$(PREFIX);' \
|
|
< sys/unix/nethack.sh \
|
|
> $(SHELLDIR)/$(GAME)
|
|
# set up their permissions
|
|
- -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
|
|
- $(CHGRP) $(GAMEGRP) $(GAME) recover )
|
|
- chmod $(GAMEPERM) $(GAMEDIR)/$(GAME)
|
|
- chmod $(EXEPERM) $(GAMEDIR)/recover
|
|
+ chmod $(EXEPERM) $(PREFIX)/bin/recover
|
|
-$(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME)
|
|
$(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME)
|
|
chmod $(EXEPERM) $(SHELLDIR)/$(GAME)
|
|
@@ -227,16 +226,16 @@
|
|
# and a reminder
|
|
@echo You may also want to install the man pages via the doc Makefile.
|
|
|
|
-install: $(GAME) recover $(VARDAT) dungeon spec_levs
|
|
+install-dat: recover $(VARDAT) dungeon spec_levs
|
|
# set up the directories
|
|
# not all mkdirs have -p; those that don't will create a -p directory
|
|
-mkdir -p $(SHELLDIR)
|
|
- -rm -rf $(GAMEDIR) $(VARDIR)
|
|
-mkdir -p $(GAMEDIR) $(VARDIR) $(VARDIR)/save
|
|
-rmdir ./-p
|
|
-$(CHOWN) $(GAMEUID) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
|
|
$(CHGRP) $(GAMEGRP) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
|
|
- chmod $(DIRPERM) $(GAMEDIR) $(VARDIR) $(VARDIR)/save
|
|
+ chmod $(DIRPERM) $(GAMEDIR) $(VARDIR)
|
|
+ chmod 770 $(VARDIR)/save
|
|
# set up the game files
|
|
( $(MAKE) dofiles )
|
|
# set up some additional files
|
|
@@ -244,9 +243,20 @@
|
|
-( cd $(VARDIR) ; $(CHOWN) $(GAMEUID) perm record logfile ; \
|
|
$(CHGRP) $(GAMEGRP) perm record logfile ; \
|
|
chmod $(FILEPERM) perm record logfile )
|
|
+ -touch -c $(VARDIR)/bones* $(VARDIR)/?lock* $(VARDIR)/wizard*
|
|
+ -touch -c $(VARDIR)/save/*
|
|
+ -mkdir -p $(PREFIX)/share/doc/nethack
|
|
+ cp doc/Guidebook $(PREFIX)/share/doc/nethack
|
|
+ chown $(GAMEUID):$(GAMEGRP) $(PREFIX)/share/doc/nethack/Guidebook
|
|
+ chmod $(FILEPERM) $(PREFIX)/share/doc/nethack/Guidebook
|
|
# and a reminder
|
|
@echo You may also want to reinstall the man pages via the doc Makefile.
|
|
|
|
+binfiles: $(GAME)
|
|
+ cp src/$(GAME) $(SHELLDIR)/$(GAME)$(GTYPE)
|
|
+ -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME)$(GTYPE) ; \
|
|
+ $(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME)$(GTYPE) )
|
|
+ chmod $(GAMEPERM) $(SHELLDIR)/$(GAME)$(GTYPE)
|
|
|
|
# 'make clean' removes all the .o files, but leaves around all the executables
|
|
# and compiled data files
|