aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-01-11 11:25:40 +0000
committerRoy Marples <roy@marples.name>2008-01-11 11:25:40 +0000
commitcbc174bbbf0121d325b428c1b681ad0fa1970cc8 (patch)
treed361dab51776399d2550ddc5a467801283e4c79f
parent13c552c3ece84b0d4e3b8e24eaa6b7196019b957 (diff)
Use a specific default terminal for rc
-rw-r--r--etc.BSD/Makefile15
-rw-r--r--etc.BSD/Makefile.FreeBSD1
-rw-r--r--etc.BSD/Makefile.NetBSD1
-rw-r--r--etc.BSD/rc43
-rw-r--r--etc.BSD/rc.in22
-rw-r--r--mk/scripts.mk3
6 files changed, 38 insertions, 47 deletions
diff --git a/etc.BSD/Makefile b/etc.BSD/Makefile
index cb466dc0..ef4d783c 100644
--- a/etc.BSD/Makefile
+++ b/etc.BSD/Makefile
@@ -1,5 +1,14 @@
-DIR= /etc
-CONF= $(CONTENTS)
+DIR= /etc
+SRCS= rc.in
+OBJS= ${SRCS:.in=}
+CONF= rc.shutdown ${OBJS}
-MK= ../mk
+
+MK= ../mk
include ${MK}/scripts.mk
+include Makefile.${OS}
+
+.SUFFIXES: .in
+.in:
+ sed -e s':@TERM@:${DEFTERM}:' $< > $@
+
diff --git a/etc.BSD/Makefile.FreeBSD b/etc.BSD/Makefile.FreeBSD
new file mode 100644
index 00000000..6f80f3be
--- /dev/null
+++ b/etc.BSD/Makefile.FreeBSD
@@ -0,0 +1 @@
+DEFTERM= cons25
diff --git a/etc.BSD/Makefile.NetBSD b/etc.BSD/Makefile.NetBSD
new file mode 100644
index 00000000..993ffda6
--- /dev/null
+++ b/etc.BSD/Makefile.NetBSD
@@ -0,0 +1 @@
+DEFTERM= vt100
diff --git a/etc.BSD/rc b/etc.BSD/rc
deleted file mode 100644
index d1bd1761..00000000
--- a/etc.BSD/rc
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-# Copyright 2007 Roy Marples
-# All rights reserved
-
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-
-# If $TERM is not set then assume default of cons25
-# This gives us a nice colour boot :)
-[ -z "$TERM" -o "$TERM" = "dumb" ] && export TERM="cons25"
-
-# Handle interrupts
-trap : SIGINT
-trap "echo 'Boot interrupted'; exit 1" SIGQUIT
-
-# BSD's init works somewhat differently to sysvinit.
-# This block should 'translate' from the way init calls it to the way it would
-# be called by sysvinit on linux.
-RUNLEVEL="1" /sbin/rc sysinit || exit 1
-RUNLEVEL="1" /sbin/rc boot || exit 1
-PREVLEVEL="1" /sbin/rc default
-
-# We don't actually care if rc default worked or not, we should exit 0
-# to allow logins
-exit 0
diff --git a/etc.BSD/rc.in b/etc.BSD/rc.in
new file mode 100644
index 00000000..935cf656
--- /dev/null
+++ b/etc.BSD/rc.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+# Copyright 2007-2008 Roy Marples
+# All rights reserved
+
+# If $TERM is not set then assume default of cons25
+# This gives us a nice colour boot :)
+[ -z "$TERM" -o "$TERM" = "dumb" ] && export TERM="@TERM@"
+
+# Handle interrupts
+trap : SIGINT
+trap "echo 'Boot interrupted'; exit 1" SIGQUIT
+
+# BSD's init works somewhat differently to sysvinit.
+# This block should 'translate' from the way init calls it to the way it would
+# be called by sysvinit on linux.
+RUNLEVEL="1" /sbin/rc sysinit || exit 1
+RUNLEVEL="1" /sbin/rc boot || exit 1
+PREVLEVEL="1" /sbin/rc default
+
+# We don't actually care if rc default worked or not, we should exit 0
+# to allow logins
+exit 0
diff --git a/mk/scripts.mk b/mk/scripts.mk
index c7254aed..ac231cef 100644
--- a/mk/scripts.mk
+++ b/mk/scripts.mk
@@ -8,7 +8,7 @@ CONTENTS= ${_CONTENTS}$(shell ${_CONTENTS_SH})
include ${MK}/os.mk
-all:
+all: ${OBJS}
realinstall: ${BIN} ${CONF} ${CONF_APPEND}
if test -n "${DIR}"; then ${INSTALL} -d ${DESTDIR}${DIR} || exit $$?; fi
@@ -30,3 +30,4 @@ realinstall: ${BIN} ${CONF} ${CONF_APPEND}
install: realinstall ${INSTALLAFTER}
clean:
+ rm -f ${OBJS} ${CLEANFILES}