classes: update NXP bbclasses
Update NXP's .bbclass files with the ones in meta-fsl-bsp-release branch sumo-4.14.98-2.0.0_ga. https://jira.digi.com/browse/DEL-6603 Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
dd745b8a11
commit
3531a6521f
|
|
@ -0,0 +1,9 @@
|
||||||
|
# fsl-eula-graphics.bbclass extends the naming scheme in fsl-eula.bbclass
|
||||||
|
# to allow for graphics-backend-specific archives.
|
||||||
|
IMX_PACKAGE_NAME_APPEND = ""
|
||||||
|
IMX_PACKAGE_NAME_APPEND_class-target = \
|
||||||
|
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '-wayland', \
|
||||||
|
bb.utils.contains('DISTRO_FEATURES', 'x11', '-x11', \
|
||||||
|
'-fb', d), d)}"
|
||||||
|
IMX_PACKAGE_NAME_append_class-target = "${IMX_PACKAGE_NAME_APPEND}"
|
||||||
|
SRC_URI_NAME_append_class-target = "${IMX_PACKAGE_NAME_APPEND}"
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
# fsl-eula-unpack.bbclass provides the mechanism used for unpacking
|
||||||
|
# the .bin file downloaded by HTTP and handle the EULA acceptance.
|
||||||
|
#
|
||||||
|
# To use it, the 'fsl-eula' parameter needs to be added to the
|
||||||
|
# SRC_URI entry, e.g:
|
||||||
|
#
|
||||||
|
# SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV};fsl-eula=true"
|
||||||
|
|
||||||
|
LIC_FILES_CHKSUM_append = " file://${FSL_EULA_FILE};md5=80c0478f4339af024519b3723023fe28"
|
||||||
|
|
||||||
|
LIC_FILES_CHKSUM[vardepsexclude] += "FSL_EULA_FILE"
|
||||||
|
|
||||||
|
python fsl_bin_do_unpack() {
|
||||||
|
src_uri = (d.getVar('SRC_URI', True) or "").split()
|
||||||
|
if len(src_uri) == 0:
|
||||||
|
return
|
||||||
|
|
||||||
|
localdata = bb.data.createCopy(d)
|
||||||
|
bb.data.update_data(localdata)
|
||||||
|
|
||||||
|
rootdir = localdata.getVar('WORKDIR', True)
|
||||||
|
fetcher = bb.fetch2.Fetch(src_uri, localdata)
|
||||||
|
|
||||||
|
for url in fetcher.ud.values():
|
||||||
|
save_cwd = os.getcwd()
|
||||||
|
# Check for supported fetchers
|
||||||
|
if url.type in ['http', 'https', 'ftp', 'file']:
|
||||||
|
if url.parm.get('fsl-eula', False):
|
||||||
|
# If download has failed, do nothing
|
||||||
|
if not os.path.exists(url.localpath):
|
||||||
|
bb.debug(1, "Exiting as '%s' cannot be found" % url.basename)
|
||||||
|
return
|
||||||
|
|
||||||
|
# Change to the working directory
|
||||||
|
bb.note("Handling file '%s' as a Freescale's EULA binary." % url.basename)
|
||||||
|
save_cwd = os.getcwd()
|
||||||
|
os.chdir(rootdir)
|
||||||
|
|
||||||
|
cmd = "sh %s --auto-accept --force" % (url.localpath)
|
||||||
|
bb.fetch2.runfetchcmd(cmd, d, quiet=True)
|
||||||
|
|
||||||
|
# Return to the previous directory
|
||||||
|
os.chdir(save_cwd)
|
||||||
|
}
|
||||||
|
|
||||||
|
python do_unpack() {
|
||||||
|
eula = d.getVar('ACCEPT_FSL_EULA', True)
|
||||||
|
eula_file = d.getVar('FSL_EULA_FILE', True)
|
||||||
|
pkg = d.getVar('PN', True)
|
||||||
|
if eula == None:
|
||||||
|
bb.fatal("To use '%s' you need to accept the Freescale EULA at '%s'. "
|
||||||
|
"Please read it and in case you accept it, write: "
|
||||||
|
"ACCEPT_FSL_EULA = \"1\" in your local.conf." % (pkg, eula_file))
|
||||||
|
elif eula == '0':
|
||||||
|
bb.fatal("To use '%s' you need to accept the Freescale EULA." % pkg)
|
||||||
|
else:
|
||||||
|
bb.note("Freescale EULA has been accepted for '%s'" % pkg)
|
||||||
|
|
||||||
|
# The binary unpack needs to be done first so 'S' is valid
|
||||||
|
bb.build.exec_func('fsl_bin_do_unpack', d)
|
||||||
|
|
||||||
|
try:
|
||||||
|
bb.build.exec_func('base_do_unpack', d)
|
||||||
|
except:
|
||||||
|
raise
|
||||||
|
}
|
||||||
|
|
||||||
|
do_unpack[vardepsexclude] += "FSL_EULA_FILE"
|
||||||
|
|
@ -1,33 +1 @@
|
||||||
# fsl-eula-unpack2.bbclass provides a mechanism for a) unpacking certain
|
inherit fsl-eula2-unpack2 fsl-eula2-package-arch
|
||||||
# EULA-licensed archives downloaded by HTTP and b) handling the EULA
|
|
||||||
# acceptance.
|
|
||||||
|
|
||||||
inherit fsl-eula-unpack fsl-eula
|
|
||||||
|
|
||||||
IMX_PACKAGE_VERSION = "${PV}"
|
|
||||||
|
|
||||||
SRC_URI = "${FSL_MIRROR}${IMX_PACKAGE_NAME}.bin;name=${SRC_URI_NAME};fsl-eula=true"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/${IMX_PACKAGE_NAME}"
|
|
||||||
|
|
||||||
# For native apps, insert the user-local sysroot path
|
|
||||||
# For nativesdk apps, insert the correct distro folder
|
|
||||||
D_SUBDIR = ""
|
|
||||||
D_SUBDIR_class-native = "${STAGING_DIR_NATIVE}"
|
|
||||||
D_SUBDIR_class-nativesdk = "/opt/${DISTRO}"
|
|
||||||
|
|
||||||
# SCR is the location and name of the Software Content Register file
|
|
||||||
# relative to ${D}${D_SUBDIR}.
|
|
||||||
SCR = "SCR.txt"
|
|
||||||
|
|
||||||
do_install () {
|
|
||||||
install -d ${D}${D_SUBDIR}
|
|
||||||
cp -r ${S}/* ${D}${D_SUBDIR}
|
|
||||||
rm ${D}${D_SUBDIR}/COPYING
|
|
||||||
if [ ! -f ${D}${D_SUBDIR}/${SCR} ]; then
|
|
||||||
bbfatal "Missing Software Content Register \"${D}${D_SUBDIR}/${SCR}\""
|
|
||||||
fi
|
|
||||||
rm ${D}${D_SUBDIR}/${SCR}
|
|
||||||
}
|
|
||||||
|
|
||||||
FILES_${PN} = "/"
|
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1 @@
|
||||||
# fsl-eula.bbclass defines a common naming scheme used by the
|
inherit fsl-eula2 fsl-eula2-package-arch
|
||||||
# packing and unpacking mechanisms defined in fsl-eula-pack.bbclass
|
|
||||||
# and fsl-eula-unpack2.bbclass.
|
|
||||||
#
|
|
||||||
# Note that it is not necessary to inherit this class directly. It is
|
|
||||||
# already inherited from fsl-eula-pack.bbclass and fsl-eula-unpack2.bbclass.
|
|
||||||
#
|
|
||||||
# The naming scheme takes into account the fact that a single software
|
|
||||||
# package can create many archives based on the combinations of a) target
|
|
||||||
# versus native/nativesdk components, and b) the target or native architecture.
|
|
||||||
# The naming scheme can be extended through regular bitbake means to allow
|
|
||||||
# configuration-specific archives, as can be seen in fsl-eula-graphics.bbclass.
|
|
||||||
|
|
||||||
# The variable IMX_PACKAGE_NAME gives a unique name for every possible
|
|
||||||
# archive. The variable is built from a combination of the package name ${PN},
|
|
||||||
# the version ${IMX_PACKAGE_VERSION} and the target or native architecture,
|
|
||||||
# ${TARGET_ARCH} or ${BUILD_ARCH}.
|
|
||||||
IMX_PACKAGE_NAME = "${PN}-${IMX_PACKAGE_VERSION}-${TARGET_ARCH}"
|
|
||||||
IMX_PACKAGE_NAME_class-native = "${PN}-${IMX_PACKAGE_VERSION}-${BUILD_ARCH}"
|
|
||||||
IMX_PACKAGE_NAME_class-nativesdk = "${PN}-${IMX_PACKAGE_VERSION}-${BUILD_ARCH}"
|
|
||||||
|
|
||||||
# The variable SRC_URI_NAME gives a unique SRC_URI name option for use in
|
|
||||||
# unpacking recipes derived from fsl-eula-unpack2.bbclass. With this name,
|
|
||||||
# a single unpacking recipe can handle all possible archives. The name is
|
|
||||||
# built from with a combination of target or native architecture,
|
|
||||||
# ${TARGET_ARCH} or ${BUILD_ARCH}, and a native or nativesdk designation.
|
|
||||||
SRC_URI_NAME = "${TARGET_ARCH}"
|
|
||||||
SRC_URI_NAME_class-native = "${BUILD_ARCH}-native"
|
|
||||||
SRC_URI_NAME_class-nativesdk = "${BUILD_ARCH}-nativesdk"
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
# fsl-eula-package_arch.bbclass extends the package naming scheme to allow
|
||||||
|
# a single software package to create multiple archives based on the
|
||||||
|
# combinations of a) target versus native/nativesdk components, and b) the
|
||||||
|
# target or native architecture.
|
||||||
|
|
||||||
|
IMX_PACKAGE_NAME_append = "-${TARGET_ARCH}"
|
||||||
|
IMX_PACKAGE_NAME_class-native_append = "-${BUILD_ARCH}"
|
||||||
|
IMX_PACKAGE_NAME_class-nativesdk_append = "-${BUILD_ARCH}"
|
||||||
|
|
||||||
|
SRC_URI_append = ";name=${SRC_URI_NAME}"
|
||||||
|
SRC_URI_NAME = "${TARGET_ARCH}"
|
||||||
|
SRC_URI_NAME_class-native = "${BUILD_ARCH}-native"
|
||||||
|
SRC_URI_NAME_class-nativesdk = "${BUILD_ARCH}-nativesdk"
|
||||||
|
|
||||||
|
INSANE_SKIP_${PN}_remove = "arch"
|
||||||
|
INSANE_SKIP_${PN}-dbg_remove = "arch"
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
# fsl-eula-unpack2.bbclass provides a mechanism for a) unpacking certain
|
||||||
|
# EULA-licensed archives downloaded by HTTP and b) handling the EULA
|
||||||
|
# acceptance.
|
||||||
|
|
||||||
|
inherit fsl-eula-unpack fsl-eula2
|
||||||
|
|
||||||
|
IMX_PACKAGE_VERSION = "${PV}"
|
||||||
|
|
||||||
|
SRC_URI = "${FSL_MIRROR}${IMX_PACKAGE_NAME}.bin;fsl-eula=true"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/${IMX_PACKAGE_NAME}"
|
||||||
|
|
||||||
|
# For native apps, insert the user-local sysroot path
|
||||||
|
# For nativesdk apps, insert the correct distro folder
|
||||||
|
D_SUBDIR = ""
|
||||||
|
D_SUBDIR_class-native = "${STAGING_DIR_NATIVE}"
|
||||||
|
D_SUBDIR_class-nativesdk = "/opt/${DISTRO}"
|
||||||
|
|
||||||
|
# SCR is the location and name of the Software Content Register file
|
||||||
|
# relative to ${D}${D_SUBDIR}.
|
||||||
|
SCR = "SCR.txt"
|
||||||
|
|
||||||
|
do_install () {
|
||||||
|
install -d ${D}${D_SUBDIR}
|
||||||
|
cp -r ${S}/* ${D}${D_SUBDIR}
|
||||||
|
if [ -d "${D}/usr/lib" ] && [ "${D}/usr/lib" != "${D}${libdir}" ]; then
|
||||||
|
mv ${D}/usr/lib ${D}${libdir}
|
||||||
|
fi
|
||||||
|
rm ${D}${D_SUBDIR}/COPYING
|
||||||
|
if [ ! -f ${D}${D_SUBDIR}/${SCR} ]; then
|
||||||
|
bbfatal "Missing Software Content Register \"${D}${D_SUBDIR}/${SCR}\""
|
||||||
|
fi
|
||||||
|
rm ${D}${D_SUBDIR}/${SCR}
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} = "/"
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
# fsl-eula2.bbclass defines a common naming scheme used by the
|
||||||
|
# packing and unpacking mechanisms defined in fsl-eula-pack.bbclass
|
||||||
|
# and fsl-eula2-unpack2.bbclass.
|
||||||
|
#
|
||||||
|
# Note that it is not necessary to inherit this class directly. It is
|
||||||
|
# already inherited from fsl-eula-pack.bbclass and fsl-eula2-unpack2.bbclass.
|
||||||
|
#
|
||||||
|
# The naming scheme can be extended through regular bitbake means to allow
|
||||||
|
# configuration-specific archives, as can be seen in fsl-eula-graphics.bbclass
|
||||||
|
# and fsl-eula2-package-arch.bbclass.
|
||||||
|
IMX_PACKAGE_NAME = "${BPN}-${IMX_PACKAGE_VERSION}"
|
||||||
|
IMX_PACKAGE_NAME_class-native = "${PN}-${IMX_PACKAGE_VERSION}"
|
||||||
|
IMX_PACKAGE_NAME_class-nativesdk = "${PN}-${IMX_PACKAGE_VERSION}"
|
||||||
|
|
||||||
|
INSANE_SKIP_${PN} += "arch"
|
||||||
|
INSANE_SKIP_${PN}-dbg += "arch"
|
||||||
Loading…
Reference in New Issue