aboutsummaryrefslogtreecommitdiffstats
path: root/Mk
diff options
context:
space:
mode:
authorswills <swills@FreeBSD.org>2016-04-13 09:49:24 +0800
committerswills <swills@FreeBSD.org>2016-04-13 09:49:24 +0800
commit74154cd4bd758c21559e68fc739306c8b8cf4583 (patch)
treef442841a49132963416d55ef472275ecad5e3b9e /Mk
parentc5243a9a8e49dd05a6d836c1f867854e70ea25e3 (diff)
downloadfreebsd-ports-gnome-74154cd4bd758c21559e68fc739306c8b8cf4583.tar.gz
freebsd-ports-gnome-74154cd4bd758c21559e68fc739306c8b8cf4583.tar.zst
freebsd-ports-gnome-74154cd4bd758c21559e68fc739306c8b8cf4583.zip
CentOS ports: for c6_64, install 32bit libraries alongside
PR: 206943 Submitted by: xmj
Diffstat (limited to 'Mk')
-rw-r--r--Mk/bsd.linux-rpm.mk28
-rw-r--r--Mk/bsd.port.mk2
2 files changed, 27 insertions, 3 deletions
diff --git a/Mk/bsd.linux-rpm.mk b/Mk/bsd.linux-rpm.mk
index 89c0883ae947..862e506b50a4 100644
--- a/Mk/bsd.linux-rpm.mk
+++ b/Mk/bsd.linux-rpm.mk
@@ -44,9 +44,9 @@ USE_LINUX_PREFIX= yes
NO_WRKSUBDIR= yes
NO_BUILD= yes
-. if ${USE_LINUX} == "c6" || ${USE_LINUX} == "yes" # default to CentOS
+. if ${USE_LINUX} == "c6" || ${USE_LINUX} == "c6_64" || ${USE_LINUX} == "yes" # default to CentOS
# Do not build CentOS 6 ports if overridden by f10
-. if defined(OVERRIDE_LINUX_NONBASE_PORT) && ${OVERRIDE_LINUX_NONBASE_PORTS} == "f10"
+. if defined(OVERRIDE_LINUX_NONBASE_PORTS) && ${OVERRIDE_LINUX_NONBASE_PORTS} == "f10"
IGNORE= This port requires CentOS ${LINUX_DIST_VER}. Please remove OVERRIDE_LINUX_NONBASE_PORTS=f10 in /etc/make.conf.
. endif
. endif
@@ -111,11 +111,33 @@ PKGNAMEPREFIX?= linux-${USE_LINUX}-
DISTVERSION= ${PORTVERSION}-${RPMVERSION}
DISTNAME?= ${PORTNAME}-${DISTVERSION}
DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}
-BIN_DISTFILES:= ${DISTFILES}
+BIN_DISTFILES:= ${DISTFILES} ${LIB_DISTFILES}
SRC_DISTFILES?= ${DISTNAME}${SRC_SUFX}:SOURCE
EXTRACT_ONLY?= ${BIN_DISTFILES:C/:[^:]+$//}
WRKSRC:= ${WRKSRC:S/-${RPMVERSION}$//}
+# Define files to install.
+# Ports can want to install 32bit things only (if OVERRIDE_LINUX_NONBASE_PORTS) is off,
+# they can want to install both 32bit and 64bit things of only one package,
+# or they can want to install a 64bit only binary and e.g. 32/64bit libraries.
+
+# The following glue is supposed to handle this.
+# FIXME: Sensibly refactor this part, it looks like spaghetti.
+
+. if defined(OVERRIDE_LINUX_NONBASE_PORTS) && ${OVERRIDE_LINUX_NONBASE_PORTS} == "c6_64"
+_32BIT_LINUX_RPM_ARCH= i686
+. if ${DISTFILES} == ${DISTNAME}${EXTRACT_SUFX} && ${USE_LINUX_RPM} != "nolib"
+_32BIT_LIB_DISTFILES:= ${DISTFILES:S/${LINUX_RPM_ARCH}/${_32BIT_LINUX_RPM_ARCH}/g}
+. elif defined(LIB_DISTFILES)
+_32BIT_LIB_DISTFILES= ${LIB_DISTFILES:S/${LINUX_RPM_ARCH}/${_32BIT_LINUX_RPM_ARCH}/g}
+. endif
+
+BIN_DISTFILES:= ${BIN_DISTFILES} ${_32BIT_LIB_DISTFILES}
+DISTFILES+= ${_32BIT_LIB_DISTFILES}
+. endif
+DISTFILES+= ${LIB_DISTFILES}
+
+
. if defined(PACKAGE_BUILDING)
DISTFILES+= ${SRC_DISTFILES}
MASTER_SITE_SUBDIR+= ${MASTER_SITE_SRC_SUBDIR}
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index c594c8686c02..4824ab87f0c5 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -420,6 +420,8 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org
# - appropriate invocation of the Linux ldconfig
# USE_LINUX_RPM - Set to yes to pull in variables and targets useful to Linux
# RPM ports.
+# Set to nolib if your port does not contain an architecture-
+# specific library.
# Implies inclusion of bsd.linux-rpm.mk.
#
# LINUX_OSRELEASE - Contains the value of compat.linux.osrelease sysctl.