Files
meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
T
Ben Brown 3f36657af2 android-tools: fix install of adb client when TOOLS is overridden
Overriding TOOLS with 'adb' as the only entry, or with 'adb' as the
final entry in the list fails to match the grep pattern. The current
pattern includes trailing whitespace, likely to distinguish it from
'adbd'. However since `${TOOLS}` is then passed to grep unquoted, any
trailing whitespace would be dropped by the shell.

Fixed by replacing the trailing whitespace with '\>' to mark the end of
the word, which continues to ensure we don't match against 'adbd'.

Signed-off-by: Ben Brown <ben.brown@codethink.co.uk>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-03 08:53:04 -07:00

183 lines
6.8 KiB
BlitzBasic

DESCRIPTION = "Different utilities from Android"
SECTION = "console/utils"
LICENSE = "Apache-2.0 & GPL-2.0 & BSD-2-Clause & BSD-3-Clause"
LIC_FILES_CHKSUM = " \
file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \
file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6 \
file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=cb641bc04cda31daea161b1bc15da69f \
file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
"
DEPENDS = "libbsd libpcre zlib libcap"
DEPENDS_append_class-target = " openssl"
ANDROID_MIRROR = "android.googlesource.com"
# matches with android-5.1.1_r37
SRCREV_core = "2314b110bdebdbfd2d94c502282f9e57c849897e"
SRCREV_extras = "3ecbe8d841df96127d7855661293e5ab6ba6c205"
SRCREV_libhardware = "be55eb1f4d840c82ffaf7c47460df17ff5bc4d9b"
SRCREV_libselinux = "07e9e1339ad1ba608acfba9dce2d0f474b252feb"
SRCREV_build = "16e987def3d7d8f7d30805eb95cef69e52a87dbc"
SRC_URI = " \
git://${ANDROID_MIRROR}/platform/system/core;name=core;protocol=https;nobranch=1;destsuffix=git/system/core \
git://${ANDROID_MIRROR}/platform/system/extras;name=extras;protocol=https;nobranch=1;destsuffix=git/system/extras \
git://${ANDROID_MIRROR}/platform/hardware/libhardware;name=libhardware;protocol=https;nobranch=1;destsuffix=git/hardware/libhardware \
git://${ANDROID_MIRROR}/platform/external/libselinux;name=libselinux;protocol=https;nobranch=1;destsuffix=git/external/libselinux \
git://${ANDROID_MIRROR}/platform/build;name=build;protocol=https;nobranch=1;destsuffix=git/build \
file://core/0001-adb-remove-selinux-extensions.patch;patchdir=system/core \
file://core/0002-adb-Use-local-sockets-where-appropriate.patch;patchdir=system/core \
file://core/0003-adb-define-shell-command.patch;patchdir=system/core \
file://core/0004-adb-Fix-build-on-big-endian-systems.patch;patchdir=system/core \
file://core/0005-adb-add-base64-implementation.patch;patchdir=system/core \
file://core/0006-adb-Musl-fixes.patch;patchdir=system/core \
file://core/0007-adb-usb_linux.c-fix-build-with-glibc-2.28.patch;patchdir=system/core \
file://core/0008-adb-Allow-adbd-to-be-ran-as-root.patch;patchdir=system/core \
file://core/0009-mkbootimg-Add-dt-parameter-to-specify-DT-image.patch;patchdir=system/core \
file://core/0010-Use-linux-capability.h-on-linux-systems-too.patch;patchdir=system/core \
file://core/0011-Remove-bionic-specific-calls.patch;patchdir=system/core \
file://core/0012-Fix-implicit-declaration-of-stlcat-strlcopy-function.patch;patchdir=system/core \
file://core/adb_libssl_11.diff;patchdir=system/core \
file://core/0013-adb-Support-riscv64.patch;patchdir=system/core \
file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \
file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \
file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \
file://libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch;patchdir=external/libselinux \
file://android-tools-adbd.service \
file://build/0001-Riscv-Add-risc-v-Android-config-header.patch;patchdir=build \
file://gitignore \
file://adb.mk;subdir=${BPN} \
file://adbd.mk;subdir=${BPN} \
file://ext4_utils.mk;subdir=${BPN} \
file://fastboot.mk;subdir=${BPN} \
file://mkbootimg.mk;subdir=${BPN} \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/${BPN}"
# http://errors.yoctoproject.org/Errors/Details/133881/
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
COMPATIBLE_HOST_powerpc = "(null)"
COMPATIBLE_HOST_powerpc64 = "(null)"
COMPATIBLE_HOST_powerpc64le = "(null)"
inherit systemd
SYSTEMD_PACKAGES = "${PN}-adbd"
SYSTEMD_SERVICE_${PN}-adbd = "android-tools-adbd.service"
# Find libbsd headers during native builds
CC_append_class-native = " -I${STAGING_INCDIR}"
CC_append_class-nativesdk = " -I${STAGING_INCDIR}"
TOOLS = "adb fastboot ext4_utils mkbootimg adbd"
# Adb needs sys/capability.h, which is not available for native*
TOOLS_class-native = "fastboot ext4_utils mkbootimg"
TOOLS_class-nativesdk = "fastboot ext4_utils mkbootimg"
do_compile() {
cp ${WORKDIR}/gitignore ${S}/.gitignore
# Setting both variables below causing our makefiles to not work with
# implicit make rules
unset CFLAGS
unset CPPFLAGS
export SRCDIR=${S}
case "${HOST_ARCH}" in
arm)
export android_arch=linux-arm
;;
aarch64)
export android_arch=linux-arm64
;;
riscv64)
export android_arch=linux-riscv64
;;
mips|mipsel)
export android_arch=linux-mips
;;
mips64|mips64el)
export android_arch=linux-mips64
;;
powerpc|powerpc64)
export android_arch=linux-ppc
;;
i586|i686|x86_64)
export android_arch=linux-x86
;;
esac
for tool in ${TOOLS}; do
mkdir -p ${B}/${tool}
oe_runmake -f ${B}/${tool}.mk -C ${B}/${tool}
done
}
do_install() {
if echo ${TOOLS} | grep -q "ext4_utils" ; then
install -D -p -m0755 ${S}/system/core/libsparse/simg_dump.py ${D}${bindir}/simg_dump
install -D -p -m0755 ${S}/system/extras/ext4_utils/mkuserimg.sh ${D}${bindir}/mkuserimg
install -m0755 ${B}/ext4_utils/ext2simg ${D}${bindir}
install -m0755 ${B}/ext4_utils/ext4fixup ${D}${bindir}
install -m0755 ${B}/ext4_utils/img2simg ${D}${bindir}
install -m0755 ${B}/ext4_utils/make_ext4fs ${D}${bindir}
install -m0755 ${B}/ext4_utils/simg2img ${D}${bindir}
install -m0755 ${B}/ext4_utils/simg2simg ${D}${bindir}
fi
if echo ${TOOLS} | grep -q "adb\>" ; then
install -d ${D}${bindir}
install -m0755 ${B}/adb/adb ${D}${bindir}
fi
if echo ${TOOLS} | grep -q "adbd" ; then
install -d ${D}${bindir}
install -m0755 ${B}/adbd/adbd ${D}${bindir}
fi
# Outside the if statement to avoid errors during do_package
install -D -p -m0644 ${WORKDIR}/android-tools-adbd.service \
${D}${systemd_unitdir}/system/android-tools-adbd.service
if echo ${TOOLS} | grep -q "fastboot" ; then
install -d ${D}${bindir}
install -m0755 ${B}/fastboot/fastboot ${D}${bindir}
fi
if echo ${TOOLS} | grep -q "mkbootimg" ; then
install -d ${D}${bindir}
install -m0755 ${B}/mkbootimg/mkbootimg ${D}${bindir}
fi
}
PACKAGES =+ "${PN}-fstools ${PN}-adbd"
RDEPENDS_${PN}-adbd = "${PN}-conf"
RDEPENDS_${PN}-fstools = "bash"
FILES_${PN}-adbd = "\
${bindir}/adbd \
${systemd_unitdir}/system/android-tools-adbd.service \
"
FILES_${PN}-fstools = "\
${bindir}/ext2simg \
${bindir}/ext4fixup \
${bindir}/img2simg \
${bindir}/make_ext4fs \
${bindir}/simg2img \
${bindir}/simg2simg \
${bindir}/simg_dump \
${bindir}/mkuserimg \
"
BBCLASSEXTEND = "native"