Re: WITHOUT_GAMES=true and /usr/games

From: Giorgos Keramidas <keramida_at_freebsd.org>
Date: Sun, 21 Jun 2009 01:15:47 +0300
On Tue, 16 Jun 2009 15:34:42 +0200 (CEST), Alexander Best <alexbestms_at_math.uni-muenster.de> wrote:
> hi there,
>
> any reason installworld creates the games dir in /usr even though
> /etc/src.conf states WITHOUT_GAMES=true. if nothing get's installed into the
> dir buildworld might just as well not create it. or am i wrong?

I have a local patch for a few months, that splits /var/games and
/usr/games in their own mtree spec file.  If it looks ok, I can always
ask for commit approval and push it to svn:

%%%
# HG changeset patch
# User Giorgos Keramidas <keramida_at_ceid.upatras.gr>
# Date 1219869421 -10800
# Branch head
# Node ID 017ed6c13a5438d2bd077c0930591aa7d88f0649
# Parent  5255edc94f3b20de0b976ff13d1c65b0d6b799ed
Fix `make installworld' with WITHOUT_GAMES=yes.

* Split off the parts of BSD.usr.dist and BSD.var.dist that
  depend on the 'games' user and group to BSD.games.dist.
* Update etc/Makefile to use BSD.games.dist, but hide the
  relevant parts behind .if ${MK_GAMES} != "no".

This way when installworld runs and WITHOUT_GAMES=yes, we don't
even try to create the directories that belong to the games:games
user.  The rest of the source tree is already set up to avoid
installing anything in those directories, and installworld runs
to completion without any visible issues.

Inspired by:	A thread in freebsd-questions, started by
		Redd Vinylene [reddvinylene at gmail.com]

diff -r 5255edc94f3b -r 017ed6c13a54 etc/Makefile
--- a/etc/Makefile	Thu Aug 14 15:55:01 2008 +0300
+++ b/etc/Makefile	Wed Aug 27 23:37:01 2008 +0300
_at__at_ -100,6 +100,9 _at__at_
 .if ${MK_SENDMAIL} != "no"
 MTREE+=	BSD.sendmail.dist
 .endif
+.if ${MK_GAMES} != "no"
+MTREE+= BSD.games.dist
+.endif
 .if ${MK_BIND} != "no"
 MTREE+=	BIND.chroot.dist
 .if ${MK_BIND_LIBS} != "no"
_at__at_ -260,6 +263,9 _at__at_
 .if ${MK_SENDMAIL} != "no"
 	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/
 .endif
+.if ${MK_GAMES} != "no"
+	mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.games.dist -p ${DESTDIR}/
+.endif
 	cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
 	cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* .
 	cd ${DESTDIR}/usr/share/man/en.UTF-8; ln -sf ../man* .
diff -r 5255edc94f3b -r 017ed6c13a54 etc/mtree/BSD.games.dist
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/mtree/BSD.games.dist	Wed Aug 27 23:37:01 2008 +0300
_at__at_ -0,0 +1,16 _at__at_
+# $FreeBSD$
+#
+# Please see the file src/etc/mtree/README before making changes to this file.
+#
+
+/set type=dir uname=root gname=wheel mode=0755
+.
+    usr
+        games
+        ..
+    ..
+    var
+        games           gname=games mode=0775
+        ..
+    ..
+..
diff -r 5255edc94f3b -r 017ed6c13a54 etc/mtree/BSD.usr.dist
--- a/etc/mtree/BSD.usr.dist	Thu Aug 14 15:55:01 2008 +0300
+++ b/etc/mtree/BSD.usr.dist	Wed Aug 27 23:37:01 2008 +0300
_at__at_ -7,8 +7,6 _at__at_
 .
     bin
     ..
-    games
-    ..
     include
     ..
     lib
diff -r 5255edc94f3b -r 017ed6c13a54 etc/mtree/BSD.var.dist
--- a/etc/mtree/BSD.var.dist	Thu Aug 14 15:55:01 2008 +0300
+++ b/etc/mtree/BSD.var.dist	Wed Aug 27 23:37:01 2008 +0300
_at__at_ -45,8 +45,6 _at__at_
     ..
     empty           mode=0555 flags=schg
     ..
-    games           gname=games mode=0775
-    ..
     heimdal         mode=0700
     ..
     log
%%%

Received on Sat Jun 20 2009 - 20:44:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:50 UTC