From 34cba55d3c40cd5777bf5ab970e7e82df9c29ed2 Mon Sep 17 00:00:00 2001 From: Boris Samorodov Date: Wed, 11 Apr 2007 11:42:34 +0000 Subject: *** ATTENTION *** DANGER *** EXPERIMENTAL PORT *** YOU HAVE BEEN WARNED *** 1. Add a check if linuxulator is (kld)loaded. IGNORE otherwise. Before this commit the port compared compat.linux.osrelease with 2.4.2 and was IGNOREd if those values are equal. In case linuxulator is *not* loaded, the port proceeded to install, to load linuxulator and to use... compat.linux.osrelease=2.4.2! The port as is doesn't proceed (without linuxulator loaded or if compat.linux.osrelease is equal to 2.4.2) even for "make fetch". Imho that's OK, because it won't let automated tasks to load unneccessary distros, while a human administrator should know what to do by hand. ;-) BTW, I'm not sure but may be it'a be a good idea to use IGNORE if (FreeBSD) OSVERSION < (say) 700037... 2. Apply the same tests for packages. 3. Bump PORTREVISION. Enjoy. ;-) --- emulators/linux_base-c6/Makefile | 8 +++++--- emulators/linux_base-c6/pkg-install | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'emulators/linux_base-c6') diff --git a/emulators/linux_base-c6/Makefile b/emulators/linux_base-c6/Makefile index 9fb92628100f..e7748416afcb 100644 --- a/emulators/linux_base-c6/Makefile +++ b/emulators/linux_base-c6/Makefile @@ -8,7 +8,7 @@ PORTNAME= fc6 PORTVERSION= 6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= emulators linux MASTER_SITES= ${MASTER_SITE_FEDORA_LINUX} MASTER_SITE_SUBDIR= ${PORTVERSION}/${LINUX_RPM_ARCH}/os/Fedora/RPMS \ @@ -123,8 +123,10 @@ PLIST= pkg-plist LINUX_OSRELEASE!= ${ECHO} `${SYSCTL} -n compat.linux.osrelease 2>/dev/null` -.if ${LINUX_OSRELEASE} == "2.4.2" -IGNORE= compat.linux.osrelease: 2.4.2 is not supported +.if ${LINUX_OSRELEASE}x == "x" +IGNORE= linuxulator is not (kld)loaded +.elif ${LINUX_OSRELEASE} == "2.4.2" +IGNORE= compat.linux.osrelease: 2.4.2 is not supported .endif REMOVE_DIRS= boot dev home initrd root tmp var/log var/run var/tmp \ diff --git a/emulators/linux_base-c6/pkg-install b/emulators/linux_base-c6/pkg-install index 6e90d86fbfdd..7494267b3d2b 100644 --- a/emulators/linux_base-c6/pkg-install +++ b/emulators/linux_base-c6/pkg-install @@ -3,6 +3,14 @@ case "$2" in PRE-INSTALL) + if [ "`/sbin/sysctl -n compat.linux.osrelease`"x = "x" ]; then + echo 'linuxulator is not (kld)loaded, exiting' + exit 1 + fi + if [ "`/sbin/sysctl -n compat.linux.osrelease`" = "2.4.2" ]; then + echo 'compat.linux.osrelease: 2.4.2 is not supported, exiting' + exit 1 + fi if [ -z "`kldstat -v | grep -E 'linux(aout|elf)'`" ]; then echo 'Linux mode is not enabled.' echo 'Loading linux kernel module now...' -- cgit v1.2.3