summaryrefslogtreecommitdiff
path: root/emulators/linux_base-suse-9.1/Makefile
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>1999-07-21 10:41:39 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>1999-07-21 10:41:39 +0000
commit8ef42e661a9b3ad560236310107b9654df37227e (patch)
tree371769d404491fdacc1ed72e063d60ca7f5e04ee /emulators/linux_base-suse-9.1/Makefile
parentUpdate postgresql to 6.5.1 (diff)
linux_base is the reincarnation of linux_lib and obsoletes both linux_lib
and linux-base. Both will be removed from the ports collection at the proper time. linux_base uses a subset of packages from a Red Hat 5.2 release to populate /compat/linux. There's no functional difference between linux-base and linux_base. The name of the latter is preferred over the name of the former. Reviewed by: Tim <hoek@FreeBSD.org> Supervised by: Satoshi <asami@FreeBSD.org>
Notes
Notes: svn path=/head/; revision=20295
Diffstat (limited to 'emulators/linux_base-suse-9.1/Makefile')
-rw-r--r--emulators/linux_base-suse-9.1/Makefile190
1 files changed, 158 insertions, 32 deletions
diff --git a/emulators/linux_base-suse-9.1/Makefile b/emulators/linux_base-suse-9.1/Makefile
index 5da0f701c548..5a1ee7b0db81 100644
--- a/emulators/linux_base-suse-9.1/Makefile
+++ b/emulators/linux_base-suse-9.1/Makefile
@@ -1,44 +1,170 @@
-# New ports collection makefile for: linux_lib
-# Version required: 2.6
-# Date created: 3 Nov 1995
-# Whom: markm@FreeBSD.org
+# New ports collection makefile for: linux_base
+# Version required: 5.2
+# Date created: Jul 7, 1999
+# Whom: marcel@FreeBSD.org
#
-# $Id: Makefile,v 1.24 1999/02/26 13:37:33 obrien Exp $
+# $Id$
#
-DISTNAME= linux_lib-2.6.1
-CATEGORIES= emulators
-MASTER_SITES= ${MASTER_SITE_LOCAL} \
- ftp://relay.nuxi.com/pub/FreeBSD/
+DISTNAME= linux_base
+PKGNAME= linux_base-5.2
+CATEGORIES= emulators
+MASTER_SITES= \
+ ftp://ftp.cdrom.com/pub/linux/redhat/${STDDIR}/ \
+ ftp://ftp.redhat.com/redhat/${STDDIR}/ \
+ ftp://ftp.infomagic.com/pub/mirrors/linux/RedHat/${STDDIR}/ \
+ ftp://ftp.crc.ca/mirrors/by-site/ftp.redhat.com/redhat/${STDDIR}/ \
+ ftp://ftp.nluug.nl/site/ftp.redhat.com/redhat/${STDDIR}/ \
+ ftp://mirror.nucba.ac.jp/mirror/redhat/${STDDIR}/ \
+ ftp://ftp.is.co.za/linux/distributions/redhat/${STDDIR}/ \
+ ftp://mirror.aarnet.edu.au/pub/linux/redhat/${STDDIR}/
+DISTFILES= ${RPMSET1} ${RPMSET2} ${RPMSET3}
-MAINTAINER= erich@FreeBSD.org
+MAINTAINER= marcel@FreeBSD.org
-ONLY_FOR_ARCHS= i386
+RUN_DEPENDS= rpm:${PORTSDIR}/misc/rpm
-PREFIX= /compat/linux
-NO_MTREE= yes
-NO_BUILD= yes
-EXTRACT_ONLY= # empty
-NO_WRKSUBDIR= yes
+ONLY_FOR_ARCHS= i386 alpha
+DIST_SUBDIR= rpm
+PREFIX= /compat/linux
+EXTRACT_ONLY=
+NO_BUILD= yes
NO_FILTER_SHLIBS= yes
+NO_MTREE= yes
+PLIST= ${PKGDIR}/PLIST.${ARCH}
-pre-install:
- @[ -d ${PREFIX} ] || ${MKDIR} ${PREFIX}
+STDDIR= old-releases/redhat-5.2/${ARCH}/RedHat/RPMS
+
+.include <bsd.port.pre.mk>
+
+.if (${ARCH} == "i386")
+LIBC5_COMPAT= ld.so-1.9.5-8.i386.rpm \
+ libc-5.3.12-27.i386.rpm \
+ libg++-2.7.2.8-9.i386.rpm
+.else
+LIBC5_COMPAT=
+.endif
+
+#
+# The file files/pkg-list lists all rpms that are installed by this port
+# versus all rpms installed by a minimal Redhat installation.
+#
+RPMSET1= setup-1.9.2-1.noarch.rpm \
+ filesystem-1.3.2-3.noarch.rpm \
+ basesystem-4.9-3.noarch.rpm \
+ ldconfig-1.9.5-8.${ARCH}.rpm
+RPMSET2= glibc-2.0.7-29.${ARCH}.rpm \
+ termcap-9.12.6-11.noarch.rpm \
+ libtermcap-2.0.8-10.${ARCH}.rpm \
+ bash-1.14.7-13.${ARCH}.rpm \
+ ncurses-4.2-10.${ARCH}.rpm \
+ zlib-1.1.3-2.${ARCH}.rpm \
+ info-3.12-9.${ARCH}.rpm \
+ fileutils-3.16-10.${ARCH}.rpm \
+ grep-2.2-2.${ARCH}.rpm \
+ binutils-2.9.1.0.15-1.${ARCH}.rpm \
+ gd-1.3-3.${ARCH}.rpm \
+ gdbm-1.7.3-17.${ARCH}.rpm \
+ glib-1.0.6-3.${ARCH}.rpm \
+ ${LIBC5_COMPAT} \
+ libstdc++-2.8.0-14.${ARCH}.rpm \
+ sh-utils-1.16-14.${ARCH}.rpm \
+ readline-2.2.1-1.${ARCH}.rpm \
+ redhat-release-5.2-1.noarch.rpm \
+ rpm-2.5.5-5.2.${ARCH}.rpm
+RPMSET3= setserial-2.14-4.${ARCH}.rpm \
+ slang-0.99.38-8.${ARCH}.rpm \
+ stat-1.5-8.${ARCH}.rpm \
+ tcsh-6.07.09-1.${ARCH}.rpm \
+ XFree86-libs-3.3.2.3-25.${ARCH}.rpm
+
+DBPATH= /var/lib/rpm
+RPMFLAGS= --ignoreos --root ${PREFIX} --dbpath ${DBPATH}
+RPMDIR= ${DISTDIR}/${DIST_SUBDIR}
+
+REMOVE_DIRS= /dev /home /root /tmp /var/tmp /usr/local /usr/tmp
+REMOVE_FILES= /bin/df /bin/su /etc/exports /etc/group /etc/motd \
+ /etc/passwd /etc/printcap /etc/services /etc/protocols
+
+.if ${OSVERSION} < 320001
+#
+# Hack to let the rpm installer run. The actual kernel change occurred after
+# 400008 on 4.0-current and well after 320001, but we'll assume people running
+# -current and -stable stay reasonably up-to-date.
+#
+# Define this if you get messages that look like
+#
+# --
+# ELF interpreter /compat/linux/lib/ld-linux.so.2 not found
+# execution of script failed
+# --
+#
+NEEDLOADLINK= true
+.endif
do-install:
- @zcat ${DISTDIR}/${DISTNAME}.tar.gz |(cd ${PREFIX}; pax -r)
+ @if [ -z "`kldstat | ${GREP} linux.ko | ${AWK} '{print $1}'`" ]; then \
+ ${ECHO} 'The Linux emulator kernel module is not loaded.\
+ Loading Linux emulator kernel module...' | fmt; \
+ linux || { \
+ ${ECHO} 'The Linux emulator kernel module could not be\
+ loaded. Please manually load the module and retry.\
+ See "man linux" for details.' | fmt; \
+ ${FALSE}; \
+ };\
+ fi
+ @${MKDIR} ${PREFIX}/${DBPATH}
+ @${MKDIR} ${PREFIX}/var/tmp
+ rpm --initdb --root ${PREFIX} --dbpath ${DBPATH}
+#
+# Make sure we have a /dev/null in the chrooted environment.
+#
+ @${MKDIR} ${PREFIX}/dev
+ @${RM} -f ${PREFIX}/dev/null
+ @mknod ${PREFIX}/dev/null c 2 2
+ @chmod 666 ${PREFIX}/dev/null
+.if defined(NEEDLOADLINK)
+ @${MKDIR} ${PREFIX}/compat
+ @${LN} -s / ${PREFIX}/compat/linux
+.endif
+#
+# Install all packages. Ignore dependencies just
+# like the Red Hat installer.
+#
+ @for R in ${RPMSET1}; do \
+ ${ECHO} $$R; \
+ rpm -i ${RPMFLAGS} --nodeps --replacepkgs ${RPMDIR}/$$R || \
+ ${TRUE}; \
+ done
+ brandelf -t Linux ${PREFIX}/sbin/ldconfig
+ @${PREFIX}/sbin/ldconfig
+ @for R in ${RPMSET2}; do \
+ ${ECHO} $$R; \
+ rpm -i ${RPMFLAGS} --nodeps --replacepkgs ${RPMDIR}/$$R || \
+ ${TRUE}; \
+ done
+ brandelf -t Linux ${PREFIX}/bin/rpm
+ @for R in ${RPMSET3}; do \
+ ${ECHO} $$R; \
+ rpm -i ${RPMFLAGS} --nodeps --replacepkgs ${RPMDIR}/$$R; \
+ done
+#
+# Finish
+#
+.if defined(NEEDLOADLINK)
+ @${RM} -rf ${PREFIX}/compat
+.endif
+ @for D in ${REMOVE_DIRS}; do \
+ ${RM} -rf ${PREFIX}/$$D; \
+ done
+ @for F in ${REMOVE_FILES}; do \
+ ${RM} ${PREFIX}/$$F; \
+ done
+ @${LN} -s /var/tmp ${PREFIX}/usr/tmp
post-install:
- -/compat/linux/sbin/ldconfig
- ${MKDIR} ${PREFIX}/usr/lib/zoneinfo
- ${LN} -sf /etc/localtime /${PREFIX}/usr/lib/zoneinfo/localtime
- ${MKDIR} ${PREFIX}/dev
- ${LN} -sf /dev/console ${PREFIX}/dev/tty0
- ${LN} -sf /dev/ttyv0 ${PREFIX}/dev/tty1
- ${LN} -sf /dev/ttyv1 ${PREFIX}/dev/tty2
- ${LN} -sf /dev/ttyv2 ${PREFIX}/dev/tty3
- ${LN} -sf /dev/ttyv3 ${PREFIX}/dev/tty4
- ${LN} -sf /dev/sysmouse ${PREFIX}/dev/mouse
- ${LN} -sf /dev/psm0 ${PREFIX}/dev/psaux
-
-.include <bsd.port.mk>
+ @${ECHO} ''
+ @fmt ${PKGMESSAGE}
+ @${ECHO} ''
+
+.include <bsd.port.post.mk>