diff options
Diffstat (limited to 'emulators/linux_base-8/Makefile')
-rw-r--r-- | emulators/linux_base-8/Makefile | 190 |
1 files changed, 158 insertions, 32 deletions
diff --git a/emulators/linux_base-8/Makefile b/emulators/linux_base-8/Makefile index 5da0f701c548..5a1ee7b0db81 100644 --- a/emulators/linux_base-8/Makefile +++ b/emulators/linux_base-8/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> |