Brad Walker writes: > Adding --localstatedir=/var places the game score files > under /var/games/emacs, but then update-plist strips them.
I think that you ought to use @sample in the PLIST file to create the directory and the files in /var/games. For example: @mode g+w @group games @sample /var/games/emacs/ @mode @group share/examples/emacs/snake-scores @mode g+w @group games @sample /var/games/emacs/snake-scores @mode @group share/examples/emacs/tetris-scores @mode g+w @group games @sample /var/games/emacs/tetris-scores @mode @group Put a post-install target into the Makefile to copy the high score files to the example directory: post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/emacs ${INSTALL_DATA} ${WRKINST}/var/games/emacs/snake-scores ${PREFIX}/share/examples/emacs ${INSTALL_DATA} ${WRKINST}/var/games/emacs/tetris-scores ${PREFIX}/share/examples/emacs Finally, change the group of the update-game-score binary to the games group and set the group s-bit so that Emacs can update the system-wide high score files: @mode g+s @group games libexec/emacs/${VERSION}/${GCCARCH}/update-game-score @mode @group >> - there is a problem with chown commands failing during fake install. > > The Makefile uses "find $${dest} -exec chown $${LOGNAME:-$$USERNAME} {} > ';' ;\" in several places, causing the chown errors since ports doesn't > set LOGNAME or USERNAME. Adding 'LOGNAME="${SHAREOWN}"' to MAKE_ENV > quieted the chown errors. Emacs 23, i.e. the development version, uses $USER and `id -un 2> /dev/null` in addition to $LOGNAME and $USERNAME: ## http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01672.html ## Needs to be the user running install, so configure can't set it. set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \ `id -un 2> /dev/null`; do \ [ -n "$${installuser}" ] && break ; \ done