summaryrefslogtreecommitdiff
path: root/emulators/compat14
diff options
context:
space:
mode:
authorjlam <jlam>2007-08-21 22:49:02 +0000
committerjlam <jlam>2007-08-21 22:49:02 +0000
commitab694111ad4413494cc301a737b52c16afbbdd86 (patch)
treec963fbe349aa6c3a854fc36e80c1b467ee94113c /emulators/compat14
parent333906725cd0e72024ceb197e8c81fd1c6bff2d2 (diff)
downloadpkgsrc-ab694111ad4413494cc301a737b52c16afbbdd86.tar.gz
* Support netbsd-* as a valid platform in EMUL_PLATFORMS. Use the
pkgsrc/emulator/compat* and pkgsrc/emulator/netbsd32_compat* packages to provide the necessary shared libraries to run dynamically linked NetBSD binaries from the days of yore. * Add some additional compat* packages for completeness: compat15, compat20, compat30 * Modify the compat* packages so that "compatNM" only provides files that aren't in "NetBSD-N.(M+1)". For example, compat12 only provides files that don't exist in NetBSD-1.3.x, compat13 only provides files that don't exist in NetBSD-1.4.x, etc. As a result, if you are running NetBSD-3.0/alpha and want to run a 1.3 dynamically linked binary, there is an automatic dependency chain that causes the following packages to be installed: compat13, compat14, compat15, compat16, compat20 There are some deviations from this dependency chain on platforms that have changed executable formats, e.g. i386, m68, sparc, etc. However, in general pkgsrc will require that you have the necessary COMPAT_* options in your kernel to match the installed compat* packages. This restriction is an artificial one imposed by pkgsrc, but allows for a single set of distfiles to be used on all versions of NetBSD. * Provide compat* package support for every supported architecture of NetBSD. Verily, it is now possible to run 1.2 binaries on NetBSD-1.5.3/pc532 by installing the compat12 package from pkgsrc. Rejoice, one and all! * The netbsd32_compat* packages mirror the corresponding compat* packages for use by sparc64 and x86_64 to allow running 32-bit binaries with COMPAT_NETBSD32 kernel support. The "extras" packages supply the additional shared libraries from the corresponding release of NetBSD so that the set of files in /emul/netbsd32 will be complete. * pkgsrc/emulators/compat_netbsd contains infrastructure files shared by all of the compat* packages.
Diffstat (limited to 'emulators/compat14')
-rw-r--r--emulators/compat14/DEINSTALL22
-rw-r--r--emulators/compat14/DESCR7
-rw-r--r--emulators/compat14/INSTALL56
-rw-r--r--emulators/compat14/MESSAGE7
-rw-r--r--emulators/compat14/Makefile88
-rw-r--r--emulators/compat14/PLIST48
-rw-r--r--emulators/compat14/PLIST.ELF15
-rw-r--r--emulators/compat14/PLIST.a.out9
-rw-r--r--emulators/compat14/PLIST.alpha22
-rw-r--r--emulators/compat14/PLIST.arm10
-rw-r--r--emulators/compat14/PLIST.i38640
-rw-r--r--emulators/compat14/PLIST.m68k10
-rw-r--r--emulators/compat14/PLIST.ns32k2
-rw-r--r--emulators/compat14/PLIST.powerpc22
-rw-r--r--emulators/compat14/PLIST.sparc35
-rw-r--r--emulators/compat14/PLIST.vax10
-rw-r--r--emulators/compat14/distinfo35
-rw-r--r--emulators/compat14/emulator.mk47
18 files changed, 297 insertions, 188 deletions
diff --git a/emulators/compat14/DEINSTALL b/emulators/compat14/DEINSTALL
deleted file mode 100644
index a836e07aaf7..00000000000
--- a/emulators/compat14/DEINSTALL
+++ /dev/null
@@ -1,22 +0,0 @@
-# $NetBSD: DEINSTALL,v 1.2 2003/08/30 19:02:33 jlam Exp $
-
-case ${STAGE} in
-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
- ;;
-esac
diff --git a/emulators/compat14/DESCR b/emulators/compat14/DESCR
index 6bfe6baf113..330e1b5bf60 100644
--- a/emulators/compat14/DESCR
+++ b/emulators/compat14/DESCR
@@ -1,5 +1,2 @@
-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.
-This package includes the crypto-enabled "domestic" set libraries.
+This package supplies the user files needed to run dynamically linked
+executables compiled under NetBSD 1.4.
diff --git a/emulators/compat14/INSTALL b/emulators/compat14/INSTALL
deleted file mode 100644
index b37ac594721..00000000000
--- a/emulators/compat14/INSTALL
+++ /dev/null
@@ -1,56 +0,0 @@
-# $NetBSD: INSTALL,v 1.2 2003/08/30 19:02:33 jlam Exp $
-
-case ${STAGE} in
-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
- ;;
-esac
diff --git a/emulators/compat14/MESSAGE b/emulators/compat14/MESSAGE
new file mode 100644
index 00000000000..366b0eafc44
--- /dev/null
+++ b/emulators/compat14/MESSAGE
@@ -0,0 +1,7 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1 2007/08/21 22:49:08 jlam Exp $
+
+The COMPAT_14 option must be included in the kernel configuration (and
+possibly others; see options(4) for more information) to make use of
+NetBSD 1.4 binaries.
+===========================================================================
diff --git a/emulators/compat14/Makefile b/emulators/compat14/Makefile
index 04b5fae2e79..444ba0c931b 100644
--- a/emulators/compat14/Makefile
+++ b/emulators/compat14/Makefile
@@ -1,59 +1,53 @@
-# $NetBSD: Makefile,v 1.20 2007/08/16 14:00:12 jlam Exp $
-#
-
-DISTNAME= compat14-crypto-${MACHINE_ARCH}-${VERSION}
-PKGNAME= compat14-${VERSION}
-PKGREVISION= 1
-CATEGORIES= emulators
-MASTER_SITES= ${MASTER_SITE_LOCAL}
+# $NetBSD: Makefile,v 1.21 2007/08/21 22:49:08 jlam Exp $
-MAINTAINER= pkgsrc-users@NetBSD.org
-HOMEPAGE= http://www.NetBSD.org/Releases/formal-1.4/index.html
-COMMENT= Shared libraries for NetBSD 1.4 (and earlier) compatibility
+DISTNAME= compat14 # overridden below
+NETBSD_VERSION= 1.4
+PKGREVISION= 2
-VERSION= 1.4.3.1
+CONFLICTS= compat14-crypto-[0-9]*
-CONFLICTS= compat14-[0-9]*
+HOMEPAGE= http://www.NetBSD.org/Releases/formal-1.4/index.html
+COMMENT= Shared libraries for NetBSD 1.4 compatibility
-ONLY_FOR_PLATFORM= NetBSD-*-sparc NetBSD-*-i386
-NOT_FOR_PLATFORM= NetBSD-1.3*-* NetBSD-1.4*-*
-NO_SRC_ON_FTP= Already in MASTER_SITE_LOCAL
+EMUL_PLATFORMS= netbsd-alpha netbsd-arm netbsd-i386 netbsd-m68k \
+ netbsd-mipsel netbsd-ns32k netbsd-powerpc \
+ netbsd-sparc netbsd-vax
-CRYPTO= YES
+ONLY_FOR_PLATFORM= NetBSD-1.4[A-Z]*-* NetBSD-1.[5-9]*-* \
+ NetBSD-[2-9]*-* NetBSD-[1-9][0-9]*-*
-CHECK_SHLIBS_SUPPORTED= no
-BUILD_DIRS= # empty
+.include "../../emulators/compat_netbsd/Makefile.common"
-FILES_SUBST+= COMPAT_LIBDIR=${COMPAT_LIBDIR:Q}
-FILES_SUBST+= COMPAT_XLIBDIR=${COMPAT_XLIBDIR:Q}
-FILES_SUBST+= MACHINE_ARCH=${MACHINE_ARCH:Q}
-FILES_SUBST+= OBJECT_FMT=${OBJECT_FMT:Q}
-FILES_SUBST+= LDCONFIG=${LDCONFIG:Q}
+.if (${EMUL_PLATFORM} == "netbsd-ns32k")
+DISTNAME= compat14-${EMUL_ARCH}-1.4.2
+.elif (${EMUL_PLATFORM} == "netbsd-i386") || \
+ (${EMUL_PLATFORM} == "netbsd-sparc")
+DISTNAME= compat14-${EMUL_ARCH}-1.4.3.1
+.else
+DISTNAME= compat14-${EMUL_ARCH}-1.4.3
+.endif
-.include "../../mk/bsd.prefs.mk"
+# For COMPAT_NETBSD32, we need to depend on the compat15 package to supply
+# /usr/libexec/ld.so (either directly or indirectly) so that the a.out
+# shared libraries can be used.
+#
+.if ((${EMUL_ARCH} == "i386") && (${MACHINE_ARCH} == "x86_64")) || \
+ ((${EMUL_ARCH} == "sparc") && (${MACHINE_ARCH} == "sparc64"))
+DEPENDS+= netbsd32_compat15>=1.5:../../emulators/netbsd32_compat15
-# 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
-.elif ${OPSYS} == "NetBSD"
-LOCALBASE= /usr
-COMPAT_LIBDIR= lib
-COMPAT_XLIBDIR= X11R6/lib
+# i386 and sparc switched from a.out to ELF after NetBSD-1.4, and
+# they don't need any other packages to supply missing a.out shared
+# libraries.
+#
+.elif (${EMUL_ARCH} == "i386") || (${EMUL_ARCH} == "sparc")
+#DEPENDS+= # no additional dependencies
+#
+# We need to depend on the compat15 package to supply shared libraries
+# missing from compat14 on NetBSD>1.5.
+#
+.elif empty(OS_VERSION:M0.[0-9]*) && empty(OS_VERSION:M1.[0-4]*) && \
+ empty(OS_VERSION:M1.5) && empty(OS_VERSION:M1.5.*)
+DEPENDS+= compat15>=1.5:../../emulators/compat15
.endif
-PLIST_SUBST+= COMPAT_LIBDIR=${COMPAT_LIBDIR:Q} COMPAT_XLIBDIR=${COMPAT_XLIBDIR:Q}
-
-# 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
-
.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/compat14/PLIST b/emulators/compat14/PLIST
deleted file mode 100644
index 8625bf3ae25..00000000000
--- a/emulators/compat14/PLIST
+++ /dev/null
@@ -1,48 +0,0 @@
-@comment $NetBSD: PLIST,v 1.2 2007/08/16 14:00:12 jlam Exp $
-${COMPAT_LIBDIR}/libacl.so.2.0
-${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}/libcom_err.so.2.0
-${COMPAT_LIBDIR}/libcrypt.so.0.0
-${COMPAT_LIBDIR}/libcurses.so.2.2
-${COMPAT_LIBDIR}/libdes.so.2.0
-${COMPAT_LIBDIR}/libedit.so.2.2
-${COMPAT_LIBDIR}/libg2c.so.0.0
-${COMPAT_LIBDIR}/libgnumalloc.so.0.0
-${COMPAT_LIBDIR}/libkadm.so.2.0
-${COMPAT_LIBDIR}/libkafs.so.3.0
-${COMPAT_LIBDIR}/libkdb.so.2.0
-${COMPAT_LIBDIR}/libkrb.so.2.0
-${COMPAT_LIBDIR}/libkstream.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}/libss.so.2.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
diff --git a/emulators/compat14/PLIST.ELF b/emulators/compat14/PLIST.ELF
new file mode 100644
index 00000000000..d6f8637ff51
--- /dev/null
+++ b/emulators/compat14/PLIST.ELF
@@ -0,0 +1,15 @@
+@comment $NetBSD: PLIST.ELF,v 1.1 2007/08/21 22:49:09 jlam Exp $
+${EMULSUBDIRSLASH}usr/lib/libbfd.so.3
+${EMULSUBDIRSLASH}usr/lib/libbfd.so.3.0
+${EMULSUBDIRSLASH}usr/lib/libcurses.so.2
+${EMULSUBDIRSLASH}usr/lib/libcurses.so.2.2
+${EMULSUBDIRSLASH}usr/lib/libntp.so.0
+${EMULSUBDIRSLASH}usr/lib/libntp.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libpcap.so.0
+${EMULSUBDIRSLASH}usr/lib/libpcap.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libskey.so.0
+${EMULSUBDIRSLASH}usr/lib/libskey.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libtelnet.so.1
+${EMULSUBDIRSLASH}usr/lib/libtelnet.so.1.0
+@dirrm ${EMULSUBDIRSLASH}usr/lib
+@dirrm ${EMULSUBDIRSLASH}usr
diff --git a/emulators/compat14/PLIST.a.out b/emulators/compat14/PLIST.a.out
new file mode 100644
index 00000000000..63dd73326dd
--- /dev/null
+++ b/emulators/compat14/PLIST.a.out
@@ -0,0 +1,9 @@
+@comment $NetBSD: PLIST.a.out,v 1.1 2007/08/21 22:49:09 jlam Exp $
+${EMULSUBDIRSLASH}usr/lib/libbfd.so.3.0
+${EMULSUBDIRSLASH}usr/lib/libcurses.so.2.2
+${EMULSUBDIRSLASH}usr/lib/libntp.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libpcap.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libskey.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libtelnet.so.1.0
+@dirrm ${EMULSUBDIRSLASH}usr/lib
+@dirrm ${EMULSUBDIRSLASH}usr
diff --git a/emulators/compat14/PLIST.alpha b/emulators/compat14/PLIST.alpha
new file mode 100644
index 00000000000..6015ed087dd
--- /dev/null
+++ b/emulators/compat14/PLIST.alpha
@@ -0,0 +1,22 @@
+@comment $NetBSD: PLIST.alpha,v 1.1 2007/08/21 22:49:09 jlam Exp $
+${EMULSUBDIRSLASH}usr/lib/libacl.so
+${EMULSUBDIRSLASH}usr/lib/libacl.so.2
+${EMULSUBDIRSLASH}usr/lib/libacl.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libcom_err.so.2
+${EMULSUBDIRSLASH}usr/lib/libcom_err.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libdes.so.2
+${EMULSUBDIRSLASH}usr/lib/libdes.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkadm.so.2
+${EMULSUBDIRSLASH}usr/lib/libkadm.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkafs.so.3
+${EMULSUBDIRSLASH}usr/lib/libkafs.so.3.0
+${EMULSUBDIRSLASH}usr/lib/libkdb.so.2
+${EMULSUBDIRSLASH}usr/lib/libkdb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkrb.so.2
+${EMULSUBDIRSLASH}usr/lib/libkrb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkstream.so.0
+${EMULSUBDIRSLASH}usr/lib/libkstream.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libntp.so
+${EMULSUBDIRSLASH}usr/lib/libss.so.2
+${EMULSUBDIRSLASH}usr/lib/libss.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libtelnet.so
diff --git a/emulators/compat14/PLIST.arm b/emulators/compat14/PLIST.arm
new file mode 100644
index 00000000000..8034ab7e26c
--- /dev/null
+++ b/emulators/compat14/PLIST.arm
@@ -0,0 +1,10 @@
+@comment $NetBSD: PLIST.arm,v 1.1 2007/08/21 22:49:09 jlam Exp $
+${EMULSUBDIRSLASH}usr/lib/libacl.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libcom_err.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libdes.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkadm.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkafs.so.3.0
+${EMULSUBDIRSLASH}usr/lib/libkdb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkrb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkstream.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libss.so.2.0
diff --git a/emulators/compat14/PLIST.i386 b/emulators/compat14/PLIST.i386
index ce15faaf68d..33208fdf026 100644
--- a/emulators/compat14/PLIST.i386
+++ b/emulators/compat14/PLIST.i386
@@ -1,3 +1,37 @@
-@comment $NetBSD: PLIST.i386,v 1.1 2001/10/31 23:56:39 zuntum Exp $
-${COMPAT_LIBDIR}/libi386.so.0.2
-${COMPAT_LIBDIR}/libkeycap.so.0.0
+@comment $NetBSD: PLIST.i386,v 1.2 2007/08/21 22:49:09 jlam Exp $
+${EMULSUBDIRSLASH}usr/X11R6/lib/libICE.so.6.3
+${EMULSUBDIRSLASH}usr/X11R6/lib/libPEX5.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libSM.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libX11.so.6.1
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXIE.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXaw.so.6.1
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXext.so.6.3
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXi.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXmu.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXp.so.6.2
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXt.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXtst.so.6.1
+${EMULSUBDIRSLASH}usr/X11R6/lib/liboldX.so.6.0
+${EMULSUBDIRSLASH}usr/lib/libamu.so.1.1
+${EMULSUBDIRSLASH}usr/lib/libbz2.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libc.so.12.40.2
+${EMULSUBDIRSLASH}usr/lib/libcrypt.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libedit.so.2.2
+${EMULSUBDIRSLASH}usr/lib/libg2c.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libgnumalloc.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libi386.so.0.2
+${EMULSUBDIRSLASH}usr/lib/libkeycap.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libkvm.so.5.0
+${EMULSUBDIRSLASH}usr/lib/libm.so.0.1
+${EMULSUBDIRSLASH}usr/lib/libobjc.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libossaudio.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libposix.so.0.1
+${EMULSUBDIRSLASH}usr/lib/libresolv.so.1.0
+${EMULSUBDIRSLASH}usr/lib/libstdc++.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libtermcap.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libtermlib.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libutil.so.5.0
+${EMULSUBDIRSLASH}usr/lib/libwrap.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libz.so.0.1
+@dirrm ${EMULSUBDIRSLASH}usr/X11R6/lib
+@dirrm ${EMULSUBDIRSLASH}usr/X11R6
diff --git a/emulators/compat14/PLIST.m68k b/emulators/compat14/PLIST.m68k
new file mode 100644
index 00000000000..40eccac611c
--- /dev/null
+++ b/emulators/compat14/PLIST.m68k
@@ -0,0 +1,10 @@
+@comment $NetBSD: PLIST.m68k,v 1.1 2007/08/21 22:49:09 jlam Exp $
+${EMULSUBDIRSLASH}usr/lib/libacl.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libcom_err.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libdes.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkadm.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkafs.so.3.0
+${EMULSUBDIRSLASH}usr/lib/libkdb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkrb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkstream.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libss.so.2.0
diff --git a/emulators/compat14/PLIST.ns32k b/emulators/compat14/PLIST.ns32k
new file mode 100644
index 00000000000..e4ca08a9dce
--- /dev/null
+++ b/emulators/compat14/PLIST.ns32k
@@ -0,0 +1,2 @@
+@comment $NetBSD: PLIST.ns32k,v 1.1 2007/08/21 22:49:10 jlam Exp $
+${EMULSUBDIRSLASH}usr/lib/libkvm.so.5.0
diff --git a/emulators/compat14/PLIST.powerpc b/emulators/compat14/PLIST.powerpc
new file mode 100644
index 00000000000..f9ddcf39584
--- /dev/null
+++ b/emulators/compat14/PLIST.powerpc
@@ -0,0 +1,22 @@
+@comment $NetBSD: PLIST.powerpc,v 1.1 2007/08/21 22:49:10 jlam Exp $
+${EMULSUBDIRSLASH}usr/lib/libacl.so
+${EMULSUBDIRSLASH}usr/lib/libacl.so.2
+${EMULSUBDIRSLASH}usr/lib/libacl.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libcom_err.so.2
+${EMULSUBDIRSLASH}usr/lib/libcom_err.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libdes.so.2
+${EMULSUBDIRSLASH}usr/lib/libdes.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkadm.so.2
+${EMULSUBDIRSLASH}usr/lib/libkadm.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkafs.so.3
+${EMULSUBDIRSLASH}usr/lib/libkafs.so.3.0
+${EMULSUBDIRSLASH}usr/lib/libkdb.so.2
+${EMULSUBDIRSLASH}usr/lib/libkdb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkrb.so.2
+${EMULSUBDIRSLASH}usr/lib/libkrb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkstream.so.0
+${EMULSUBDIRSLASH}usr/lib/libkstream.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libntp.so
+${EMULSUBDIRSLASH}usr/lib/libss.so.2
+${EMULSUBDIRSLASH}usr/lib/libss.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libtelnet.so
diff --git a/emulators/compat14/PLIST.sparc b/emulators/compat14/PLIST.sparc
new file mode 100644
index 00000000000..e2c74e06440
--- /dev/null
+++ b/emulators/compat14/PLIST.sparc
@@ -0,0 +1,35 @@
+@comment $NetBSD: PLIST.sparc,v 1.1 2007/08/21 22:49:10 jlam Exp $
+${EMULSUBDIRSLASH}usr/X11R6/lib/libICE.so.6.3
+${EMULSUBDIRSLASH}usr/X11R6/lib/libPEX5.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libSM.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libX11.so.6.1
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXIE.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXaw.so.6.1
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXext.so.6.3
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXi.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXmu.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXp.so.6.2
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXt.so.6.0
+${EMULSUBDIRSLASH}usr/X11R6/lib/libXtst.so.6.1
+${EMULSUBDIRSLASH}usr/X11R6/lib/liboldX.so.6.0
+${EMULSUBDIRSLASH}usr/lib/libamu.so.1.1
+${EMULSUBDIRSLASH}usr/lib/libbz2.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libc.so.12.40.2
+${EMULSUBDIRSLASH}usr/lib/libcrypt.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libedit.so.2.2
+${EMULSUBDIRSLASH}usr/lib/libg2c.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libgnumalloc.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libkvm.so.5.0
+${EMULSUBDIRSLASH}usr/lib/libm.so.0.1
+${EMULSUBDIRSLASH}usr/lib/libobjc.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libossaudio.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libposix.so.0.1
+${EMULSUBDIRSLASH}usr/lib/libresolv.so.1.0
+${EMULSUBDIRSLASH}usr/lib/libstdc++.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libtermcap.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libtermlib.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libutil.so.5.0
+${EMULSUBDIRSLASH}usr/lib/libwrap.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libz.so.0.1
+@dirrm ${EMULSUBDIRSLASH}usr/X11R6/lib
+@dirrm ${EMULSUBDIRSLASH}usr/X11R6
diff --git a/emulators/compat14/PLIST.vax b/emulators/compat14/PLIST.vax
new file mode 100644
index 00000000000..5b018a55171
--- /dev/null
+++ b/emulators/compat14/PLIST.vax
@@ -0,0 +1,10 @@
+@comment $NetBSD: PLIST.vax,v 1.1 2007/08/21 22:49:10 jlam Exp $
+${EMULSUBDIRSLASH}usr/lib/libacl.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libcom_err.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libdes.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkadm.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkafs.so.3.0
+${EMULSUBDIRSLASH}usr/lib/libkdb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkrb.so.2.0
+${EMULSUBDIRSLASH}usr/lib/libkstream.so.0.0
+${EMULSUBDIRSLASH}usr/lib/libss.so.2.0
diff --git a/emulators/compat14/distinfo b/emulators/compat14/distinfo
index bdd73c3f04b..78e9f6ad899 100644
--- a/emulators/compat14/distinfo
+++ b/emulators/compat14/distinfo
@@ -1,8 +1,29 @@
-$NetBSD: distinfo,v 1.5 2007/08/16 14:00:12 jlam Exp $
+$NetBSD: distinfo,v 1.6 2007/08/21 22:49:10 jlam Exp $
-SHA1 (compat14-crypto-i386-1.4.3.1.tar.gz) = 2b35c35de47b8c0be42813cb6e56e154e98ebfd5
-RMD160 (compat14-crypto-i386-1.4.3.1.tar.gz) = 5a28f1c5218eccd925bba73b7c9a1a2d3fd6c2b8
-Size (compat14-crypto-i386-1.4.3.1.tar.gz) = 1729167 bytes
-SHA1 (compat14-crypto-sparc-1.4.3.1.tar.gz) = 41d5937f5e1f40193c6363a9978fe6373d43e679
-RMD160 (compat14-crypto-sparc-1.4.3.1.tar.gz) = bbe9bcbf05328cb9829d192ef6a0be1479b9cdbe
-Size (compat14-crypto-sparc-1.4.3.1.tar.gz) = 1921545 bytes
+SHA1 (compat14-alpha-1.4.3.tar.bz2) = bfe5677223ce346a9ef583ebaf27d41c03b0d577
+RMD160 (compat14-alpha-1.4.3.tar.bz2) = 9d10e1f6a18c0f0846758d80ae0108290d4de4a2
+Size (compat14-alpha-1.4.3.tar.bz2) = 469926 bytes
+SHA1 (compat14-arm-1.4.3.tar.bz2) = cf9f841972fba1fe48560cfdb1fc7b537e78ae7a
+RMD160 (compat14-arm-1.4.3.tar.bz2) = 36d467e1c736f69fc3a093a30c516e037826fcb5
+Size (compat14-arm-1.4.3.tar.bz2) = 261806 bytes
+SHA1 (compat14-i386-1.4.3.1.tar.bz2) = fca6b404fdf9eab8aad38dd1448ee0c346dcfe63
+RMD160 (compat14-i386-1.4.3.1.tar.bz2) = 3b1efa8a32c63b185ff23bbc667382ebd92d7c27
+Size (compat14-i386-1.4.3.1.tar.bz2) = 1625949 bytes
+SHA1 (compat14-m68k-1.4.3.tar.bz2) = d9df93aff85bcc24f82771424371c93447e55772
+RMD160 (compat14-m68k-1.4.3.tar.bz2) = 4cba150c156f515d136061f968d8179bce3a7cd0
+Size (compat14-m68k-1.4.3.tar.bz2) = 300752 bytes
+SHA1 (compat14-mipsel-1.4.3.tar.bz2) = cbd5a56df55c117287f8094419ad481ce5068d98
+RMD160 (compat14-mipsel-1.4.3.tar.bz2) = 9699bfefdb68e454f256435d9e4589d8ac134a09
+Size (compat14-mipsel-1.4.3.tar.bz2) = 359349 bytes
+SHA1 (compat14-ns32k-1.4.2.tar.bz2) = db5c562004e04430866c54e3f1af668e83b907c0
+RMD160 (compat14-ns32k-1.4.2.tar.bz2) = cbf09ecb80c69b9d2c46dfd87415a09ea940f73b
+Size (compat14-ns32k-1.4.2.tar.bz2) = 176515 bytes
+SHA1 (compat14-powerpc-1.4.3.tar.bz2) = 1916b8cbbc1532403c1b4792917fe2d0f1a4eab0
+RMD160 (compat14-powerpc-1.4.3.tar.bz2) = 0d840651e87541eabb855083f6471d7e1ec7d1a9
+Size (compat14-powerpc-1.4.3.tar.bz2) = 329221 bytes
+SHA1 (compat14-sparc-1.4.3.1.tar.bz2) = 957a5d6d9984e7fc88456fab6ba70284dd96f93c
+RMD160 (compat14-sparc-1.4.3.1.tar.bz2) = d2a4cf9a3a23578861ffb86b8b49312e92da0a90
+Size (compat14-sparc-1.4.3.1.tar.bz2) = 1761570 bytes
+SHA1 (compat14-vax-1.4.3.tar.bz2) = 7fdcc0a40e67d3e0039d2ab56f82a6c9a0d5c6cd
+RMD160 (compat14-vax-1.4.3.tar.bz2) = 72660922b00f791410462217afdf7c37b6b1581d
+Size (compat14-vax-1.4.3.tar.bz2) = 501646 bytes
diff --git a/emulators/compat14/emulator.mk b/emulators/compat14/emulator.mk
new file mode 100644
index 00000000000..ef52ba25cb0
--- /dev/null
+++ b/emulators/compat14/emulator.mk
@@ -0,0 +1,47 @@
+# $NetBSD: emulator.mk,v 1.1 2007/08/21 22:49:10 jlam Exp $
+#
+# This file is included by netbsd-compat.mk in the emulator framework.
+#
+# Variables set by this file:
+#
+# EMUL_DISTRO
+# The NetBSD distribution used to provide the files.
+#
+# EMUL_EXEC_FMT
+# The executable format of the emulated operating system.
+#
+# EMULSUBDIR
+# Path relative to ${PREFIX} where the files and directories are
+# located, e.g. emul/aout.
+#
+# DEPENDS_${EMUL_DISTRO}.*
+# A table that maps "modules" to NetBSD package dependencies.
+#
+
+EMUL_DISTRO= netbsd-1.4
+
+# i386 and sparc switched from a.out to ELF post-1.4.
+# arm, m68k and vax switched from a.out to ELF post-1.5.
+# ns32k never switched from a.out.
+#
+.if (${EMUL_ARCH} == "arm") || (${EMUL_ARCH} == "i386") || \
+ (${EMUL_ARCH} == "m68k") || (${EMUL_ARCH} == "ns32k") || \
+ (${EMUL_ARCH} == "sparc") || (${EMUL_ARCH} == "vax")
+EMUL_EXEC_FMT= a.out
+.else
+EMUL_EXEC_FMT= ELF
+.endif
+
+.if (${NATIVE_EXEC_FMT} == "ELF") && (${EMUL_EXEC_FMT} == "a.out")
+EMULSUBDIR= emul/aout
+OPSYS_EMULDIR= ${_OPSYS_EMULDIR.aout}
+.else
+EMULSUBDIR= emul/netbsd
+OPSYS_EMULDIR= ${_OPSYS_EMULDIR.netbsd}
+.endif
+
+# We need a dependency only for NetBSD>1.4.x.
+.if empty(OS_VERSION:M0.[0-9]*) && empty(OS_VERSION:M1.[0-3]*) && \
+ empty(OS_VERSION:M1.4) && empty(OS_VERSION:M1.4.*)
+DEPENDS_netbsd-1.4.base?= compat14>=1.4:../../emulators/compat14
+.endif