1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-30 01:15:52 +00:00

Add support for installing i386 4.x libraries on the amd64 architecture.

PR:		ports/87525
Submitted by:	Simun Mikecin (numisemis at yahoo dot com)
This commit is contained in:
Dejan Lesjak 2005-12-08 02:14:30 +00:00
parent 342e08ce24
commit 94ea4e03aa
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=150636
2 changed files with 59 additions and 36 deletions

View File

@ -35,9 +35,17 @@ RUN_DEPENDS= ${LOCALBASE}/share/compat/locale/UTF-8/LC_CTYPE:${PORTSDIR}/misc/l
COMPAT4X_OSVERSION= 5.3
PLIST= ${.CURDIR}/pkg-plist.freebsd5
.if ${ARCH} == i386
PLIST_SUB+= LIBDIR="lib"
COMPAT4X_DISTFILES= ${PORTNAME}.aa \
${PORTNAME}.ab
.elif ${ARCH} == amd64
ARCH= i386
TARGET_DIR= ${PREFIX}/lib32/compat
PLIST_SUB+= LIBDIR="lib32"
COMPAT4X_DISTFILES= ${PORTNAME}.aa \
${PORTNAME}.ab
.elif ${ARCH} == alpha
PLIST_SUB+= LIBDIR="lib"
COMPAT4X_DISTFILES= ${PORTNAME}.aa \
${PORTNAME}.ab
.else
@ -66,6 +74,12 @@ PLIST_SUB+= I386_ONLY=""
.else
PLIST_SUB+= I386_ONLY="@comment "
.endif
.if ${ARCH} == amd64
PLIST_SUB+= AMD64_ONLY=""
PLIST_SUB+= LDCONFIG_LIB32="${LDCONFIG} -32"
.else
PLIST_SUB+= AMD64_ONLY="@comment "
.endif
OPENSSL_LIBS= libcrypto.so.1 libcrypto.so.2 libssl.so.1 libssl.so.2
.if defined(FORCE_VULNERABLE_OPENSSL)
@ -109,6 +123,9 @@ do-extract:
do-build:
@( ${ECHO_CMD} '#!/bin/sh'; ${ECHO_CMD} '${LDCONFIG} -m ${LDCONFIG_RUNLIST}'; \
) > ${WRKDIR}/000.${PORTNAME}.sh
.if ${TARGET_DIR} == ${PREFIX}/lib32/compat
@${ECHO_CMD} '${LDCONFIG} -32 -m ${TARGET_DIR}' >> ${WRKDIR}/000.${PORTNAME}.sh
.endif
do-install:
${MKDIR} ${TARGET_DIR} ${PREFIX}/etc/rc.d
@ -117,6 +134,9 @@ do-install:
.for lib in ${FREEBSD4_LIBS}
${LN} -sf ${lib}.compat4x ${TARGET_DIR}/${lib}
.endfor
.endif
.if ${ARCH} == amd64
${LDCONFIG} -32 -m ${TARGET32_DIR}
.endif
${INSTALL_SCRIPT} ${WRKDIR}/000.${PORTNAME}.sh ${PREFIX}/etc/rc.d/

View File

