summaryrefslogtreecommitdiff
path: root/emulators/compat12
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2000-10-13 23:36:37 +0000
committerjlam <jlam@pkgsrc.org>2000-10-13 23:36:37 +0000
commit9be7e73f42db2ccb1dfb93ccbd2312a8578dde81 (patch)
treeceed3b822845ca72f0981eb3d3f69c4a91375227 /emulators/compat12
parent752a0bc1190fb9cea191e1d1b8af3eff572b737e (diff)
downloadpkgsrc-9be7e73f42db2ccb1dfb93ccbd2312a8578dde81.tar.gz
Make these install into /usr on most platforms, and into /emul/aout/usr
on platforms transitioning to ELF (currently only i386). The /emul/aout installation occurs much like the suse_linux and freebsd_lib packages. Also add SHLIB_HANDLING=NO to ensure library links aren't clobbered. This should fix PR#9011.
Diffstat (limited to 'emulators/compat12')
-rw-r--r--emulators/compat12/Makefile34
-rw-r--r--emulators/compat12/pkg/DEINSTALL21
-rw-r--r--emulators/compat12/pkg/INSTALL56
-rw-r--r--emulators/compat12/pkg/PLIST10
4 files changed, 110 insertions, 11 deletions
diff --git a/emulators/compat12/Makefile b/emulators/compat12/Makefile
index e6d8621a256..c5754f5e846 100644
--- a/emulators/compat12/Makefile
+++ b/emulators/compat12/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.15 2000/02/05 18:33:29 wiz Exp $
+# $NetBSD: Makefile,v 1.16 2000/10/13 23:36:37 jlam Exp $
#
DISTNAME= compat12-${MACHINE_ARCH}
@@ -12,15 +12,37 @@ HOMEPAGE= http://www.netbsd.org/Releases/formal-1.2/index.html
ONLY_FOR_PLATFORM= NetBSD-*-i386 NetBSD-*-m68k NetBSD-*-ns32k \
NetBSD-*-sparc
-NO_BUILD=
+NO_MTREE= # defined
+SHLIB_HANDLING= NO
+
+DEINSTALL_FILE= ${WRKDIR}/DEINSTALL
+INSTALL_FILE= ${WRKDIR}/INSTALL
.include "../../mk/bsd.prefs.mk"
-# This installs in /usr to avoid dynamic linker annoyances
-LOCALBASE= /usr
-NO_MTREE=
+# This installs in /usr (or /emul/aout/usr) to avoid dynamic linker annoyances
+.if ${MACHINE_ARCH} == "i386" && ${OBJECT_FMT} == "ELF"
+EMULSUBDIR= emul/aout
+COMPAT_LIBDIR= ${EMULSUBDIR}/usr/lib
+.else
+LOCALBASE= /usr
+COMPAT_LIBDIR= lib
+.endif
+
+PLIST_SUBST+= COMPAT_LIBDIR=${COMPAT_LIBDIR}
+
+do-build:
+ ${SED} -e "s,@COMPAT_LIBDIR@,${COMPAT_LIBDIR},g" \
+ < ${PKGDIR}/DEINSTALL > ${DEINSTALL_FILE}
+ ${SED} -e "s,@MACHINE_ARCH@,${MACHINE_ARCH},g" \
+ -e "s,@OBJECT_FMT@,${OBJECT_FMT},g" \
+ < ${PKGDIR}/INSTALL > ${INSTALL_FILE}
do-install:
- ${INSTALL_DATA} ${WRKDIR}/lib*.so* ${PREFIX}/lib/
+ ${INSTALL_DATA_DIR} ${PREFIX}/${COMPAT_LIBDIR}
+ ${INSTALL_DATA} ${WRKDIR}/lib*.so* ${PREFIX}/${COMPAT_LIBDIR}
+
+post-install:
+ PKG_PREFIX=${PREFIX} ${SH} ${INSTALL_FILE} ${PKGNAME} POST-INSTALL
.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/compat12/pkg/DEINSTALL b/emulators/compat12/pkg/DEINSTALL
new file mode 100644
index 00000000000..73869caeeba
--- /dev/null
+++ b/emulators/compat12/pkg/DEINSTALL
@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+# $NetBSD: DEINSTALL,v 1.1 2000/10/13 23:36:39 jlam Exp $
+
+PKGNAME=$1
+STAGE=$2
+
+case ${STAGE} in
+DEINSTALL)
+ ;;
+POST-DEINSTALL)
+ COMPAT_LIBDIR=@COMPAT_LIBDIR@
+
+ rmdir -p ${PKG_PREFIX}/${COMPAT_LIBDIR} 2>/dev/null || true
+ ;;
+*)
+ echo "Unexpected argument: ${STAGE}"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/emulators/compat12/pkg/INSTALL b/emulators/compat12/pkg/INSTALL
new file mode 100644
index 00000000000..0085009a490
--- /dev/null
+++ b/emulators/compat12/pkg/INSTALL
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# $NetBSD: INSTALL,v 1.1 2000/10/13 23:36:39 jlam Exp $
+
+PKGNAME=$1
+STAGE=$2
+
+case ${STAGE} in
+PRE-INSTALL)
+ ;;
+POST-INSTALL)
+ MACHINE_ARCH=@MACHINE_ARCH@
+ OBJECT_FMT=@OBJECT_FMT@
+
+ # Only create the symlink on certain platform/object combinations.
+ #
+ create_emul_symlink=0
+ if [ "${MACHINE_ARCH}" = "i386" -a "${OBJECT_FMT}" = "ELF" ]
+ then
+ create_emul_symlink=1
+ fi
+
+ if [ ${create_emul_symlink} = 1 ]
+ then
+ # Create a symlink from /emul/aout --> ${PKG_PREFIX}/emul/out
+ # if it doesn't already exist. Warn if we can't do this.
+ #
+ emul=aout
+ if [ "`cd /etc && cd ${PKG_PREFIX}/emul/$emul 2>/dev/null && pwd -P`" \
+ != "`cd / && cd /emul/$emul 2>/dev/null && pwd -P`" ]
+ then
+ if [ -e /emul/$emul -o -L /emul/$emul ] || \
+ [ \( -e /emul -o -L /emul \) -a ! -d /emul ]
+ then
+ cat <<EOF
+==============================================================================
+ IMPORTANT: You must create a symbolic link from /emul/$emul
+ to ${PKG_PREFIX}/emul/$emul in order for this package to work
+ properly.
+
+ (It seems there is something else located at /emul/$emul.)
+==============================================================================
+EOF
+ else
+ mkdir -p /emul
+ ln -sf ${PKG_PREFIX}/emul/$emul /emul/$emul
+ fi
+ fi
+ fi
+ ;;
+*)
+ echo "Unexpected argument: ${STAGE}"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/emulators/compat12/pkg/PLIST b/emulators/compat12/pkg/PLIST
index 46b19bba62f..ae31ab6e45b 100644
--- a/emulators/compat12/pkg/PLIST
+++ b/emulators/compat12/pkg/PLIST
@@ -1,5 +1,5 @@
-@comment $NetBSD: PLIST,v 1.1 1998/08/13 02:17:39 tv Exp $
-lib/libedit.so.0.0
-lib/libg++.so.2.0
-lib/libg++.so.3.0
-lib/libutil.so.3.2
+@comment $NetBSD: PLIST,v 1.2 2000/10/13 23:36:39 jlam Exp $
+${COMPAT_LIBDIR}/libedit.so.0.0
+${COMPAT_LIBDIR}/libg++.so.2.0
+${COMPAT_LIBDIR}/libg++.so.3.0
+${COMPAT_LIBDIR}/libutil.so.3.2