代码拉取完成,页面将自动刷新
#!/usr/bin/env bash
# initNonPortableDistroRid
#
# Input:
# buildOs: (str)
# buildArch: (str)
# isPortable: (int)
# rootfsDir: (str)
#
# Return:
# None
#
# Notes:
#
# initNonPortableDistroRid will attempt to initialize a non portable rid. These
# rids are specific to distros need to build the product/package and consume
# them on the same platform.
#
# If -portablebuild=false is passed a non-portable rid will be created for any
# distro.
#
# Below is the list of current non-portable platforms.
#
# Builds from the following *must* be non-portable:
#
# | OS | Expected RID |
# -------------------------------------------------
# | rhel6 | rhel.6-x64 |
# | alpine* | linux-musl-(arch) |
# | freeBSD | freebsd.(version)-x64 |
#
# It is important to note that the function does not return anything, but it
# will set __DistroRid if there is a non-portable distro rid to be used.
#
initNonPortableDistroRid()
{
# Make sure out parameter is cleared.
__DistroRid=
local buildOs=$1
local buildArch=$2
local isPortable=$3
local rootfsDir=$4
if [ "$buildOs" = "Linux" ]; then
# RHEL 6 is the only distro we will check redHat release for.
if [ -e "${rootfsDir}/etc/os-release" ]; then
source "${rootfsDir}/etc/os-release"
# We have forced __PortableBuild=0. This is because -portablebuld
# has been passed as false.
if (( ${isPortable} == 0 )); then
if [ "${ID}" == "rhel" ]; then
# remove the last version digit
VERSION_ID=${VERSION_ID%.*}
fi
if [ -z ${VERSION_ID+x} ]; then
# Rolling release distros do not set VERSION_ID, so omit
# it here to be consistent with everything else.
nonPortableBuildID="${ID}-${buildArch}"
else
nonPortableBuildID="${ID}.${VERSION_ID}-${buildArch}"
fi
fi
elif [ -e "${rootfsDir}/etc/redhat-release" ]; then
local redhatRelease=$(<${rootfsDir}/etc/redhat-release)
if [[ "${redhatRelease}" == "CentOS release 6."* || "$redhatRelease" == "Red Hat Enterprise Linux Server release 6."* ]]; then
nonPortableBuildID="rhel.6-${buildArch}"
fi
elif [ -e "${rootfsDir}/android_platform" ]; then
source $rootfsDir/android_platform
nonPortableBuildID="$RID"
fi
fi
if [ "$buildOs" = "FreeBSD" ]; then
__freebsd_version=`sysctl -n kern.osrelease | cut -f1 -d'.'`
nonPortableBuildID="freebsd.$__freebsd_version-${buildArch}"
fi
if [ "${nonPortableBuildID}" != "" ]; then
export __DistroRid=${nonPortableBuildID}
# We are using a non-portable build rid. Force __PortableBuild to false.
export __PortableBuild=0
fi
}
# initDistroRidGlobal
#
# Input:
# os: (str)
# arch: (str)
# isPortable: (int)
# rootfsDir?: (nullable:string)
#
# Return:
# None
#
# Notes:
#
# The following out parameters are returned
#
# __DistroRid
# __PortableBuild
#
initDistroRidGlobal()
{
# __DistroRid must be set at the end of the function.
# Previously we would create a variable __HostDistroRid and/or __DistroRid.
#
# __HostDistroRid was used in the case of a non-portable build, it has been
# deprecated. Now only __DistroRid is supported. It will be used for both
# portable and non-portable rids and will be used in build-packages.sh
local buildOs=$1
local buildArch=$2
local isPortable=$3
local rootfsDir=$4
# Setup whether this is a crossbuild. We can find this out if rootfsDir
# is set.
local isCrossBuild=0
if [ -z "${rootfsDir}" ]; then
isCrossBuild=0
else
# We may have a cross build. Check for the existance of the rootfsDir
if [ -e ${rootfsDir} ]; then
isCrossBuild=1
else
echo "Error rootfsDir has been passed, but the location is not valid."
exit 1
fi
fi
if [ "$buildArch" = "armel" ]; then
# Armel cross build is Tizen specific and does not support Portable RID build
export __PortableBuild=0
isPortable=0
fi
initNonPortableDistroRid ${buildOs} ${buildArch} ${isPortable} ${rootfsDir}
if [ -z "${__DistroRid}" ]; then
# The non-portable build rid was not set. Set the portable rid.
export __PortableBuild=1
local distroRid=""
# Check for alpine. It is the only portable build that will will have
# its name in the portable build rid.
if [ -e "${rootfsDir}/etc/os-release" ]; then
source "${rootfsDir}/etc/os-release"
if [ "${ID}" = "alpine" ]; then
distroRid="linux-musl-${buildArch}"
fi
fi
if [ "${distroRid}" == "" ]; then
if [ "$buildOs" = "Linux" ]; then
distroRid="linux-$buildArch"
elif [ "$buildOs" = "OSX" ]; then
distroRid="osx-$buildArch"
elif [ "$buildOs" = "FreeBSD" ]; then
distroRid="freebsd-$buildArch"
fi
fi
export __DistroRid=${distroRid}
fi
if [ -z "$__DistroRid" ]; then
echo "DistroRid is not set. This is almost certainly an error"
exit 1
else
echo "__DistroRid: ${__DistroRid}"
echo "__RuntimeId: ${__DistroRid}"
export __RuntimeId=${__DistroRid}
fi
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。