mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-01 22:05:08 +00:00
6675b7b033
independent packages that, despite the identical names, have different contents. This "feature" is currently implemented in a way that works around a limitation in bsd.port.mk and can be considered a hack.
209 lines
5.6 KiB
Makefile
209 lines
5.6 KiB
Makefile
# New ports collection makefile for: linux_base
|
|
# Date created: Jul 7, 1999
|
|
# Whom: marcel@FreeBSD.org
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= linux_base
|
|
PORTVERSION= 6.1
|
|
CATEGORIES= emulators linux
|
|
MASTER_SITES= ${RPM_MIRRORS:S/__DIR__/${STDDIR}/g}
|
|
DISTFILES= ${RPM_SET1} ${RPM_LDCONFIG} ${RPM_SET2} \
|
|
${RPM_RPM} ${RPM_SET3}
|
|
|
|
PATCH_SITES= ${RPM_MIRRORS:S/__DIR__/${UPDDIR}/g}
|
|
PATCHFILES= ${UPDATES}
|
|
|
|
MAINTAINER= marcel@FreeBSD.org
|
|
|
|
BUILD_DEPENDS= rpm:${PORTSDIR}/misc/rpm
|
|
|
|
ONLY_FOR_ARCHS= alpha i386
|
|
DIST_SUBDIR= rpm
|
|
PREFIX= /compat/linux
|
|
EXTRACT_ONLY=
|
|
NO_BUILD= yes
|
|
NO_FILTER_SHLIBS= yes
|
|
NO_MTREE= yes
|
|
PLIST= ${PKGDIR}/PLIST.${MACHINE_ARCH}
|
|
|
|
RPM_MIRRORS= \
|
|
ftp://ftp.freesoftware.com/pub/linux/redhat/__DIR__/ \
|
|
ftp://ftp.redhat.com/redhat/__DIR__/ \
|
|
ftp://ftp.infomagic.com/pub/mirrors/linux/RedHat/__DIR__/ \
|
|
ftp://ftp.crc.ca/mirrors/by-site/ftp.redhat.com/redhat/__DIR__/ \
|
|
ftp://ftp.nluug.nl/site/ftp.redhat.com/redhat/__DIR__/ \
|
|
ftp://mirror.nucba.ac.jp/mirror/redhat/__DIR__/ \
|
|
ftp://ftp.is.co.za/linux/distributions/redhat/__DIR__/ \
|
|
ftp://mirror.aarnet.edu.au/pub/linux/redhat/__DIR__/
|
|
|
|
STDDIR= old-releases/redhat-6.1/${MACHINE_ARCH}/RedHat/RPMS
|
|
UPDDIR= updates/6.1/${MACHINE_ARCH}
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if (${MACHINE_ARCH} == "i386")
|
|
LIBC5_COMPAT= ld.so-1.9.5-11.i386.rpm libc-5.3.12-31.i386.rpm
|
|
RPM_BINUTILS= binutils-2.9.1.0.23-6.i386.rpm
|
|
RPM_GLIB= glib-1.2.5-1.i386.rpm
|
|
RPM_GLIBC= glibc-2.1.2-11.i386.rpm
|
|
RPM_LDCONFIG= ldconfig-1.9.5-15.i386.rpm
|
|
RPM_RPM= rpm-3.0.3-2.i386.rpm
|
|
RPM_X_LIBS= XFree86-libs-3.3.5-3.i386.rpm
|
|
UPDATES= glib-1.2.6-2.i386.rpm
|
|
.else
|
|
LIBC5_COMPAT=
|
|
RPM_BINUTILS= binutils-2.9.1.0.23-7.alpha.rpm
|
|
RPM_GLIB= glib-1.2.6-2.alpha.rpm
|
|
RPM_GLIBC= glibc-2.1.2-17.alpha.rpm
|
|
RPM_LDCONFIG= ldconfig-1.9.5-16.alpha.rpm
|
|
RPM_RPM= rpm-3.0.3-6.alpha.rpm
|
|
RPM_X_LIBS= XFree86-libs-3.3.5-17.alpha.rpm
|
|
UPDATES=
|
|
.endif
|
|
|
|
#
|
|
# The file files/pkg-list lists all rpms that are installed by this port
|
|
# versus all rpms installed by a minimal Redhat installation.
|
|
#
|
|
RPM_SET1= setup-2.0.5-1.noarch.rpm \
|
|
filesystem-1.3.5-1.noarch.rpm \
|
|
basesystem-6.0-4.noarch.rpm
|
|
RPM_SET2= ${RPM_GLIBC} \
|
|
termcap-9.12.6-15.${MACHINE_ARCH}.rpm \
|
|
libtermcap-2.0.8-18.${MACHINE_ARCH}.rpm \
|
|
bash-1.14.7-16.${MACHINE_ARCH}.rpm \
|
|
ncurses-4.2-25.${MACHINE_ARCH}.rpm \
|
|
zlib-1.1.3-5.${MACHINE_ARCH}.rpm \
|
|
info-3.12h-2.${MACHINE_ARCH}.rpm \
|
|
fileutils-4.0-8.${MACHINE_ARCH}.rpm \
|
|
grep-2.3-2.${MACHINE_ARCH}.rpm \
|
|
${RPM_BINUTILS} \
|
|
gd-1.3-5.${MACHINE_ARCH}.rpm \
|
|
gdbm-1.8.0-2.${MACHINE_ARCH}.rpm \
|
|
${RPM_GLIB} \
|
|
${LIBC5_COMPAT} \
|
|
libstdc++-2.9.0-24.${MACHINE_ARCH}.rpm \
|
|
sh-utils-2.0-1.${MACHINE_ARCH}.rpm \
|
|
readline-2.2.1-5.${MACHINE_ARCH}.rpm \
|
|
redhat-release-6.1-1.noarch.rpm
|
|
RPM_SET3= setserial-2.15-2.${MACHINE_ARCH}.rpm \
|
|
slang-1.2.2-4.${MACHINE_ARCH}.rpm \
|
|
stat-1.5-11.${MACHINE_ARCH}.rpm \
|
|
tcsh-6.08.00-6.${MACHINE_ARCH}.rpm \
|
|
${RPM_X_LIBS} \
|
|
xpm-3.4k-1.${MACHINE_ARCH}.rpm
|
|
|
|
DBPATH= /var/lib/rpm
|
|
RPMFLAGS= --ignoreos --root ${PREFIX} --dbpath ${DBPATH} \
|
|
--nodeps --replacepkgs
|
|
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/localtime /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-patch:
|
|
@${DO_NADA}
|
|
|
|
pre-install:
|
|
#
|
|
# Handle the loading of the linux loadable kernel module if
|
|
# required.
|
|
#
|
|
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
|
|
|
do-install:
|
|
@${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 ${RPM_SET1}; do \
|
|
${ECHO} $$R; \
|
|
rpm -U ${RPMFLAGS} ${RPMDIR}/$$R; \
|
|
done
|
|
@${ECHO} ${RPM_LDCONFIG}
|
|
@rpm -U ${RPMFLAGS} --noscripts ${RPMDIR}/${RPM_LDCONFIG}
|
|
@brandelf -t Linux ${PREFIX}/sbin/ldconfig
|
|
@${PREFIX}/sbin/ldconfig
|
|
@${TOUCH} ${PREFIX}/etc/ld.so.conf
|
|
@for R in ${RPM_SET2}; do \
|
|
${ECHO} $$R; \
|
|
rpm -U ${RPMFLAGS} ${RPMDIR}/$$R; \
|
|
done
|
|
@${ECHO} ${RPM_RPM}
|
|
@rpm -U ${RPMFLAGS} --noscripts ${RPMDIR}/${RPM_RPM}
|
|
@brandelf -t Linux ${PREFIX}/bin/rpm
|
|
@for R in ${RPM_SET3}; do \
|
|
${ECHO} $$R; \
|
|
rpm -U ${RPMFLAGS} ${RPMDIR}/$$R; \
|
|
done
|
|
#
|
|
# Install updates
|
|
#
|
|
@for R in ${PATCHFILES}; do \
|
|
${ECHO} $$R; \
|
|
rpm -U ${RPMFLAGS} ${RPMDIR}/$$R; \
|
|
done
|
|
#
|
|
# Install yp.conf as a hint to NIS users
|
|
#
|
|
${INSTALL} ${COPY} -m 644 ${FILESDIR}/yp.conf ${PREFIX}/etc
|
|
#
|
|
# 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:
|
|
@${ECHO} ''
|
|
@fmt ${PKGMESSAGE}
|
|
@${ECHO} ''
|
|
|
|
.include <bsd.port.post.mk>
|
|
|
|
# XXX - bsd.port.mk defines MD5_FILE unconditionally. Redefine it
|
|
# here so that we pick up the right md5 file. If bsd.port.mk is
|
|
# ever changed, move this to where PLIST is defined.
|
|
MD5_FILE= ${FILESDIR}/md5.${MACHINE_ARCH}
|