summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authormrg <mrg@pkgsrc.org>2001-02-04 08:03:39 +0000
committermrg <mrg@pkgsrc.org>2001-02-04 08:03:39 +0000
commitd7f5dee4b8d4c224383b5f2aa0bb69a00e941d8f (patch)
tree7de571a2050ae58319ded717673817b9b9ba84c6 /emulators
parentc0dadc426693fc37b0cf2ede033a13630139259d (diff)
downloadpkgsrc-d7f5dee4b8d4c224383b5f2aa0bb69a00e941d8f.tar.gz
initial import of compat14-1.4.3:
Shared libraries for NetBSD 1.4 (and earlier) compatibility this has only been done for i386 & sparc so far, and deals with using /emul/aout for these systems that are ELF now. XXX: port to alpha, m68k, mips*, arm32 and ns32k (anything else?)
Diffstat (limited to 'emulators')
-rw-r--r--emulators/compat14/Makefile61
-rw-r--r--emulators/compat14/files/md54
-rw-r--r--emulators/compat14/pkg/COMMENT1
-rw-r--r--emulators/compat14/pkg/DEINSTALL34
-rw-r--r--emulators/compat14/pkg/DESCR4
-rw-r--r--emulators/compat14/pkg/INSTALL68
-rw-r--r--emulators/compat14/pkg/PLIST39
7 files changed, 211 insertions, 0 deletions
diff --git a/emulators/compat14/Makefile b/emulators/compat14/Makefile
new file mode 100644
index 00000000000..8fbab07fe8a
--- /dev/null
+++ b/emulators/compat14/Makefile
@@ -0,0 +1,61 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/02/04 08:03:39 mrg Exp $
+#
+
+DISTNAME= compat14-${MACHINE_ARCH}
+PKGNAME= compat14-1.4.3
+CATEGORIES= emulators
+MASTER_SITES= ${MASTER_SITE_LOCAL}
+
+MAINTAINER= packages@netbsd.org
+HOMEPAGE= http://www.netbsd.org/Releases/formal-1.4/index.html
+
+ONLY_FOR_PLATFORM= NetBSD-*-sparc NetBSD-*-i386
+NOT_FOR_PLATFORM= NetBSD-1.3*-* NetBSD-1.4*-*
+
+NO_MTREE= # defined
+SHLIB_HANDLING= NO
+
+DEINSTALL_FILE= ${WRKDIR}/DEINSTALL
+INSTALL_FILE= ${WRKDIR}/INSTALL
+
+.include "../../mk/bsd.prefs.mk"
+
+# This installs in /usr (or /emul/aout/usr) to avoid dynamic linker annoyances
+.if ${OBJECT_FMT} == "ELF" && \
+ (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "sparc")
+EMULSUBDIR= emul/aout
+COMPAT_LIBDIR= ${EMULSUBDIR}/usr/lib
+COMPAT_XLIBDIR= ${EMULSUBDIR}/usr/X11R6/lib
+.else
+LOCALBASE= /usr
+COMPAT_LIBDIR= lib
+COMPAT_XLIBDIR= X11R6/lib
+.endif
+
+PLIST_SUBST+= COMPAT_LIBDIR=${COMPAT_LIBDIR} COMPAT_XLIBDIR=${COMPAT_XLIBDIR}
+
+do-build:
+ ${SED} -e "s,@MACHINE_ARCH@,${MACHINE_ARCH},g" \
+ -e "s,@COMPAT_LIBDIR@,${COMPAT_LIBDIR},g" \
+ -e "s,@COMPAT_XLIBDIR@,${COMPAT_XLIBDIR},g" \
+ -e "s,@LDCONFIG@,${LDCONFIG},g" \
+ < ${PKGDIR}/DEINSTALL > ${DEINSTALL_FILE}
+ ${SED} -e "s,@MACHINE_ARCH@,${MACHINE_ARCH},g" \
+ -e "s,@OBJECT_FMT@,${OBJECT_FMT},g" \
+ -e "s,@LDCONFIG@,${LDCONFIG},g" \
+ < ${PKGDIR}/INSTALL > ${INSTALL_FILE}
+
+# note that the INSTALL_DATA for the lib*.so symlinks will copy the file, not the symlink.
+# FIXME.
+do-install:
+ ${INSTALL_DATA_DIR} ${PREFIX}/${COMPAT_LIBDIR}
+ ${INSTALL_DATA} ${WRKDIR}/lib/lib*.so* ${PREFIX}/${COMPAT_LIBDIR}
+ if [ -d ${WRKDIR}/X11R6/lib ]; then \
+ ${INSTALL_DATA_DIR} ${PREFIX}/${COMPAT_XLIBDIR}; \
+ ${INSTALL_DATA} ${WRKDIR}/X11R6/lib/lib*.so* ${PREFIX}/${COMPAT_XLIBDIR}; \
+ fi
+
+post-install:
+ PKG_PREFIX=${PREFIX} ${SH} ${INSTALL_FILE} ${PKGNAME} POST-INSTALL
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/compat14/files/md5 b/emulators/compat14/files/md5
new file mode 100644
index 00000000000..f4069b1f6b3
--- /dev/null
+++ b/emulators/compat14/files/md5
@@ -0,0 +1,4 @@
+$NetBSD: md5,v 1.1.1.1 2001/02/04 08:03:39 mrg Exp $
+
+MD5 (compat14-sparc.tar.gz) = ff6617bbff745e81be92080244141960
+MD5 (compat14-i386.tar.gz) = 40fd9b6328922d2a6800537c05d3538b
diff --git a/emulators/compat14/pkg/COMMENT b/emulators/compat14/pkg/COMMENT
new file mode 100644
index 00000000000..05edf1b6f33
--- /dev/null
+++ b/emulators/compat14/pkg/COMMENT
@@ -0,0 +1 @@
+Shared libraries for NetBSD 1.4 (and earlier) compatibility
diff --git a/emulators/compat14/pkg/DEINSTALL b/emulators/compat14/pkg/DEINSTALL
new file mode 100644
index 00000000000..793dde1d7ea
--- /dev/null
+++ b/emulators/compat14/pkg/DEINSTALL
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# $NetBSD: DEINSTALL,v 1.1.1.1 2001/02/04 08:03:39 mrg Exp $
+
+PKGNAME=$1
+STAGE=$2
+
+case ${STAGE} in
+DEINSTALL)
+ ;;
+POST-DEINSTALL)
+ MACHINE_ARCH=@MACHINE_ARCH@
+ COMPAT_LIBDIR=@COMPAT_LIBDIR@
+ COMPAT_XLIBDIR=@COMPAT_XLIBDIR@
+
+ if [ "${MACHINE_ARCH}" = "mipsel" ]
+ then
+ rm -f ${PKG_PREFIX}/libexec/ld.so
+ rmdir -p ${PKG_PREFIX}/libexec 2>/dev/null || true
+ fi
+
+ rmdir -p ${PKG_PREFIX}/${COMPAT_LIBDIR} ${PKG_PREFIX}/${COMPAT_XLIBDIR} 2>/dev/null || true
+
+ # Regenerate the shared library cache. This should work on either
+ # a.out or on ELF with the 1.5 release.
+ #
+ ( @LDCONFIG@ || true ) >/dev/null 2>&1
+ ;;
+*)
+ echo "Unexpected argument: ${STAGE}"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/emulators/compat14/pkg/DESCR b/emulators/compat14/pkg/DESCR
new file mode 100644
index 00000000000..31b3a3a4f3e
--- /dev/null
+++ b/emulators/compat14/pkg/DESCR
@@ -0,0 +1,4 @@
+This package supplies the user files necessary for full compatibility with
+dynamically linked executables compiled under NetBSD 1.4. You still need
+the option COMPAT_14 in your kernel configuration (and probably others;
+see options(4) for more information) to make use of NetBSD 1.4 binaries.
diff --git a/emulators/compat14/pkg/INSTALL b/emulators/compat14/pkg/INSTALL
new file mode 100644
index 00000000000..7a941f04b39
--- /dev/null
+++ b/emulators/compat14/pkg/INSTALL
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+# $NetBSD: INSTALL,v 1.1.1.1 2001/02/04 08:03:39 mrg Exp $
+
+PKGNAME=$1
+STAGE=$2
+
+case ${STAGE} in
+PRE-INSTALL)
+ ;;
+POST-INSTALL)
+ MACHINE_ARCH=@MACHINE_ARCH@
+ OBJECT_FMT=@OBJECT_FMT@
+
+ if [ "${MACHINE_ARCH}" = "mipsel" ]
+ then
+ ln -sf ld.elf_so /usr/libexec/ld.so
+ fi
+
+ # Only create the symlink on certain platform/object combinations. Note
+ # that sparc64 a.out compatibility lives in /emul/aout, not /emul/netbsd32.
+ #
+ create_emul_symlink=0
+ if [ "${OBJECT_FMT}" = "ELF" ] && \
+ [ "${MACHINE_ARCH}" = "i386" -o "${MACHINE_ARCH}" = "sparc" ]
+ then
+ create_emul_symlink=1
+ fi
+
+ if [ ${create_emul_symlink} = 1 ]
+ then
+ # Create a symlink from /emul/aout --> ${PKG_PREFIX}/emul/aout
+ # 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
+
+ # Regenerate the shared library cache. This should work on either
+ # a.out or on ELF with the 1.5 release.
+ #
+ ( @LDCONFIG@ || true ) >/dev/null 2>&1
+ ;;
+*)
+ echo "Unexpected argument: ${STAGE}"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/emulators/compat14/pkg/PLIST b/emulators/compat14/pkg/PLIST
new file mode 100644
index 00000000000..944a004ec2a
--- /dev/null
+++ b/emulators/compat14/pkg/PLIST
@@ -0,0 +1,39 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/02/04 08:03:39 mrg Exp $
+${COMPAT_LIBDIR}/libamu.so.1.1
+${COMPAT_LIBDIR}/libbfd.so.3.0
+${COMPAT_LIBDIR}/libbz2.so.0.0
+${COMPAT_LIBDIR}/libc.so.12.40.2
+${COMPAT_LIBDIR}/libcrypt.so.0.0
+${COMPAT_LIBDIR}/libcurses.so.2.2
+${COMPAT_LIBDIR}/libedit.so.2.2
+${COMPAT_LIBDIR}/libg2c.so.0.0
+${COMPAT_LIBDIR}/libgnumalloc.so.0.0
+${COMPAT_LIBDIR}/libkvm.so.5.0
+${COMPAT_LIBDIR}/libm.so.0.1
+${COMPAT_LIBDIR}/libntp.so.0.0
+${COMPAT_LIBDIR}/libobjc.so.0.0
+${COMPAT_LIBDIR}/libossaudio.so.0.0
+${COMPAT_LIBDIR}/libpcap.so.0.0
+${COMPAT_LIBDIR}/libposix.so.0.1
+${COMPAT_LIBDIR}/libresolv.so.1.0
+${COMPAT_LIBDIR}/libskey.so.0.0
+${COMPAT_LIBDIR}/libstdc++.so.2.0
+${COMPAT_LIBDIR}/libtelnet.so.1.0
+${COMPAT_LIBDIR}/libtermcap.so.0.0
+${COMPAT_LIBDIR}/libtermlib.so.0.0
+${COMPAT_LIBDIR}/libutil.so.5.0
+${COMPAT_LIBDIR}/libwrap.so.0.0
+${COMPAT_LIBDIR}/libz.so.0.1
+${COMPAT_XLIBDIR}/libICE.so.6.3
+${COMPAT_XLIBDIR}/libPEX5.so.6.0
+${COMPAT_XLIBDIR}/libSM.so.6.0
+${COMPAT_XLIBDIR}/libX11.so.6.1
+${COMPAT_XLIBDIR}/libXIE.so.6.0
+${COMPAT_XLIBDIR}/libXaw.so.6.1
+${COMPAT_XLIBDIR}/libXext.so.6.3
+${COMPAT_XLIBDIR}/libXi.so.6.0
+${COMPAT_XLIBDIR}/libXmu.so.6.0
+${COMPAT_XLIBDIR}/libXp.so.6.2
+${COMPAT_XLIBDIR}/libXt.so.6.0
+${COMPAT_XLIBDIR}/libXtst.so.6.1
+${COMPAT_XLIBDIR}/liboldX.so.6.0