@ -1,41 +1,44 @@
etc/rc.d/000.compat4x.sh
lib/compat/libc.so.4
%%LIBDIR%%/compat/libc.so.4
@unexec if [ -e %B/libc_r.so.4.compat3x ]; then ln -sf libc_r.so.4.compat3x %B/libc_r.so.4; else rm %B/libc_r.so.4; fi
lib/compat/libc_r.so.4.compat4x
%%LIBDIR%%/compat/libc_r.so.4.compat4x
@exec ln -sf %f %B/libc_r.so.4
%%FORBIDDEN:%%lib/compat/libcrypto.so.1
%%FORBIDDEN:%%lib/compat/libcrypto.so.2
lib/compat/libdevstat.so.2
lib/compat/libedit.so.3
lib/compat/libfetch.so.2
lib/compat/libgmp.so.3
lib/compat/libhistory.so.4
lib/compat/libm.so.2
lib/compat/libmp.so.3
lib/compat/libopie.so.2
lib/compat/libpam.so.1
lib/compat/libpcap.so.2
%%FORBIDDEN:%%%%LIBDIR%%/compat/libcrypto.so.1
%%FORBIDDEN:%%%%LIBDIR%%/compat/libcrypto.so.2
%%LIBDIR%%/compat/libdevstat.so.2
%%LIBDIR%%/compat/libedit.so.3
%%LIBDIR%%/compat/libfetch.so.2
%%LIBDIR%%/compat/libgmp.so.3
%%LIBDIR%%/compat/libhistory.so.4
%%LIBDIR%%/compat/libm.so.2
%%LIBDIR%%/compat/libmp.so.3
%%LIBDIR%%/compat/libopie.so.2
%%LIBDIR%%/compat/libpam.so.1
%%LIBDIR%%/compat/libpcap.so.2
@unexec if [ -e %B/libperl.so.3.compat3x ]; then ln -sf libperl.so.3.compat3x %B/libperl.so.3; else rm %B/libperl.so.3; fi
lib/compat/libperl.so.3.compat4x
%%LIBDIR%%/compat/libperl.so.3.compat4x
@exec ln -sf %f %B/libperl.so.3
lib/compat/libposix1e.so.2
lib/compat/libreadline.so.4
lib/compat/libskey.so.2
%%FORBIDDEN:%%lib/compat/libssl.so.1
%%FORBIDDEN:%%lib/compat/libssl.so.2
lib/compat/libstdc++.so.3
lib/compat/libusb.so.0
lib/compat/libusbhid.so.0
%%I386_ONLY%%lib/compat/libutil.so.3
%%I386_ONLY%%lib/compat/libvgl.so.2
lib/compat/pam_cleartext_pass_ok.so
lib/compat/pam_deny.so
lib/compat/pam_opie.so
lib/compat/pam_opieaccess.so
lib/compat/pam_permit.so
lib/compat/pam_radius.so
lib/compat/pam_skey.so
lib/compat/pam_ssh.so
lib/compat/pam_tacplus.so
lib/compat/pam_unix.so
@unexec rmdir %D/lib/compat 2>/dev/null || true
%%LIBDIR%%/compat/libposix1e.so.2
%%LIBDIR%%/compat/libreadline.so.4
%%LIBDIR%%/compat/libskey.so.2
%%FORBIDDEN:%%%%LIBDIR%%/compat/libssl.so.1
%%FORBIDDEN:%%%%LIBDIR%%/compat/libssl.so.2
%%LIBDIR%%/compat/libstdc++.so.3
%%LIBDIR%%/compat/libusb.so.0
%%LIBDIR%%/compat/libusbhid.so.0
%%I386_ONLY%%%%LIBDIR%%/compat/libutil.so.3
%%I386_ONLY%%%%LIBDIR%%/compat/libvgl.so.2
%%LIBDIR%%/compat/pam_cleartext_pass_ok.so
%%LIBDIR%%/compat/pam_deny.so
%%LIBDIR%%/compat/pam_opie.so
%%LIBDIR%%/compat/pam_opieaccess.so
%%LIBDIR%%/compat/pam_permit.so
%%LIBDIR%%/compat/pam_radius.so
%%LIBDIR%%/compat/pam_skey.so
%%LIBDIR%%/compat/pam_ssh.so
%%LIBDIR%%/compat/pam_tacplus.so
%%LIBDIR%%/compat/pam_unix.so
%%AMD64_ONLY%%@exec %%LDCONFIG_LIB32%% -m %D/%%LIBDIR%%/compat
@unexec rmdir %D/%%LIBDIR%%/compat 2>/dev/null || true
@comment Hardcode lib32 since we should not remove lib.
@unexec rmdir %D/lib32 2>/dev/null || true