aboutsummaryrefslogtreecommitdiff
path: root/emulators/linux_base
diff options
context:
space:
mode:
authorSheldon Hearn <sheldonh@FreeBSD.org>2000-08-15 10:22:36 +0000
committerSheldon Hearn <sheldonh@FreeBSD.org>2000-08-15 10:22:36 +0000
commit4e28d4de05080ad0b7b8856a3d4b645e47378d55 (patch)
treea7c667b9dd9e0be60fd47ff3bf6068ea94e1b149 /emulators/linux_base
parentbd9d1979dda9036d0ce5451e12ac694a83fc8880 (diff)
downloadports-4e28d4de05080ad0b7b8856a3d4b645e47378d55.tar.gz
ports-4e28d4de05080ad0b7b8856a3d4b645e47378d55.zip
Do not rely on the linux(8) shell script. Instead, use an INSTALL
script so that the behaviour of a package installation matches that of a port installation identically. Note that, in the package case, we already have a valid run-time linker hints file for Linux.
Notes
Notes: svn path=/head/; revision=31658
Diffstat (limited to 'emulators/linux_base')
-rw-r--r--emulators/linux_base/Makefile17
-rw-r--r--emulators/linux_base/pkg-install17
-rw-r--r--emulators/linux_base/pkg-message10
3 files changed, 29 insertions, 15 deletions
diff --git a/emulators/linux_base/Makefile b/emulators/linux_base/Makefile
index 3d81d0ed718c..80aa0bd30fa2 100644
--- a/emulators/linux_base/Makefile
+++ b/emulators/linux_base/Makefile
@@ -124,17 +124,14 @@ NEEDLOADLINK= true
do-patch:
@${DO_NADA}
+pre-install:
+#
+# Handle the loading of the linux loadable kernel module if
+# required.
+#
+ @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
do-install:
- @if [ -z "`kldstat -v | ${GREP} -E 'linux(aout|elf)'`" ]; then \
- ${ECHO} 'Linux mode is not enabled.\
- Loading linux kernel module...' | fmt; \
- linux || { \
- ${ECHO} 'The linux kernel module could not be loaded.\
- Please manually load the module and retry.\
- See "man linux" for details.' | fmt; \
- ${FALSE}; \
- };\
- fi
@${MKDIR} ${PREFIX}/${DBPATH}
@${MKDIR} ${PREFIX}/var/tmp
@rpm --initdb --root ${PREFIX} --dbpath ${DBPATH}
diff --git a/emulators/linux_base/pkg-install b/emulators/linux_base/pkg-install
new file mode 100644
index 000000000000..c06d66890859
--- /dev/null
+++ b/emulators/linux_base/pkg-install
@@ -0,0 +1,17 @@
+#!/bin/sh
+# an installation script for linux_base
+
+case "$2" in
+PRE-INSTALL)
+ if [ -z "`kldstat -v | grep -E 'linux(aout|elf)'`" ]; then
+ echo 'Linux mode is not enabled.'
+ echo 'Loading linux kernel module now...'
+ if ! kldload linux; then
+ echo 'The linux kernel module could not be loaded.'
+ echo 'Please enable linux mode manually and retry.'
+ exit 1
+ fi
+ fi
+esac
+
+exit 0
diff --git a/emulators/linux_base/pkg-message b/emulators/linux_base/pkg-message
index bbfd3e0cad6c..a53c43fcaa22 100644
--- a/emulators/linux_base/pkg-message
+++ b/emulators/linux_base/pkg-message
@@ -1,9 +1,9 @@
Installation of the Linux base system is
-finished. Before you can actually run
-Linux binaries, the Linux kernel module
-must be loaded. See linux(8). You may
-consider loading the Linux kernel module
-at boot time. See rc.conf(5).
+finished. The Linux kernel mode, which
+must be enabled for Linux binaries to run,
+is now enabled. Linux mode can be enabled
+permanently with the linux_enable variable
+of rc.conf(5).
When using NIS, don't forget to edit
yp.conf in /compat/linux/etc.