Add a chroot install hints file for linux
This makes installing NetHack on a public server much easier. Required some minor changes to the unix top-level Makefile, and the other hints files; Makefile variable HACKDIR may not be a full path anymore, use INSTDIR instead.
This commit is contained in:
@@ -40,7 +40,7 @@ DIRPERM = 0755
|
|||||||
# (if there is, you'll have to do the installation by hand or modify the
|
# (if there is, you'll have to do the installation by hand or modify the
|
||||||
# instructions)
|
# instructions)
|
||||||
#HACKDIR = $(PREFIX)/games/lib/$(GAME)dir
|
#HACKDIR = $(PREFIX)/games/lib/$(GAME)dir
|
||||||
VARDIR = $(HACKDIR)
|
#VARDIR = $(HACKDIR)
|
||||||
# Where nethack.sh in installed. If this is not defined, the wrapper is not used.
|
# Where nethack.sh in installed. If this is not defined, the wrapper is not used.
|
||||||
#SHELLDIR = $(PREFIX)/games
|
#SHELLDIR = $(PREFIX)/games
|
||||||
|
|
||||||
@@ -201,9 +201,9 @@ dofiles:
|
|||||||
-e '}' \
|
-e '}' \
|
||||||
-e '$$s/.*/nodlb/p' < dat/options` ; \
|
-e '$$s/.*/nodlb/p' < dat/options` ; \
|
||||||
$(MAKE) dofiles-$${target-nodlb}
|
$(MAKE) dofiles-$${target-nodlb}
|
||||||
(cd dat ; cp symbols $(HACKDIR) )
|
(cd dat ; cp symbols $(INSTDIR) )
|
||||||
cp src/$(GAME) $(HACKDIR)
|
cp src/$(GAME) $(INSTDIR)
|
||||||
cp util/recover $(HACKDIR)
|
cp util/recover $(INSTDIR)
|
||||||
-if test -n '$(SHELLDIR)'; then rm -f $(SHELLDIR)/$(GAME); fi
|
-if test -n '$(SHELLDIR)'; then rm -f $(SHELLDIR)/$(GAME); fi
|
||||||
if test -n '$(SHELLDIR)'; then \
|
if test -n '$(SHELLDIR)'; then \
|
||||||
sed -e 's;/usr/games/lib/nethackdir;$(HACKDIR);' \
|
sed -e 's;/usr/games/lib/nethackdir;$(HACKDIR);' \
|
||||||
@@ -211,41 +211,41 @@ dofiles:
|
|||||||
< sys/unix/nethack.sh \
|
< sys/unix/nethack.sh \
|
||||||
> $(SHELLDIR)/$(GAME) ; fi
|
> $(SHELLDIR)/$(GAME) ; fi
|
||||||
# set up their permissions
|
# set up their permissions
|
||||||
-( cd $(HACKDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
|
-( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \
|
||||||
$(CHGRP) $(GAMEGRP) $(GAME) recover )
|
$(CHGRP) $(GAMEGRP) $(GAME) recover )
|
||||||
chmod $(GAMEPERM) $(HACKDIR)/$(GAME)
|
chmod $(GAMEPERM) $(INSTDIR)/$(GAME)
|
||||||
chmod $(EXEPERM) $(HACKDIR)/recover
|
chmod $(EXEPERM) $(INSTDIR)/recover
|
||||||
-if test -n '$(SHELLDIR)'; then \
|
-if test -n '$(SHELLDIR)'; then \
|
||||||
$(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME); fi
|
$(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME); fi
|
||||||
if test -n '$(SHELLDIR)'; then \
|
if test -n '$(SHELLDIR)'; then \
|
||||||
$(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME); \
|
$(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME); \
|
||||||
chmod $(EXEPERM) $(SHELLDIR)/$(GAME); fi
|
chmod $(EXEPERM) $(SHELLDIR)/$(GAME); fi
|
||||||
-( cd $(HACKDIR) ; $(CHOWN) $(GAMEUID) symbols ; \
|
-( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) symbols ; \
|
||||||
$(CHGRP) $(GAMEGRP) symbols ; \
|
$(CHGRP) $(GAMEGRP) symbols ; \
|
||||||
chmod $(FILEPERM) symbols )
|
chmod $(FILEPERM) symbols )
|
||||||
|
|
||||||
dofiles-dlb: check-dlb
|
dofiles-dlb: check-dlb
|
||||||
( cd dat ; cp nhdat $(DATNODLB) $(HACKDIR) )
|
( cd dat ; cp nhdat $(DATNODLB) $(INSTDIR) )
|
||||||
# set up their permissions
|
# set up their permissions
|
||||||
-( cd $(HACKDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
|
-( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \
|
||||||
$(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \
|
$(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \
|
||||||
chmod $(FILEPERM) nhdat $(DATNODLB) )
|
chmod $(FILEPERM) nhdat $(DATNODLB) )
|
||||||
|
|
||||||
dofiles-nodlb:
|
dofiles-nodlb:
|
||||||
# copy over the game files
|
# copy over the game files
|
||||||
( cd dat ; cp $(DAT) $(HACKDIR) )
|
( cd dat ; cp $(DAT) $(INSTDIR) )
|
||||||
# set up their permissions
|
# set up their permissions
|
||||||
-( cd $(HACKDIR) ; $(CHOWN) $(GAMEUID) $(DAT) ; \
|
-( cd $(INSTDIR) ; $(CHOWN) $(GAMEUID) $(DAT) ; \
|
||||||
$(CHGRP) $(GAMEGRP) $(DAT) ; \
|
$(CHGRP) $(GAMEGRP) $(DAT) ; \
|
||||||
chmod $(FILEPERM) $(DAT) )
|
chmod $(FILEPERM) $(DAT) )
|
||||||
|
|
||||||
update: $(GAME) recover $(VARDAT) dungeon spec_levs
|
update: $(GAME) recover $(VARDAT) dungeon spec_levs
|
||||||
# (don't yank the old version out from under people who're playing it)
|
# (don't yank the old version out from under people who're playing it)
|
||||||
-mv $(HACKDIR)/$(GAME) $(HACKDIR)/$(GAME).old
|
-mv $(INSTDIR)/$(GAME) $(INSTDIR)/$(GAME).old
|
||||||
# quest.dat is also kept open and has the same problems over NFS
|
# quest.dat is also kept open and has the same problems over NFS
|
||||||
# (quest.dat may be inside nhdat if dlb is in use)
|
# (quest.dat may be inside nhdat if dlb is in use)
|
||||||
-mv $(HACKDIR)/quest.dat $(HACKDIR)/quest.dat.old
|
-mv $(INSTDIR)/quest.dat $(INSTDIR)/quest.dat.old
|
||||||
-mv $(HACKDIR)/nhdat $(HACKDIR)/nhdat.old
|
-mv $(INSTDIR)/nhdat $(INSTDIR)/nhdat.old
|
||||||
# set up new versions of the game files
|
# set up new versions of the game files
|
||||||
( $(MAKE) dofiles )
|
( $(MAKE) dofiles )
|
||||||
# touch time-sensitive files
|
# touch time-sensitive files
|
||||||
@@ -264,13 +264,13 @@ install: rootcheck $(GAME) recover $(VARDAT) dungeon spec_levs
|
|||||||
# not all mkdirs have -p; those that don't will create a -p directory
|
# not all mkdirs have -p; those that don't will create a -p directory
|
||||||
-if test -n '$(SHELLDIR)'; then \
|
-if test -n '$(SHELLDIR)'; then \
|
||||||
mkdir -p $(SHELLDIR); fi
|
mkdir -p $(SHELLDIR); fi
|
||||||
rm -rf $(HACKDIR) $(VARDIR)
|
rm -rf $(INSTDIR) $(VARDIR)
|
||||||
-mkdir -p $(HACKDIR) $(VARDIR) $(VARDIR)/save
|
-mkdir -p $(INSTDIR) $(VARDIR) $(VARDIR)/save
|
||||||
if test -d ./-p; then rmdir ./-p; fi
|
if test -d ./-p; then rmdir ./-p; fi
|
||||||
-$(CHOWN) $(GAMEUID) $(HACKDIR) $(VARDIR) $(VARDIR)/save
|
-$(CHOWN) $(GAMEUID) $(INSTDIR) $(VARDIR) $(VARDIR)/save
|
||||||
$(CHGRP) $(GAMEGRP) $(HACKDIR) $(VARDIR) $(VARDIR)/save
|
$(CHGRP) $(GAMEGRP) $(INSTDIR) $(VARDIR) $(VARDIR)/save
|
||||||
# order counts here:
|
# order counts here:
|
||||||
chmod $(DIRPERM) $(HACKDIR)
|
chmod $(DIRPERM) $(INSTDIR)
|
||||||
chmod $(VARDIRPERM) $(VARDIR) $(VARDIR)/save
|
chmod $(VARDIRPERM) $(VARDIR) $(VARDIR)/save
|
||||||
# set up the game files
|
# set up the game files
|
||||||
( $(MAKE) dofiles )
|
( $(MAKE) dofiles )
|
||||||
|
|||||||
@@ -13,10 +13,12 @@
|
|||||||
PREFIX=$(wildcard ~)/nh/install
|
PREFIX=$(wildcard ~)/nh/install
|
||||||
HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
|
HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
|
||||||
SHELLDIR = $(PREFIX)/games
|
SHELLDIR = $(PREFIX)/games
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR = $(HACKDIR)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
POSTINSTALL=cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
|
POSTINSTALL=cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
|
|
||||||
CFLAGS=-g -O -I../include -DNOTPARMDECL $(CFLAGS1) -DDLB
|
CFLAGS=-g -O -I../include -DNOTPARMDECL $(CFLAGS1) -DDLB
|
||||||
CFLAGS1=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\"
|
CFLAGS1=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\"
|
||||||
|
|||||||
48
sys/unix/hints/linux-chroot
Normal file
48
sys/unix/hints/linux-chroot
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
#
|
||||||
|
# NetHack 3.5 linux $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$
|
||||||
|
# NetHack 3.5 linux $Date: 2010/01/15 19:54:37 $ $Revision: 1.8 $
|
||||||
|
# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2007.
|
||||||
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
#
|
||||||
|
#-PRE
|
||||||
|
# Linux hints file
|
||||||
|
# This hints file provides a chrooted build for Linux, specifically
|
||||||
|
# for Ubuntu dapper.
|
||||||
|
# Does not copy required libraries or termcap files into the chroot.
|
||||||
|
|
||||||
|
COMPILEREVISION?=1
|
||||||
|
|
||||||
|
# this is the chroot dir
|
||||||
|
PREFIX=$(wildcard ~)/nh/install
|
||||||
|
|
||||||
|
# this is the dir where NetHack is inside the chroot
|
||||||
|
HACKDIR=/nh.$(shell date +%Y%m%d)-$(COMPILEREVISION)
|
||||||
|
INSTDIR=$(PREFIX)$(HACKDIR)
|
||||||
|
SHELLDIR=$(PREFIX)/games
|
||||||
|
VARDIR=$(INSTDIR)/var
|
||||||
|
|
||||||
|
|
||||||
|
POSTINSTALL=cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
|
|
||||||
|
CFLAGS1=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\"
|
||||||
|
CFLAGS=-g -O -I../include -DNOTPARMDECL $(CFLAGS1) -DDLB
|
||||||
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
||||||
|
CFLAGS+=-DHACKDIR=\"$(HACKDIR)\"
|
||||||
|
CFLAGS+=-DVAR_PLAYGROUND=\"$(HACKDIR)/var\"
|
||||||
|
|
||||||
|
LINK=$(CC)
|
||||||
|
# Only needed for GLIBC stack trace:
|
||||||
|
LFLAGS=-rdynamic
|
||||||
|
|
||||||
|
WINSRC = $(WINTTYSRC)
|
||||||
|
WINOBJ = $(WINTTYOBJ)
|
||||||
|
WINLIB = $(WINTTYLIB)
|
||||||
|
|
||||||
|
WINTTYLIB=-lcurses
|
||||||
|
|
||||||
|
CHOWN=true
|
||||||
|
CHGRP=true
|
||||||
|
|
||||||
|
VARDIRPERM = 0755
|
||||||
|
VARFILEPERM = 0600
|
||||||
|
GAMEPERM = 0755
|
||||||
@@ -13,10 +13,12 @@
|
|||||||
PREFIX=$(wildcard ~)/nh/install
|
PREFIX=$(wildcard ~)/nh/install
|
||||||
HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
|
HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
|
||||||
SHELLDIR = $(PREFIX)/games
|
SHELLDIR = $(PREFIX)/games
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR = $(HACKDIR)
|
||||||
|
|
||||||
|
|
||||||
POSTINSTALL= cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
|
POSTINSTALL= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(HACKDIR)/nh10.pcf; (cd $(HACKDIR); mkfontdir);
|
POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(INSTDIR)/nh10.pcf; (cd $(INSTDIR); mkfontdir);
|
||||||
|
|
||||||
CFLAGS=-O -I../include -DNOTPARMDECL $(CFLAGS1) $(CFLAGS3)
|
CFLAGS=-O -I../include -DNOTPARMDECL $(CFLAGS1) $(CFLAGS3)
|
||||||
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\"
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\"
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ WINOBJ += $(WINX11OBJ)
|
|||||||
WINLIB += $(WINX11LIB)
|
WINLIB += $(WINX11LIB)
|
||||||
LFLAGS=-L/usr/X11R6/lib
|
LFLAGS=-L/usr/X11R6/lib
|
||||||
VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
||||||
POSTINSTALL= bdftopcf win/X11/nh10.bdf > $(HACKDIR)/nh10.pcf; (cd $(HACKDIR); mkfontdir)
|
POSTINSTALL= bdftopcf win/X11/nh10.bdf > $(INSTDIR)/nh10.pcf; (cd $(INSTDIR); mkfontdir)
|
||||||
CFLAGS += -DX11_GRAPHICS
|
CFLAGS += -DX11_GRAPHICS
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -107,6 +107,8 @@ ifdef WANT_SHARE_INSTALL
|
|||||||
PREFIX:=/Users/$(GAMEUID)
|
PREFIX:=/Users/$(GAMEUID)
|
||||||
SHELLDIR=$(PREFIX)/bin
|
SHELLDIR=$(PREFIX)/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=chown
|
CHOWN=chown
|
||||||
CHGRP=chgrp
|
CHGRP=chgrp
|
||||||
# We run sgid so the game has access to both HACKDIR and user preferences.
|
# We run sgid so the game has access to both HACKDIR and user preferences.
|
||||||
@@ -116,12 +118,14 @@ VARDIRPERM = 0775
|
|||||||
ROOTCHECK= [[ `id -u` == 0 ]] || ( echo "Must run install with sudo."; exit 1)
|
ROOTCHECK= [[ `id -u` == 0 ]] || ( echo "Must run install with sudo."; exit 1)
|
||||||
# make sure we have group GAMEUID and group GAMEGRP
|
# make sure we have group GAMEUID and group GAMEGRP
|
||||||
PREINSTALL= . sys/unix/hints/macosx.sh user $(GAMEUID); . sys/unix/hints/macosx.sh group $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
PREINSTALL= . sys/unix/hints/macosx.sh user $(GAMEUID); . sys/unix/hints/macosx.sh group $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
||||||
POSTINSTALL= touch $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf
|
POSTINSTALL= touch $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf
|
||||||
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
||||||
else
|
else
|
||||||
PREFIX:=$(wildcard ~)
|
PREFIX:=$(wildcard ~)
|
||||||
SHELLDIR=$(PREFIX)/bin
|
SHELLDIR=$(PREFIX)/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=true
|
CHOWN=true
|
||||||
CHGRP=true
|
CHGRP=true
|
||||||
GAMEPERM = 0700
|
GAMEPERM = 0700
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ WINOBJ += $(WINX11OBJ)
|
|||||||
WINLIB += $(WINX11LIB)
|
WINLIB += $(WINX11LIB)
|
||||||
LFLAGS=-L/usr/X11R6/lib
|
LFLAGS=-L/usr/X11R6/lib
|
||||||
VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
||||||
POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(HACKDIR)/nh10.pcf; (cd $(HACKDIR); mkfontdir);
|
POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(INSTDIR)/nh10.pcf; (cd $(INSTDIR); mkfontdir);
|
||||||
CFLAGS += -DX11_GRAPHICS -I/usr/X11R6/include
|
CFLAGS += -DX11_GRAPHICS -I/usr/X11R6/include
|
||||||
endif # WANT_WIN_X11
|
endif # WANT_WIN_X11
|
||||||
|
|
||||||
@@ -137,6 +137,8 @@ ifeq ($(GAMEUID),root)
|
|||||||
PREFIX:=/Library/NetHack
|
PREFIX:=/Library/NetHack
|
||||||
SHELLDIR=/usr/local/bin
|
SHELLDIR=/usr/local/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=chown
|
CHOWN=chown
|
||||||
CHGRP=chgrp
|
CHGRP=chgrp
|
||||||
# We run sgid so the game has access to both HACKDIR and user preferences.
|
# We run sgid so the game has access to both HACKDIR and user preferences.
|
||||||
@@ -145,6 +147,8 @@ else # ! root
|
|||||||
PREFIX:=/Users/$(GAMEUID)
|
PREFIX:=/Users/$(GAMEUID)
|
||||||
SHELLDIR=$(PREFIX)/bin
|
SHELLDIR=$(PREFIX)/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=/usr/bin/true
|
CHOWN=/usr/bin/true
|
||||||
CHGRP=/usr/bin/true
|
CHGRP=/usr/bin/true
|
||||||
GAMEPERM = 0500
|
GAMEPERM = 0500
|
||||||
@@ -155,13 +159,15 @@ ROOTCHECK= [[ `id -u` == 0 ]] || ( echo "Must run install with sudo."; exit 1)
|
|||||||
# XXX it's nice we don't write over sysconf, but we've already erased it
|
# XXX it's nice we don't write over sysconf, but we've already erased it
|
||||||
# make sure we have group GAMEUID and group GAMEGRP
|
# make sure we have group GAMEUID and group GAMEGRP
|
||||||
PREINSTALL= . sys/unix/hints/macosx.sh user2 $(GAMEUID); . sys/unix/hints/macosx.sh group2 $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
PREINSTALL= . sys/unix/hints/macosx.sh user2 $(GAMEUID); . sys/unix/hints/macosx.sh group2 $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
||||||
POSTINSTALL+= cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
|
POSTINSTALL+= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
||||||
else ifdef WANT_SOURCE_INSTALL
|
else ifdef WANT_SOURCE_INSTALL
|
||||||
PREFIX=$(abspath $(NHSROOT))
|
PREFIX=$(abspath $(NHSROOT))
|
||||||
# suppress nethack.sh
|
# suppress nethack.sh
|
||||||
#SHELLDIR=
|
#SHELLDIR=
|
||||||
HACKDIR=$(PREFIX)/playground
|
HACKDIR=$(PREFIX)/playground
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=/usr/bin/true
|
CHOWN=/usr/bin/true
|
||||||
CHGRP=/usr/bin/true
|
CHGRP=/usr/bin/true
|
||||||
GAMEPERM = 0700
|
GAMEPERM = 0700
|
||||||
@@ -174,6 +180,8 @@ else # !WANT_SOURCE_INSTALL
|
|||||||
PREFIX:=$(wildcard ~)
|
PREFIX:=$(wildcard ~)
|
||||||
SHELLDIR=$(PREFIX)/bin
|
SHELLDIR=$(PREFIX)/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=/usr/bin/true
|
CHOWN=/usr/bin/true
|
||||||
CHGRP=/usr/bin/true
|
CHGRP=/usr/bin/true
|
||||||
GAMEPERM = 0700
|
GAMEPERM = 0700
|
||||||
@@ -183,7 +191,7 @@ ifdef WANT_WIN_X11
|
|||||||
# install nethack.rc as ~/.nethackrc if no ~/.nethackrc exists
|
# install nethack.rc as ~/.nethackrc if no ~/.nethackrc exists
|
||||||
PREINSTALL= cp -n win/X11/nethack.rc ~/.nethackrc
|
PREINSTALL= cp -n win/X11/nethack.rc ~/.nethackrc
|
||||||
endif # WANT_WIN_X11
|
endif # WANT_WIN_X11
|
||||||
POSTINSTALL+= cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
|
POSTINSTALL+= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
||||||
endif # !WANT_SOURCE_INSTALL
|
endif # !WANT_SOURCE_INSTALL
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ WINOBJ += $(WINX11OBJ)
|
|||||||
WINLIB += $(WINX11LIB)
|
WINLIB += $(WINX11LIB)
|
||||||
LFLAGS=-L/usr/X11R6/lib
|
LFLAGS=-L/usr/X11R6/lib
|
||||||
VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
||||||
POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(HACKDIR)/nh10.pcf; (cd $(HACKDIR); mkfontdir);
|
POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(INSTDIR)/nh10.pcf; (cd $(INSTDIR); mkfontdir);
|
||||||
CFLAGS += -DX11_GRAPHICS
|
CFLAGS += -DX11_GRAPHICS
|
||||||
endif # WANT_WIN_X11
|
endif # WANT_WIN_X11
|
||||||
|
|
||||||
@@ -119,6 +119,8 @@ ifeq ($(GAMEUID),root)
|
|||||||
PREFIX:=/Library/NetHack
|
PREFIX:=/Library/NetHack
|
||||||
SHELLDIR=/usr/local/bin
|
SHELLDIR=/usr/local/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=chown
|
CHOWN=chown
|
||||||
CHGRP=chgrp
|
CHGRP=chgrp
|
||||||
# We run sgid so the game has access to both HACKDIR and user preferences.
|
# We run sgid so the game has access to both HACKDIR and user preferences.
|
||||||
@@ -127,6 +129,8 @@ else # ! root
|
|||||||
PREFIX:=/Users/$(GAMEUID)
|
PREFIX:=/Users/$(GAMEUID)
|
||||||
SHELLDIR=$(PREFIX)/bin
|
SHELLDIR=$(PREFIX)/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=touch
|
CHOWN=touch
|
||||||
CHGRP=touch
|
CHGRP=touch
|
||||||
GAMEPERM = 0500
|
GAMEPERM = 0500
|
||||||
@@ -137,13 +141,15 @@ ROOTCHECK= [[ `id -u` == 0 ]] || ( echo "Must run install with sudo."; exit 1)
|
|||||||
# XXX it's nice we don't write over sysconf, but we've already erased it
|
# XXX it's nice we don't write over sysconf, but we've already erased it
|
||||||
# make sure we have group GAMEUID and group GAMEGRP
|
# make sure we have group GAMEUID and group GAMEGRP
|
||||||
PREINSTALL= . sys/unix/hints/macosx.sh user2 $(GAMEUID); . sys/unix/hints/macosx.sh group2 $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
PREINSTALL= . sys/unix/hints/macosx.sh user2 $(GAMEUID); . sys/unix/hints/macosx.sh group2 $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
||||||
POSTINSTALL+= cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
|
POSTINSTALL+= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
||||||
else ifdef WANT_SOURCE_INSTALL
|
else ifdef WANT_SOURCE_INSTALL
|
||||||
PREFIX=$(abspath $(NHSROOT))
|
PREFIX=$(abspath $(NHSROOT))
|
||||||
# suppress nethack.sh"
|
# suppress nethack.sh"
|
||||||
#SHELLDIR=
|
#SHELLDIR=
|
||||||
HACKDIR=$(PREFIX)/playground
|
HACKDIR=$(PREFIX)/playground
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=touch
|
CHOWN=touch
|
||||||
CHGRP=touch
|
CHGRP=touch
|
||||||
GAMEPERM = 0700
|
GAMEPERM = 0700
|
||||||
@@ -155,6 +161,8 @@ else # !WANT_SOURCE_INSTALL
|
|||||||
PREFIX:=$(wildcard ~)
|
PREFIX:=$(wildcard ~)
|
||||||
SHELLDIR=$(PREFIX)/bin
|
SHELLDIR=$(PREFIX)/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=true
|
CHOWN=true
|
||||||
CHGRP=true
|
CHGRP=true
|
||||||
GAMEPERM = 0700
|
GAMEPERM = 0700
|
||||||
@@ -164,7 +172,7 @@ ifdef WANT_WIN_X11
|
|||||||
# install nethack.rc as ~/.nethackrc if no ~/.nethackrc exists
|
# install nethack.rc as ~/.nethackrc if no ~/.nethackrc exists
|
||||||
PREINSTALL= cp -n win/X11/nethack.rc ~/.nethackrc
|
PREINSTALL= cp -n win/X11/nethack.rc ~/.nethackrc
|
||||||
endif # WANT_WIN_X11
|
endif # WANT_WIN_X11
|
||||||
POSTINSTALL+= cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
|
POSTINSTALL+= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
||||||
endif # !WANT_SOURCE_INSTALL
|
endif # !WANT_SOURCE_INSTALL
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ WINOBJ += $(WINX11OBJ)
|
|||||||
WINLIB += $(WINX11LIB)
|
WINLIB += $(WINX11LIB)
|
||||||
LFLAGS=-L/usr/X11R6/lib
|
LFLAGS=-L/usr/X11R6/lib
|
||||||
VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
VARDATND = x11tiles NetHack.ad pet_mark.xbm
|
||||||
POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(HACKDIR)/nh10.pcf; (cd $(HACKDIR); mkfontdir);
|
POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(INSTDIR)/nh10.pcf; (cd $(INSTDIR); mkfontdir);
|
||||||
CFLAGS += -DX11_GRAPHICS
|
CFLAGS += -DX11_GRAPHICS
|
||||||
endif # WANT_WIN_X11
|
endif # WANT_WIN_X11
|
||||||
|
|
||||||
@@ -136,6 +136,8 @@ ifeq ($(GAMEUID),root)
|
|||||||
PREFIX:=/Library/NetHack
|
PREFIX:=/Library/NetHack
|
||||||
SHELLDIR=/usr/local/bin
|
SHELLDIR=/usr/local/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=chown
|
CHOWN=chown
|
||||||
CHGRP=chgrp
|
CHGRP=chgrp
|
||||||
# We run sgid so the game has access to both HACKDIR and user preferences.
|
# We run sgid so the game has access to both HACKDIR and user preferences.
|
||||||
@@ -144,6 +146,8 @@ else # ! root
|
|||||||
PREFIX:=/Users/$(GAMEUID)
|
PREFIX:=/Users/$(GAMEUID)
|
||||||
SHELLDIR=$(PREFIX)/bin
|
SHELLDIR=$(PREFIX)/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=/usr/bin/true
|
CHOWN=/usr/bin/true
|
||||||
CHGRP=/usr/bin/true
|
CHGRP=/usr/bin/true
|
||||||
GAMEPERM = 0500
|
GAMEPERM = 0500
|
||||||
@@ -154,13 +158,15 @@ ROOTCHECK= [[ `id -u` == 0 ]] || ( echo "Must run install with sudo."; exit 1)
|
|||||||
# XXX it's nice we don't write over sysconf, but we've already erased it
|
# XXX it's nice we don't write over sysconf, but we've already erased it
|
||||||
# make sure we have group GAMEUID and group GAMEGRP
|
# make sure we have group GAMEUID and group GAMEGRP
|
||||||
PREINSTALL= . sys/unix/hints/macosx.sh user2 $(GAMEUID); . sys/unix/hints/macosx.sh group2 $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
PREINSTALL= . sys/unix/hints/macosx.sh user2 $(GAMEUID); . sys/unix/hints/macosx.sh group2 $(GAMEGRP); mkdir $(SHELLDIR); chown $(GAMEUID) $(SHELLDIR)
|
||||||
POSTINSTALL+= cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
|
POSTINSTALL+= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
||||||
else ifdef WANT_SOURCE_INSTALL
|
else ifdef WANT_SOURCE_INSTALL
|
||||||
PREFIX=$(abspath $(NHSROOT))
|
PREFIX=$(abspath $(NHSROOT))
|
||||||
# suppress nethack.sh
|
# suppress nethack.sh
|
||||||
#SHELLDIR=
|
#SHELLDIR=
|
||||||
HACKDIR=$(PREFIX)/playground
|
HACKDIR=$(PREFIX)/playground
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=/usr/bin/true
|
CHOWN=/usr/bin/true
|
||||||
CHGRP=/usr/bin/true
|
CHGRP=/usr/bin/true
|
||||||
GAMEPERM = 0700
|
GAMEPERM = 0700
|
||||||
@@ -173,6 +179,8 @@ else # !WANT_SOURCE_INSTALL
|
|||||||
PREFIX:=$(wildcard ~)
|
PREFIX:=$(wildcard ~)
|
||||||
SHELLDIR=$(PREFIX)/bin
|
SHELLDIR=$(PREFIX)/bin
|
||||||
HACKDIR=$(PREFIX)/nethackdir
|
HACKDIR=$(PREFIX)/nethackdir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
CHOWN=/usr/bin/true
|
CHOWN=/usr/bin/true
|
||||||
CHGRP=/usr/bin/true
|
CHGRP=/usr/bin/true
|
||||||
GAMEPERM = 0700
|
GAMEPERM = 0700
|
||||||
@@ -182,7 +190,7 @@ ifdef WANT_WIN_X11
|
|||||||
# install nethack.rc as ~/.nethackrc if no ~/.nethackrc exists
|
# install nethack.rc as ~/.nethackrc if no ~/.nethackrc exists
|
||||||
PREINSTALL= cp -n win/X11/nethack.rc ~/.nethackrc
|
PREINSTALL= cp -n win/X11/nethack.rc ~/.nethackrc
|
||||||
endif # WANT_WIN_X11
|
endif # WANT_WIN_X11
|
||||||
POSTINSTALL+= cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf;
|
POSTINSTALL+= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
|
||||||
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
|
||||||
endif # !WANT_SOURCE_INSTALL
|
endif # !WANT_SOURCE_INSTALL
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
|
|
||||||
PREFIX=/usr
|
PREFIX=/usr
|
||||||
HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
|
HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
|
||||||
|
INSTDIR=$(HACKDIR)
|
||||||
|
VARDIR=$(HACKDIR)
|
||||||
SHELLDIR=$(PREFIX)/games
|
SHELLDIR=$(PREFIX)/games
|
||||||
|
|
||||||
CFLAGS=-O -I../include
|
CFLAGS=-O -I../include
|
||||||
|
|||||||
Reference in New Issue
Block a user