ports/84738: Update port: games/dsnake (misc fixes)

Jean-Yves Lefort jylefort at FreeBSD.org
Wed Aug 10 09:20:10 UTC 2005


>Number:         84738
>Category:       ports
>Synopsis:       Update port: games/dsnake (misc fixes)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 10 09:20:08 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Jean-Yves Lefort
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:
System: FreeBSD jsite.lefort.net 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Wed Jul 27 11:27:58 CEST 2005 jylefort at jsite.lefort.net:/usr/obj/usr/src/sys/JSITE i386
>Description:
- Also create scores and configuration when installing from a package
- Preserve modified scores and configuration across updates
- Install using ${INSTALL_xxx}, to ensure proper permissions and ownerships
- Pass command-line arguments through the wrapper script
- Replace the shell process with the game, to save some memory while playing
- Install documentation in ${DOCSDIR}, and respect ${NOPORTDOCS}
>How-To-Repeat:
>Fix:
diff -ruN /usr/ports/games/dsnake/Makefile dsnake/Makefile
--- /usr/ports/games/dsnake/Makefile	Sat Jun 18 00:59:09 2005
+++ dsnake/Makefile	Wed Aug 10 10:50:43 2005
@@ -7,7 +7,7 @@
 
 PORTNAME=	dsnake
 PORTVERSION=	3.0.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	games linux
 MASTER_SITES=	http://bitblaze.com/downloads/
 DISTNAME=	${PORTNAME}-linux-${PORTVERSION}
@@ -24,16 +24,27 @@
 USE_X_PREFIX=	yes
 WRKSRC=		${WRKDIR}/DeluxeSnake
 
+SUB_FILES=	pkg-install pkg-deinstall
+SUB_LIST=	CONFIG_FILES="config.dat hiscores.dat stats.dat"
+
+PORTDOCS=	*
+
 do-build:
 	${BRANDELF} -t Linux ${WRKSRC}/dsnake
 
 do-install:
-	${MKDIR} ${DATADIR}
-	(cd ${WRKSRC}; ${TAR} -cf - *) | (cd ${DATADIR}; ${TAR} -xf -)
-	${TOUCH} ${DATADIR}/config.dat ${DATADIR}/hiscores.dat ${DATADIR}/stats.dat
-	${CHMOD} 0666 ${DATADIR}/config.dat ${DATADIR}/hiscores.dat ${DATADIR}/stats.dat
+.for d in data midi
+	${MKDIR} ${DATADIR}/${d}
+	${INSTALL_DATA} ${WRKSRC}/${d}/* ${DATADIR}/${d}
+.endfor
+	${INSTALL_PROGRAM} ${WRKSRC}/dsnake ${DATADIR}
 	${ECHO_CMD} "#!/bin/sh" > ${WRKDIR}/dsnake.sh
-	${ECHO_CMD} "cd ${DATADIR} && ./dsnake -win" >> ${WRKDIR}/dsnake.sh
+	${ECHO_CMD} "cd ${DATADIR} && exec ./dsnake \"\$$@\"" >> ${WRKDIR}/dsnake.sh
 	${INSTALL_SCRIPT} ${WRKDIR}/dsnake.sh ${PREFIX}/bin/dsnake
+.if !defined(NOPORTDOCS)
+	${MKDIR} ${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/ReadMe.txt ${DOCSDIR}
+.endif
+	@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 
 .include <bsd.port.mk>
diff -ruN /usr/ports/games/dsnake/files/pkg-deinstall.in dsnake/files/pkg-deinstall.in
--- /usr/ports/games/dsnake/files/pkg-deinstall.in	Thu Jan  1 01:00:00 1970
+++ dsnake/files/pkg-deinstall.in	Wed Aug 10 10:20:00 2005
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [ "$2" = "DEINSTALL" ]; then
+	for f in %%CONFIG_FILES%%; do
+		if [ ! -s %%DATADIR%%/$f ]; then
+			rm -f %%DATADIR%%/$f
+		fi
+	done
+fi
diff -ruN /usr/ports/games/dsnake/files/pkg-install.in dsnake/files/pkg-install.in
--- /usr/ports/games/dsnake/files/pkg-install.in	Thu Jan  1 01:00:00 1970
+++ dsnake/files/pkg-install.in	Wed Aug 10 10:48:06 2005
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if [ "$2" = "POST-INSTALL" ]; then
+	for f in %%CONFIG_FILES%%; do
+		if [ ! -f %%DATADIR%%/$f ]; then
+			touch %%DATADIR%%/$f
+			chown root:wheel %%DATADIR%%/$f
+			chmod 666 %%DATADIR%%/$f
+		fi
+	done
+fi
diff -ruN /usr/ports/games/dsnake/pkg-plist dsnake/pkg-plist
--- /usr/ports/games/dsnake/pkg-plist	Sun Nov 23 00:00:50 2003
+++ dsnake/pkg-plist	Wed Aug 10 10:51:38 2005
@@ -1,5 +1,4 @@
 bin/dsnake
-%%DATADIR%%/config.dat
 %%DATADIR%%/data/fonts.dat
 %%DATADIR%%/data/logos.dat
 %%DATADIR%%/data/sfx.dat
@@ -7,12 +6,9 @@
 %%DATADIR%%/data/sprites2.dat
 %%DATADIR%%/data/textures.dat
 %%DATADIR%%/dsnake
-%%DATADIR%%/hiscores.dat
 %%DATADIR%%/midi/fall.mid
 %%DATADIR%%/midi/partille.mid
 %%DATADIR%%/midi/The_Jayomon_Beat.mid
-%%DATADIR%%/ReadMe.txt
-%%DATADIR%%/stats.dat
 @dirrm %%DATADIR%%/midi
 @dirrm %%DATADIR%%/data
- at dirrm %%DATADIR%%
+ at unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list