diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/android-tools')
7 files changed, 122 insertions, 3 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf new file mode 100644 index 0000000000..ddf155a907 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf @@ -0,0 +1,4 @@ +[Service] +ExecStartPre=/usr/bin/android-gadget-setup +ExecStartPost=/usr/bin/android-gadget-start +ExecStopPost=/usr/bin/android-gadget-cleanup diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup new file mode 100644 index 0000000000..517227d4a6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup @@ -0,0 +1,24 @@ +#!/bin/sh + +[ -d /sys/kernel/config/usb_gadget ] || exit 0 + +cd /sys/kernel/config/usb_gadget + +cd adb + +echo "" > UDC || true + +killall adbd || true + +umount /dev/usb-ffs/adb + +rm configs/c.1/ffs.usb0 + +rmdir configs/c.1/strings/0x409 +rmdir configs/c.1 + +rmdir functions/ffs.usb0 +rmdir strings/0x409 + +cd .. +rmdir adb diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup new file mode 100644 index 0000000000..e44d1bacbe --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup @@ -0,0 +1,35 @@ +#!/bin/sh + +set -e + +manufacturer=RPB +model="Android device" +serial=0123456789ABCDEF + +if [ -r /etc/android-gadget-setup.machine ] ; then + . /etc/android-gadget-setup.machine +fi + +[ -d /sys/kernel/config/usb_gadget ] || modprobe libcomposite + +cd /sys/kernel/config/usb_gadget + +[ -d adb ] && /usr/bin/android-gadget-cleanup || true + +mkdir adb +cd adb + +mkdir configs/c.1 +mkdir functions/ffs.usb0 +mkdir strings/0x409 +mkdir configs/c.1/strings/0x409 +echo 0x18d1 > idVendor +echo 0xd002 > idProduct +echo "$serial" > strings/0x409/serialnumber +echo "$manufacturer" > strings/0x409/manufacturer +echo "$model" > strings/0x409/product +echo "Conf 1" > configs/c.1/strings/0x409/configuration +ln -s functions/ffs.usb0 configs/c.1 + +mkdir -p /dev/usb-ffs/adb +mount -t functionfs usb0 /dev/usb-ffs/adb diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start new file mode 100644 index 0000000000..ca6c3df275 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +sleep 3 + +ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/adb/UDC diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb new file mode 100644 index 0000000000..01dc1bea98 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "Different utilities from Android - corressponding configuration files for using ConfigFS" +SECTION = "console/utils" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = " \ + file://android-gadget-setup \ + file://android-gadget-start \ + file://android-gadget-cleanup \ + file://10-adbd-configfs.conf \ +" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/android-gadget-setup ${D}${bindir} + install -m 0755 ${WORKDIR}/android-gadget-start ${D}${bindir} + install -m 0755 ${WORKDIR}/android-gadget-cleanup ${D}${bindir} + + if [ -r ${WORKDIR}/android-gadget-setup.machine ] ; then + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/android-gadget-setup.machine ${D}${sysconfdir} + fi + + install -d ${D}${systemd_unitdir}/system/android-tools-adbd.service.d + install -m 0644 ${WORKDIR}/10-adbd-configfs.conf ${D}${systemd_unitdir}/system/android-tools-adbd.service.d +} + +FILES_${PN} += " \ + ${systemd_unitdir}/system/ \ +" + +PROVIDES += "android-tools-conf" +RPROVIDES_${PN} = "android-tools-conf" diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb index af98f92f05..34b1a9bdd2 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb @@ -11,3 +11,10 @@ do_install() { install -d ${D}${bindir} install -m 0755 ${WORKDIR}/android-gadget-setup ${D}${bindir} } + +python () { + pn = d.getVar('PN') + profprov = d.getVar("PREFERRED_PROVIDER_" + pn) + if profprov and pn != profprov: + raise bb.parse.SkipRecipe("PREFERRED_PROVIDER_%s set to %s, not %s" % (pn, profprov, pn)) +} diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb index fb6125e2a5..ae1463942a 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb @@ -67,7 +67,8 @@ COMPATIBLE_HOST_powerpc64le = "(null)" inherit systemd -SYSTEMD_SERVICE_${PN} = "android-tools-adbd.service" +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}" @@ -157,9 +158,15 @@ do_install() { fi } -PACKAGES += "${PN}-fstools" +PACKAGES =+ "${PN}-fstools ${PN}-adbd" -RDEPENDS_${BPN} = "${BPN}-conf bash" +RDEPENDS_${BPN}-adbd = "${BPN}-conf" +RDEPENDS_${BPN}-fstools = "bash" + +FILES_${PN}-adbd = "\ + ${bindir}/adbd \ + ${systemd_unitdir}/system/android-tools-adbd.service \ +" FILES_${PN}-fstools = "\ ${bindir}/ext2simg \ |