Compatability framework necessary for SVR4 emulation

Based on http://slash.dotat.org/~newton/freebsd-svr4/compat_sol26.tar.gz
This commit is contained in:
David E. O'Brien 2000-12-25 18:49:30 +00:00
parent 209e27071a
commit 54f122d486
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=36350
10 changed files with 248 additions and 0 deletions

View file

@ -36,6 +36,7 @@
SUBDIR += spim
SUBDIR += stella
SUBDIR += stonx
SUBDIR += svr4_base
SUBDIR += tkhfs
SUBDIR += truereality
SUBDIR += tuxnes

View file

@ -0,0 +1,39 @@
# ex:ts=8
# Ports collection makefile for: svr4_base
# Version required: 2.6
# Date created: Monday Dec 25, 2000
# Whom: David O'Brien (obrien@NUXI.com)
#
# $FreeBSD$
#
PORTNAME= svr4_base
PORTVERSION= 2.6
CATEGORIES= emulators
MASTER_SITES= # none for now
DISTFILES= # none for now
MAINTAINER= ports@FreeBSD.org
PREFIX= / # distfile tared as "/compat/svr4"
NO_MTREE= yes
NO_BUILD= yes
EXTRACT_ONLY= # empty
NO_WRKSUBDIR= yes
do-install:
.for D in dev etc/default
@[ -d ${PREFIX}/compat/svr4/$D ] || ${MKDIR} ${PREFIX}/compat/svr4/$D
.endfor
.for F in etc/default/init etc/mnttab
@[ -e ${PREFIX}/compat/svr4/$F ] || ${TOUCH} ${PREFIX}/compat/svr4/$F
.endfor
@${INSTALL_DATA} ${FILESDIR}/SVR4_MAKEDEV ${PREFIX}/compat/svr4/dev
@cd ${FILESDIR} ; \
${INSTALL_DATA} netconfig nsswitch.conf ${PREFIX}/compat/svr4/etc
@cd ${PREFIX}/compat/svr4 ; ${LN} -sf usr/lib lib
@cd ${PREFIX}/compat/svr4 ; \
${LN} -sf /cdrom/Solaris_2.6/Tools/Boot/usr usr
@${INSTALL_MAN} ${FILESDIR}/README ${PREFIX}/compat/svr4
.include <bsd.port.mk>

View file

View file

@ -0,0 +1,11 @@
$FreeBSD$
A skeleton /compat/svr4 tree for the svr4_mod System V Release 4 emulator
suitable for Solaris 2.6.
Installation instructions:
1. Mount a Solaris/x86 2.6 or higher CDROM on /cdrom.
2. cd /compat/svr4/dev
sh ./SVR4_MAKEDEV all

View file

@ -0,0 +1,141 @@
#!/bin/sh -
#
# $FreeBSD$
#
# Copyright (c) 1998 Mark Newton
# Copyright (c) 1995 Christos Zoulas
# Copyright (c) 1997 Todd Vierling
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The names of the authors may not be used to endorse or promote products
# derived from this software without specific prior written permission
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Device "make" file. Valid arguments:
# all everything
# Terminal devices:
# ptmx pty master multiplexer
# pts[0-3] pty slave devices in /dev/pts (actually symlinks)
# Network:
# udp UDP socket creation
# tcp TCP socket creation
# rawip RAW socket creation
# ticlts UNIX datagram creation
# ticotsord UNIX stream creation (with orderly release)
# ticots UNIX stream creation
# Various:
# wabi Windows emulation; /dev/null for now
#
PATH=/sbin:/bin/:/usr/bin:/usr/sbin:/usr/etc
umask 77
for i
do
unit=`expr $i : '[a-z][a-z]*\([0-9][0-9]*\)'`
[ "$unit" ] || unit=0
case $i in
all)
sh SVR4_MAKEDEV ptmx pts0 pts1 pts2 pts3
sh SVR4_MAKEDEV tcp udp rawip ticlts ticotsord ticots wabi
;;
ptmx)
mknod $i c 103 10
chown bin.bin $i
chmod 666 $i
;;
pts*)
case $unit in
0) name=p;;
1) name=q;;
2) name=r;;
3) name=s;;
*) name=''; echo 'pts: units range from 0 to 3';;
esac
mkdir >/dev/null 2>&1 pts
chown bin.bin pts
chmod 755 pts
if [ -n "$name" ]; then
j=`expr $unit \* 16`
for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f; do
if [ -e /dev/tty$name$i ]; then
ln -s /dev/tty$name$i pts/$j
fi
j=`expr $j + 1`
done
fi
;;
tcp)
mknod $i c 103 35
chown bin.bin $i
chmod 666 $i
;;
udp)
mknod udp c 103 36
chown bin.bin $i
chmod 666 $i
;;
rawip)
mknod $i c 103 37
chown bin.bin $i
chmod 666 $i
;;
ticlts)
mknod $i c 103 38
chown bin.bin $i
chmod 666 $i
;;
ticotsord)
mknod $i c 103 39
chown bin.bin $i
chmod 666 $i
;;
ticots)
mknod $i c 103 40
chown bin.bin $i
chmod 666 $i
;;
wabi)
mknod $i c 2 2 # /dev/null
chown bin.bin $i
chmod 666 $i
;;
*)
echo $i: unknown device
;;
esac
done

View file

@ -0,0 +1,12 @@
# $NetBSD: netconfig,v 1.1 1997/11/13 03:02:06 thorpej Exp $
# $FreeBSD$
#
# SVR4 Network configuration file
#
# service name fl family proto device library
udp tpi_clts v inet udp /dev/udp -
tcp tpi_cots_ord v inet tcp /dev/tcp -
rawip tpi_raw - inet - /dev/rawip -
ticlts tpi_clts v loopback - /dev/ticlts straddr.so
ticotsord tpi_cots_ord v loopback - /dev/ticotsord straddr.so
ticots tpi_cots v loopback - /dev/ticots straddr.so

View file

@ -0,0 +1,17 @@
# $NetBSD: nsswitch.conf,v 1.1 1997/11/13 03:02:06 thorpej Exp $
# $FreeBSD$
#
# Name service switch file
#
hosts: dns files
networks: files
protocols: files
ethers: files
rpc: files
netmasks: files
bootparams: files
services: files
#
passwd: files
group: files
netgroup: files

View file

@ -0,0 +1 @@
Compatability framework necessary for SVR4 emulation

View file

@ -0,0 +1,13 @@
These files are part of the SVR4 compatibility options for FreeBSD.
To get SVR4 compat working you will need the system libraries from
Solaris x86. We cannot supply them to you as a Solaris license is
required in order to use their libraries.
In order to use the SVR4 emulation, simply mount a Solaris 2.5.1 x86 CDROM
on /cdrom.
To make things easier, currently symbolic links are made to the Solaris
CDROM, thus having it mounted is required when using SVR4 emulation.
-- David.
obrien@cs.ucdavis.edu

View file

@ -0,0 +1,13 @@
@comment $FreeBSD$
compat/svr4/README
compat/svr4/dev/SVR4_MAKEDEV
compat/svr4/etc/default/init
compat/svr4/etc/netconfig
compat/svr4/etc/nsswitch.conf
compat/svr4/etc/mnttab
compat/svr4/lib
compat/svr4/usr
@dirrm compat/svr4/dev
@dirrm compat/svr4/etc/default
@dirrm compat/svr4/etc
@dirrm compat/svr4