mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-14 17:59:59 +00:00
2a3d4be999
The patches by Raghuvarya changed the location of the file that systemd uses to check whether to start the adbd or not. However those patches completely ignored creating those two flag files, as done by the android-tools recipes. Make the android-tools create the /etc/usb-debugging-enabled file so that it's possible to enable the adbd automatically. Fixes:a29c6386d5("android-toold-adbd: Fix inconsistency between selinux configurations") Fixes:8106cfe769("android-tools-adbd.service: Change /var to /etc in ConditionPathExists") Cc: Raghuvarya S <quic_raghuvar@quicinc.com> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Khem Raj <raj.khem@gmail.com>
201 lines
8.1 KiB
BlitzBasic
201 lines
8.1 KiB
BlitzBasic
DESCRIPTION = "Different utilities from Android"
|
|
SECTION = "console/utils"
|
|
LICENSE = "Apache-2.0 & GPL-2.0-only & 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"
|
|
|
|
SRCREV_FORMAT = "core_extras_libhardware_libselinux_build"
|
|
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/b64_pton_function_decl.patch;patchdir=system/core \
|
|
file://core/0013-adb-Support-riscv64.patch;patchdir=system/core \
|
|
file://core/0014-add-u3-ss-descriptor-support-for-adb.patch;patchdir=system/core \
|
|
file://core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch;patchdir=system/core \
|
|
file://core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch;patchdir=system/core \
|
|
file://core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch;patchdir=system/core \
|
|
file://core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.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 ${UNPACKDIR}/gitignore ${S}/.gitignore
|
|
|
|
# Setting both variables below causing our makefiles to not work with
|
|
# implicit make rules
|
|
CFLAGS="-ffile-prefix-map=${S}=${TARGET_DBGSRC_DIR}"
|
|
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 ${UNPACKDIR}/${BPN}/${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 ${UNPACKDIR}/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"
|
|
|
|
android_tools_enable_devmode() {
|
|
touch ${IMAGE_ROOTFS}/etc/usb-debugging-enabled
|
|
}
|
|
|
|
ROOTFS_POSTPROCESS_COMMAND_${PN}-adbd += "${@bb.utils.contains("USB_DEBUGGING_ENABLED", "1", "android_tools_enable_devmode;", "", d)}"
|
|
|
|
# http://errors.yoctoproject.org/Errors/Details/766881/
|
|
# android-tools/5.1.1.r37/git/system/core/adb/adb_auth_host.c:86:23: error: passing argument 2 of 'RSA_get0_key' from incompatible pointer type [-Wincompatible-pointer-types]
|
|
# android-tools/5.1.1.r37/git/system/core/adb/adb_auth_host.c:86:27: error: passing argument 3 of 'RSA_get0_key' from incompatible pointer type [-Wincompatible-pointer-types]
|
|
CC += "-Wno-error=incompatible-pointer-types"
|