aboutsummaryrefslogtreecommitdiffstats
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
parentd0818ca799b0c5faf2ed63b4544f1cf526fd1eb4 (diff)
downloadfreebsd-ports-gnome-9fbc9e359af19834125374d2442d3c31a91a5300.tar.gz
freebsd-ports-gnome-9fbc9e359af19834125374d2442d3c31a91a5300.tar.zst
freebsd-ports-gnome-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.
-rw-r--r--devel/linux_devtools-6/Makefile13
-rw-r--r--devel/linux_devtools-6/pkg-install17
-rw-r--r--devel/linux_devtools-7/Makefile13
-rw-r--r--devel/linux_devtools-7/pkg-install17
-rw-r--r--devel/linux_devtools/Makefile13
-rw-r--r--devel/linux_devtools/pkg-install17
-rw-r--r--emulators/linux_base-6/Makefile17
-rw-r--r--emulators/linux_base-6/pkg-install17
-rw-r--r--emulators/linux_base-6/pkg-message10
-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
-rw-r--r--emulators/linux_base-8/Makefile17
-rw-r--r--emulators/linux_base-8/pkg-install17
-rw-r--r--emulators/linux_base-8/pkg-message10
-rw-r--r--emulators/linux_base-rh-9/Makefile17
-rw-r--r--emulators/linux_base-rh-9/pkg-install17
-rw-r--r--emulators/linux_base-rh-9/pkg-message10
-rw-r--r--emulators/linux_base-suse-9.1/Makefile17
-rw-r--r--emulators/linux_base-suse-9.1/pkg-install17
-rw-r--r--emulators/linux_base-suse-9.1/pkg-message10
-rw-r--r--emulators/linux_base-suse-9.2/Makefile17
-rw-r--r--emulators/linux_base-suse-9.2/pkg-install17
-rw-r--r--emulators/linux_base-suse-9.2/pkg-message10
-rw-r--r--emulators/linux_base-suse-9.3/Makefile17
-rw-r--r--emulators/linux_base-suse-9.3/pkg-install17
-rw-r--r--emulators/linux_base-suse-9.3/pkg-message10
-rw-r--r--emulators/linux_base/Makefile17
-rw-r--r--emulators/linux_base/pkg-install17
-rw-r--r--emulators/linux_base/pkg-message10
30 files changed, 292 insertions, 150 deletions
diff --git a/devel/linux_devtools-6/Makefile b/devel/linux_devtools-6/Makefile
index 05d0506c512e..ec843b794b92 100644
--- a/devel/linux_devtools-6/Makefile
+++ b/devel/linux_devtools-6/Makefile
@@ -91,17 +91,10 @@ NEEDLOADLINK= true
do-patch:
@${DO_NADA}
+pre-install:
+ @${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
#
# Setup a chroot'able environment
#
diff --git a/devel/linux_devtools-6/pkg-install b/devel/linux_devtools-6/pkg-install
new file mode 100644
index 000000000000..957ee313fa57
--- /dev/null
+++ b/devel/linux_devtools-6/pkg-install
@@ -0,0 +1,17 @@
+#!/bin/sh
+# an installation script for linux_devtools
+
+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
+ ;;
+esac
+
+exit 0
diff --git a/devel/linux_devtools-7/Makefile b/devel/linux_devtools-7/Makefile
index 05d0506c512e..ec843b794b92 100644
--- a/devel/linux_devtools-7/Makefile
+++ b/devel/linux_devtools-7/Makefile
@@ -91,17 +91,10 @@ NEEDLOADLINK= true
do-patch:
@${DO_NADA}
+pre-install:
+ @${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
#
# Setup a chroot'able environment
#
diff --git a/devel/linux_devtools-7/pkg-install b/devel/linux_devtools-7/pkg-install
new file mode 100644
index 000000000000..957ee313fa57
--- /dev/null
+++ b/devel/linux_devtools-7/pkg-install
@@ -0,0 +1,17 @@
+#!/bin/sh
+# an installation script for linux_devtools
+
+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
+ ;;
+esac
+
+exit 0
diff --git a/devel/linux_devtools/Makefile b/devel/linux_devtools/Makefile
index 05d0506c512e..ec843b794b92 100644
--- a/devel/linux_devtools/Makefile
+++ b/devel/linux_devtools/Makefile
@@ -91,17 +91,10 @@ NEEDLOADLINK= true
do-patch:
@${DO_NADA}
+pre-install:
+ @${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
#
# Setup a chroot'able environment
#
diff --git a/devel/linux_devtools/pkg-install b/devel/linux_devtools/pkg-install
new file mode 100644
index 000000000000..957ee313fa57
--- /dev/null
+++ b/devel/linux_devtools/pkg-install
@@ -0,0 +1,17 @@
+#!/bin/sh
+# an installation script for linux_devtools
+
+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
+ ;;
+esac
+
+exit 0
diff --git a/emulators/linux_base-6/Makefile b/emulators/linux_base-6/Makefile
index 3d81d0ed718c..80aa0bd30fa2 100644
--- a/emulators/linux_base-6/Makefile
+++ b/emulators/linux_base-6/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-6/pkg-install b/emulators/linux_base-6/pkg-install
new file mode 100644
index 000000000000..c06d66890859
--- /dev/null
+++ b/emulators/linux_base-6/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-6/pkg-message b/emulators/linux_base-6/pkg-message
index bbfd3e0cad6c..a53c43fcaa22 100644
--- a/emulators/linux_base-6/pkg-message
+++ b/emulators/linux_base-6/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.
diff --git a/emulators/linux_base-62/Makefile b/emulators/linux_base-62/Makefile
index 3d81d0ed718c..80aa0bd30fa2 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 000000000000..c06d66890859
--- /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 bbfd3e0cad6c..a53c43fcaa22 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.
diff --git a/emulators/linux_base-8/Makefile b/emulators/linux_base-8/Makefile
index 3d81d0ed718c..80aa0bd30fa2 100644
--- a/emulators/linux_base-8/Makefile
+++ b/emulators/linux_base-8/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-8/pkg-install b/emulators/linux_base-8/pkg-install
new file mode 100644
index 000000000000..c06d66890859
--- /dev/null
+++ b/emulators/linux_base-8/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-8/pkg-message b/emulators/linux_base-8/pkg-message
index bbfd3e0cad6c..a53c43fcaa22 100644
--- a/emulators/linux_base-8/pkg-message
+++ b/emulators/linux_base-8/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.
diff --git a/emulators/linux_base-rh-9/Makefile b/emulators/linux_base-rh-9/Makefile
index 3d81d0ed718c..80aa0bd30fa2 100644
--- a/emulators/linux_base-rh-9/Makefile
+++ b/emulators/linux_base-rh-9/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-rh-9/pkg-install b/emulators/linux_base-rh-9/pkg-install
new file mode 100644
index 000000000000..c06d66890859
--- /dev/null
+++ b/emulators/linux_base-rh-9/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-rh-9/pkg-message b/emulators/linux_base-rh-9/pkg-message
index bbfd3e0cad6c..a53c43fcaa22 100644
--- a/emulators/linux_base-rh-9/pkg-message
+++ b/emulators/linux_base-rh-9/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.
diff --git a/emulators/linux_base-suse-9.1/Makefile b/emulators/linux_base-suse-9.1/Makefile
index 3d81d0ed718c..80aa0bd30fa2 100644
--- a/emulators/linux_base-suse-9.1/Makefile
+++ b/emulators/linux_base-suse-9.1/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-suse-9.1/pkg-install b/emulators/linux_base-suse-9.1/pkg-install
new file mode 100644
index 000000000000..c06d66890859
--- /dev/null
+++ b/emulators/linux_base-suse-9.1/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-suse-9.1/pkg-message b/emulators/linux_base-suse-9.1/pkg-message
index bbfd3e0cad6c..a53c43fcaa22 100644
--- a/emulators/linux_base-suse-9.1/pkg-message
+++ b/emulators/linux_base-suse-9.1/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.
diff --git a/emulators/linux_base-suse-9.2/Makefile b/emulators/linux_base-suse-9.2/Makefile
index 3d81d0ed718c..80aa0bd30fa2 100644
--- a/emulators/linux_base-suse-9.2/Makefile
+++ b/emulators/linux_base-suse-9.2/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-suse-9.2/pkg-install b/emulators/linux_base-suse-9.2/pkg-install
new file mode 100644
index 000000000000..c06d66890859
--- /dev/null
+++ b/emulators/linux_base-suse-9.2/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-suse-9.2/pkg-message b/emulators/linux_base-suse-9.2/pkg-message
index bbfd3e0cad6c..a53c43fcaa22 100644
--- a/emulators/linux_base-suse-9.2/pkg-message
+++ b/emulators/linux_base-suse-9.2/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.
diff --git a/emulators/linux_base-suse-9.3/Makefile b/emulators/linux_base-suse-9.3/Makefile
index 3d81d0ed718c..80aa0bd30fa2 100644
--- a/emulators/linux_base-suse-9.3/Makefile
+++ b/emulators/linux_base-suse-9.3/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-suse-9.3/pkg-install b/emulators/linux_base-suse-9.3/pkg-install
new file mode 100644
index 000000000000..c06d66890859
--- /dev/null
+++ b/emulators/linux_base-suse-9.3/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-suse-9.3/pkg-message b/emulators/linux_base-suse-9.3/pkg-message
index bbfd3e0cad6c..a53c43fcaa22 100644
--- a/emulators/linux_base-suse-9.3/pkg-message
+++ b/emulators/linux_base-suse-9.3/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.
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.