Line 0
Link Here
|
|
|
1 |
--- sys/unix/Makefile.top.orig 2014-09-01 22:34:32.000000000 +0900 |
2 |
+++ sys/unix/Makefile.top 2014-09-01 22:36:34.000000000 +0900 |
3 |
@@ -14,7 +14,6 @@ |
4 |
# MAKE = make |
5 |
|
6 |
# make NetHack |
7 |
-PREFIX = /usr |
8 |
GAME = jnethack |
9 |
# GAME = nethack.prg |
10 |
GAMEUID = games |
11 |
@@ -22,10 +21,10 @@ |
12 |
|
13 |
# Permissions - some places use setgid instead of setuid, for instance |
14 |
# See also the option "SECURE" in include/config.h |
15 |
-GAMEPERM = 04755 |
16 |
-FILEPERM = 0644 |
17 |
+GAMEPERM = 02755 |
18 |
+FILEPERM = 0664 |
19 |
EXEPERM = 0755 |
20 |
-DIRPERM = 0755 |
21 |
+DIRPERM = 0775 |
22 |
|
23 |
# GAMEDIR also appears in config.h as "HACKDIR". |
24 |
# VARDIR may also appear in unixconf.h as "VAR_PLAYGROUND" else GAMEDIR |
25 |
@@ -35,12 +34,12 @@ |
26 |
# therefore there should not be anything in GAMEDIR that you want to keep |
27 |
# (if there is, you'll have to do the installation by hand or modify the |
28 |
# instructions) |
29 |
-GAMEDIR = $(PREFIX)/games/lib/$(GAME)dir |
30 |
+GAMEDIR = ${PREFIX}/share/jnethack |
31 |
VARDIR = $(GAMEDIR) |
32 |
-SHELLDIR = $(PREFIX)/games |
33 |
+SHELLDIR = $(PREFIX)/bin |
34 |
|
35 |
# per discussion in Install.X11 and Install.Qt |
36 |
-VARDATND = |
37 |
+# VARDATND = |
38 |
# VARDATND = x11tiles NetHack.ad pet_mark.xbm |
39 |
# VARDATND = x11tiles NetHack.ad pet_mark.xbm rip.xpm |
40 |
# for Atari/Gem |
41 |
@@ -48,7 +47,7 @@ |
42 |
# for BeOS |
43 |
# VARDATND = beostiles |
44 |
# for Gnome |
45 |
-# VARDATND = x11tiles pet_mark.xbm rip.xpm mapbg.xpm |
46 |
+VARDATND = x11tiles pet_mark.xbm rip.xpm mapbg.xpm |
47 |
|
48 |
VARDATD = data joracles options quest.dat jrumors |
49 |
VARDAT = $(VARDATD) $(VARDATND) |
50 |
@@ -185,55 +184,38 @@ |
51 |
-e '}' \ |
52 |
-e '$$s/.*/nodlb/p' < dat/options` ; \ |
53 |
$(MAKE) dofiles-$${target-nodlb} |
54 |
- cp src/$(GAME) $(GAMEDIR) |
55 |
- cp util/recover $(GAMEDIR) |
56 |
- -rm -f $(SHELLDIR)/$(GAME) |
57 |
+ ${BSD_INSTALL_PROGRAM} src/$(GAME) ${DESTDIR}$(GAMEDIR) |
58 |
+ ${BSD_INSTALL_PROGRAM} util/recover ${DESTDIR}$(GAMEDIR) |
59 |
+ -rm -f ${DESTDIR}$(SHELLDIR)/$(GAME) |
60 |
sed -e 's;/usr/games/lib/nethackdir;$(GAMEDIR);' \ |
61 |
-e 's;HACKDIR/nethack;HACKDIR/$(GAME);' \ |
62 |
< sys/unix/nethack.sh \ |
63 |
- > $(SHELLDIR)/$(GAME) |
64 |
-# set up their permissions |
65 |
- -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(GAME) recover ; \ |
66 |
- $(CHGRP) $(GAMEGRP) $(GAME) recover ) |
67 |
- chmod $(GAMEPERM) $(GAMEDIR)/$(GAME) |
68 |
- chmod $(EXEPERM) $(GAMEDIR)/recover |
69 |
- -$(CHOWN) $(GAMEUID) $(SHELLDIR)/$(GAME) |
70 |
- $(CHGRP) $(GAMEGRP) $(SHELLDIR)/$(GAME) |
71 |
- chmod $(EXEPERM) $(SHELLDIR)/$(GAME) |
72 |
+ > ${DESTDIR}$(SHELLDIR)/$(GAME) |
73 |
|
74 |
dofiles-dlb: check-dlb |
75 |
- ( cd dat ; cp nhdat $(DATNODLB) $(GAMEDIR) ) |
76 |
+ ( cd dat ; cp nhdat $(DATNODLB) ${DESTDIR}$(GAMEDIR) ) |
77 |
# ( cd win/X11 ; cp JNetHack.ad $(GAMEDIR)/JNetHack ) |
78 |
# ( cd win/gtk ; cp GTKRC $(GAMEDIR)/gtkrc ) |
79 |
# ( bdftopcf win/X11/nh10.bdf > $(GAMEDIR)/nh10.pcf ; mkfontdir $(GAMEDIR)) |
80 |
-# set up their permissions |
81 |
- -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) nhdat $(DATNODLB) ; \ |
82 |
- $(CHGRP) $(GAMEGRP) nhdat $(DATNODLB) ; \ |
83 |
- chmod $(FILEPERM) nhdat $(DATNODLB) ) |
84 |
|
85 |
dofiles-nodlb: |
86 |
# copy over the game files |
87 |
- ( cd dat ; cp $(DAT) $(GAMEDIR) ) |
88 |
+ ( cd dat ; cp $(DAT) ${DESTDIR}$(GAMEDIR) ) |
89 |
# ( cd win/X11 ; cp JNetHack.ad $(GAMEDIR)/JNetHack ) |
90 |
# ( cd win/gtk ; cp GTKRC $(GAMEDIR)/gtkrc ) |
91 |
# ( bdftopcf win/X11/nh10.bdf > $(GAMEDIR)/nh10.pcf ; mkfontdir $(GAMEDIR)) |
92 |
-# set up their permissions |
93 |
- -( cd $(GAMEDIR) ; $(CHOWN) $(GAMEUID) $(DAT) ; \ |
94 |
- $(CHGRP) $(GAMEGRP) $(DAT) ; \ |
95 |
- chmod $(FILEPERM) $(DAT) ) |
96 |
|
97 |
update: $(GAME) recover $(VARDAT) dungeon spec_levs |
98 |
# (don't yank the old version out from under people who're playing it) |
99 |
- -mv $(GAMEDIR)/$(GAME) $(GAMEDIR)/$(GAME).old |
100 |
+ -mv ${DESTDIR}$(GAMEDIR)/$(GAME) ${DESTDIR}$(GAMEDIR)/$(GAME).old |
101 |
# quest.dat is also kept open and has the same problems over NFS |
102 |
# (quest.dat may be inside nhdat if dlb is in use) |
103 |
- -mv $(GAMEDIR)/quest.dat $(GAMEDIR)/quest.dat.old |
104 |
- -mv $(GAMEDIR)/nhdat $(GAMEDIR)/nhdat.old |
105 |
+ -mv ${DESTDIR}$(GAMEDIR)/quest.dat ${DESTDIR}$(GAMEDIR)/quest.dat.old |
106 |
+ -mv ${DESTDIR}$(GAMEDIR)/nhdat ${DESTDIR}$(GAMEDIR)/nhdat.old |
107 |
# set up new versions of the game files |
108 |
( $(MAKE) dofiles ) |
109 |
# touch time-sensitive files |
110 |
-touch -c $(VARDIR)/bones* $(VARDIR)/?lock* $(VARDIR)/wizard* |
111 |
- -touch -c $(VARDIR)/save/* |
112 |
touch $(VARDIR)/perm $(VARDIR)/record |
113 |
# and a reminder |
114 |
@echo You may also want to install the man pages via the doc Makefile. |
115 |
@@ -241,20 +223,15 @@ |
116 |
install: $(GAME) recover $(VARDAT) dungeon spec_levs |
117 |
# set up the directories |
118 |
# not all mkdirs have -p; those that don't will create a -p directory |
119 |
- -mkdir -p $(SHELLDIR) |
120 |
- -rm -rf $(GAMEDIR) $(VARDIR) |
121 |
- -mkdir -p $(SHELLDIR)/lib $(GAMEDIR) $(VARDIR) $(VARDIR)/save |
122 |
+ -mkdir -p ${DESTDIR}$(SHELLDIR) |
123 |
+ -rm -rf ${DESTDIR}$(GAMEDIR) ${DESTDIR}$(VARDIR) |
124 |
+ -mkdir -p ${DESTDIR}$(GAMEDIR) ${DESTDIR}$(VARDIR) ${DESTDIR}$(VARDIR)/save |
125 |
-rmdir ./-p |
126 |
- -$(CHOWN) $(GAMEUID) $(GAMEDIR) $(VARDIR) $(VARDIR)/save |
127 |
- $(CHGRP) $(GAMEGRP) $(GAMEDIR) $(VARDIR) $(VARDIR)/save |
128 |
- chmod $(DIRPERM) $(GAMEDIR) $(VARDIR) $(VARDIR)/save |
129 |
+ -chmod $(DIRPERM) ${DESTDIR}$(GAMEDIR) ${DESTDIR}$(VARDIR) ${DESTDIR}$(VARDIR)/save |
130 |
# set up the game files |
131 |
( $(MAKE) dofiles ) |
132 |
# set up some additional files |
133 |
- touch $(VARDIR)/perm $(VARDIR)/record $(VARDIR)/logfile |
134 |
- -( cd $(VARDIR) ; $(CHOWN) $(GAMEUID) perm record logfile ; \ |
135 |
- $(CHGRP) $(GAMEGRP) perm record logfile ; \ |
136 |
- chmod $(FILEPERM) perm record logfile ) |
137 |
+ touch ${DESTDIR}$(VARDIR)/perm ${DESTDIR}$(VARDIR)/record ${DESTDIR}$(VARDIR)/logfile |
138 |
# and a reminder |
139 |
@echo You may also want to reinstall the man pages via the doc Makefile. |
140 |
|