aboutsummaryrefslogtreecommitdiffstats
path: root/emulators/linux_base-62
diff options
context:
space:
mode:
authorsheldonh <sheldonh@FreeBSD.org>2000-08-15 18:22:36 +0800
committersheldonh <sheldonh@FreeBSD.org>2000-08-15 18:22:36 +0800
commit9fbc9e359af19834125374d2442d3c31a91a5300 (patch)
treed28e5432981eb7be66d2f6c188b16bbd246c12dc /emulators/linux_base-62
parentd0818ca799b0c5faf2ed63b4544f1cf526fd1eb4 (diff)
downloadfreebsd-ports-graphics-9fbc9e359af19834125374d2442d3c31a91a5300.tar.gz
freebsd-ports-graphics-9fbc9e359af19834125374d2442d3c31a91a5300.tar.zst
freebsd-ports-graphics-9fbc9e359af19834125374d2442d3c31a91a5300.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.
Diffstat (limited to 'emulators/linux_base-62')
-rw-r--r--emulators/linux_base-62/Makefile17
-rw-r--r--emulators/linux_base-62/pkg-install17
-rw-r--r--emulators/linux_base-62/pkg-message10
3 files changed, 29 insertions, 15 deletions
diff --git a/emulators/linux_base-62/Makefile b/emulators/linux_base-62/Makefile
index 3d81d0ed718..80aa0bd30fa 100644
--- a/emulators/linux_base-62/Makefile
+++ b/emulators/linux_base-62/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-62/pkg-install b/emulators/linux_base-62/pkg-install
new file mode 100644
index 00000000000..c06d6689085
--- /dev/null
+++ b/emulators/linux_base-62/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-62/pkg-message b/emulators/linux_base-62/pkg-message
index bbfd3e0cad6..a53c43fcaa2 100644
--- a/emulators/linux_base-62/pkg-message
+++ b/emulators/linux_base-62/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.