aboutsummaryrefslogtreecommitdiffstats
path: root/Mk/bsd.linux-rpm.mk
diff options
context:
space:
mode:
authornetchild <netchild@FreeBSD.org>2015-08-10 03:14:13 +0800
committernetchild <netchild@FreeBSD.org>2015-08-10 03:14:13 +0800
commit8725235f35a03fb0dd1da17304424701f84e15dd (patch)
tree5205db7c3150c2000d8091bebe7ce6fc273be03c /Mk/bsd.linux-rpm.mk
parentb3c031084f5535608ae04c365e4eea69d5c7ad16 (diff)
downloadfreebsd-ports-gnome-8725235f35a03fb0dd1da17304424701f84e15dd.tar.gz
freebsd-ports-gnome-8725235f35a03fb0dd1da17304424701f84e15dd.tar.zst
freebsd-ports-gnome-8725235f35a03fb0dd1da17304424701f84e15dd.zip
Re-commit of
64 bit linuxulator support (not activated by default): - most of the work was done by Alan Jude - all errors are mine - 64bit (may) have rough edges - I validated * that the 32bit part doesn't has deinstall regressions (incl. EXP runs by antoine) * 29 of 72 64bit ports ports don't have deinstall leftovers (more validation later, when I dare to activate the 64bit linuxulator in the kernel) - the infrastructure part looks mature enough to let more test-bunnies get some experience with the new 64 bit parts - to use it you shall have no linux ports installed and have to specify (on your own risk) the following in make.conf before installing the ports: OVERRIDE_LINUX_BASE_PORT=c6_64 OVERRIDE_LINUX_NONBASE_PORTS=c6_64 This is on top of the exiting c6 linux ports. Given that CentOS 7 is 64bits only, we decided to have it as an "overlay" instead of new ports. The 64bit part only installs 64bit executables, the 32bit ports can not be installed at the same time (if needed we can think of letting the 64bit overlay install the 32bit parts too, but given the CentOS 7 comment above...). Differential Revision: https://reviews.freebsd.org/D174 Submitted by: alanjude Sponsored by: Essen FreeBSD Hackathon 2015 Reviewed by: xmj, eadler (earlier versions) Approved by: portmgr (antoine after some EXP-runs)
Diffstat (limited to 'Mk/bsd.linux-rpm.mk')
-rw-r--r--Mk/bsd.linux-rpm.mk93
1 files changed, 36 insertions, 57 deletions
diff --git a/Mk/bsd.linux-rpm.mk b/Mk/bsd.linux-rpm.mk
index 1d69d1a1a511..225986e0c35c 100644
--- a/Mk/bsd.linux-rpm.mk
+++ b/Mk/bsd.linux-rpm.mk
@@ -10,6 +10,8 @@
# LINUX_DIST_VER - Use depends upon the dist-specific presets.
# Valid values for "fedora": all version numbers
# e.g. 10 for fedora 10
+# Valid values for "centos": all version numbers
+# e.g. 6.6 for centos 6.6
# This is used to set MASTER_SITE_{,SRC_}SUBDIR
# if it isn't already set.
# MASTER_SITE_SRC_SUBDIR
@@ -42,26 +44,13 @@ USE_LINUX_PREFIX= yes
NO_WRKSUBDIR= yes
NO_BUILD= yes
-. if ${ARCH} == "amd64" || ${ARCH} == "i386"
-. if ${USE_LINUX} == "c6" || ${USE_LINUX} == "yes" # default to CentOS
+. if ${USE_LINUX} == "c6" || ${USE_LINUX} == "yes" # default to CentOS
# Do not build CentOS 6 ports if overridden by f10
-. if defined(OVERRIDE_LINUX_BASE_PORT) && ${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
-LINUX_RPM_ARCH?= i686 # ?= because of nasty c5 qt ports
-. elif ${USE_LINUX} == "f10"
-# Do not build Fedora 10 ports unless specifically overridden.
-#. if ! defined(OVERRIDE_LINUX_NONBASE_PORTS) || ${OVERRIDE_LINUX_NONBASE_PORTS} != "f10"
-#IGNORE= This port requires Fedora 10, yet Fedora 10 is heavily outdated and contains many vulnerable ports. If you really need it, add OVERRIDE_LINUX_NONBASE_PORTS=f10 in /etc/make.conf.
-#. endif
-LINUX_RPM_ARCH?= i386 # the linuxulator does not yet support amd64 code
-. else
-LINUX_RPM_ARCH?= ${ARCH}
-. endif
-
-. elif ${ARCH} == "powerpc"
-LINUX_RPM_ARCH?= ppc
+. if defined(OVERRIDE_LINUX_BASE_PORT) && ${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
+
.endif
.if defined(_POSTMKINCLUDED) && !defined(Linux_RPM_Post_Include)
@@ -77,56 +66,41 @@ LINUX_DIST= centos
LINUX_DIST_VER= 6.6
.endif
-. if defined(LINUX_DIST)
+.if defined(LINUX_DIST)
DIST_SUBDIR?= rpm/${LINUX_RPM_ARCH}/${LINUX_DIST}/${LINUX_DIST_VER}
-. if ${LINUX_DIST} == "fedora"
+. if ${LINUX_DIST} == "fedora"
# we do not want to define MASTER_SITES and MASTER_SITE_* if they are already defined
# ex.: MASTER_SITES=file:///...
-. ifndef MASTER_SITES
-MASTER_SITES= ${MASTER_SITE_FEDORA_LINUX}
-. if ${LINUX_DIST_VER} == 10
+. ifndef MASTER_SITES
+MASTER_SITES= ${MASTER_SITE_FEDORA_LINUX}
+. if ${LINUX_DIST_VER} == 10
MASTER_SITE_SUBDIR?= ../releases/${LINUX_DIST_VER}/Everything/${LINUX_RPM_ARCH}/os/Packages \
../updates/${LINUX_DIST_VER}/${LINUX_RPM_ARCH}
MASTER_SITE_SRC_SUBDIR?= ../releases/${LINUX_DIST_VER}/Everything/source/SRPMS \
../updates/${LINUX_DIST_VER}/SRPMS
-. else
+. else
MASTER_SITE_SUBDIR?= ${LINUX_DIST_VER}/${LINUX_RPM_ARCH}/os/Fedora/RPMS \
updates/${LINUX_DIST_VER}/${LINUX_RPM_ARCH}
MASTER_SITE_SRC_SUBDIR?= ${LINUX_DIST_VER}/SRPMS \
updates/${LINUX_DIST_VER}/SRPMS
-. endif
-. endif
-. elif ${LINUX_DIST} == "centos"
-MASTER_SITES_SUBDIR= /centos/6/os/i386/Packages/
-. if ${LINUX_DIST_VER} == "5" #needed for Qt...
-LINUX_RPM_ARCH= i386
-MASTER_SITES_SUBDIR= /centos/5/os/i386/Packages/
. endif
-
-. ifndef MASTER_SITES
-MASTER_SITES= ${MASTER_SITE_CENTOS_LINUX}
-. if ${LINUX_DIST_VER} == "6.6"
-. if ! defined(PACKAGE_BUILDING)
-MASTER_SITES= http://mirror.centos.org/centos/6/os/i386/Packages/
-MASTER_SITES_SUBDIR= /centos/6/os/i386/Packages/
-. else
-MASTER_SITES?= http://vault.centos.org/%SUBDIR%/
-MASTER_SITES_SUBDIR= /${LINUX_DIST_VER}/os/Source/SPackages/
-. endif
-
-. else
-MASTER_SITES= http://vault.centos.org/${LINUX_DIST_VER}/os/i386/Packages/
-. endif
-. endif
-
+. endif
+. elif ${LINUX_DIST} == "centos"
+MASTER_SITES?= ${MASTER_SITE_CENTOS_LINUX} ${MASTER_SITE_CENTOS_LINUX_UPDATES}
+MASTER_SITE_SUBDIR?= centos/${LINUX_DIST_VER}/os/${LINUX_REPO_ARCH}/Packages/ \
+ centos/${LINUX_DIST_VER}/updates/${LINUX_REPO_ARCH}/Packages/
+. if ${LINUX_DIST_VER} == "5" #needed for Qt...
+LINUX_RPM_ARCH= i386
+MASTER_SITE_SUBDIR= centos/5/os/i386/Packages/
+. endif
+. if defined(PACKAGE_BUILDING)
+MASTER_SITES+= http://vault.centos.org/%SUBDIR%/:SOURCE
+MASTER_SITE_SUBDIR+= ${LINUX_DIST_VER}/os/Source/SPackages/:SOURCE
. endif
. endif
+.endif
-
-#.if ${USE_LINUX:L} == "yes" #redundant with bsd.port.mk fu
-#USE_LINUX= c6
-#.endif
PKGNAMEPREFIX?= linux-${USE_LINUX}-
# DISTFILES and SRC_DISTFILES assume that there is only one bindist
@@ -138,7 +112,7 @@ DISTVERSION= ${PORTVERSION}-${RPMVERSION}
DISTNAME?= ${PORTNAME}-${DISTVERSION}
DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}
BIN_DISTFILES:= ${DISTFILES}
-SRC_DISTFILES?= ${DISTNAME}${SRC_SUFX}
+SRC_DISTFILES?= ${DISTNAME}${SRC_SUFX}:SOURCE
EXTRACT_ONLY?= ${BIN_DISTFILES:C/:[^:]+$//}
. if defined(PACKAGE_BUILDING)
@@ -177,16 +151,21 @@ linux-rpm-clean-portdocs:
. endif
. endif
+. if ${USE_LINUX} != "f10"
+PLIST?= ${MASTERDIR}/pkg-plist.${LINUX_RPM_ARCH}
+. endif
+
. if defined(AUTOMATIC_PLIST)
-. if ${USE_LINUX} == "f10" || ${USE_LINUX} == "yes"
+. if ${USE_LINUX} == "f10"
_LINUX_BASE_SUFFIX= f10
-. elif ${USE_LINUX} == "c6"
-USE_LINUX= c6
+. elif ${USE_LINUX} == "c6" || ${USE_LINUX} == "yes"
+_LINUX_BASE_SUFFIX= c6
+. elif ${USE_LINUX} == "c6_64
_LINUX_BASE_SUFFIX= c6
. else
# other linux_base ports do not provide a pkg-plist file
-IGNORE= uses AUTOMATIC_PLIST with an unsupported USE_LINUX, \"${USE_LINUX}\". Supported values are \"yes\", \"f10\" and \"c6\"
+IGNORE= uses AUTOMATIC_PLIST with an unsupported USE_LINUX, \"${USE_LINUX}\". Supported values are \"yes\", \"f10\", \"c6\", and \"c6_64\"
. endif
PLIST?= ${WRKDIR}/.PLIST.linux-rpm