All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf
@ 2020-12-23  3:10 Dmitry Baryshkov
  2020-12-23  3:10 ` [meta-oe][PATCH 2/2] android-tools-conf: fix android-tools build-deps warning Dmitry Baryshkov
  2020-12-24  6:34 ` [oe] [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf Khem Raj
  0 siblings, 2 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2020-12-23  3:10 UTC (permalink / raw)
  To: openembedded-devel

The package android-tools-conf depends on presence of
/sys/class/android_usb, which is not present in default (mainline)
kernels. Add a set of scripts that will use ConfigFS to configure USB
gadget rather than using non-standard device class.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../10-adbd-configfs.conf                     |  4 +++
 .../android-gadget-cleanup                    | 24 +++++++++++++
 .../android-gadget-setup                      | 35 ++++++++++++++++++
 .../android-gadget-start                      |  7 ++++
 .../android-tools-conf-configfs_1.0.bb        | 36 +++++++++++++++++++
 5 files changed, 106 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf
 create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup
 create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup
 create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
 create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb

diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf
new file mode 100644
index 000000000000..ddf155a907bc
--- /dev/null
+++ b/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-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup
new file mode 100644
index 000000000000..517227d4a636
--- /dev/null
+++ b/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-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup
new file mode 100644
index 000000000000..e44d1bacbe3a
--- /dev/null
+++ b/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-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
new file mode 100644
index 000000000000..ca6c3df27536
--- /dev/null
+++ b/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-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
new file mode 100644
index 000000000000..a38a8ce90226
--- /dev/null
+++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
@@ -0,0 +1,36 @@
+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://android-gadget-setup.machine \
+    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"
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [meta-oe][PATCH 2/2] android-tools-conf: fix android-tools build-deps warning
  2020-12-23  3:10 [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf Dmitry Baryshkov
@ 2020-12-23  3:10 ` Dmitry Baryshkov
  2020-12-24  6:34 ` [oe] [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf Khem Raj
  1 sibling, 0 replies; 5+ messages in thread
From: Dmitry Baryshkov @ 2020-12-23  3:10 UTC (permalink / raw)
  To: openembedded-devel

If PREFERRED_PROVIDER_android-tool-conf is set, build-deps checker will
incorrectly resolve android-tools-conf runtime dependency to
android-tools-conf recipe rather than the selected recipe. To fix the
following warning, make android-tools-conf recipe raise SkipRecipe if it
is not the preferred android-tools-conf provider.

WARNING: android-tools-5.1.1.r37-r0 do_package_qa: QA Issue: android-tools-adbd rdepends on android-tools-conf, but it isn't a build dependency, missing android-tools-conf in DEPENDS or PACKAGECONFIG? [build-deps]

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../android-tools/android-tools-conf_1.0.bb                | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb b/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb
index af98f92f05e2..34b1a9bdd289 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools-conf_1.0.bb
+++ b/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))
+}
-- 
2.29.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [oe] [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf
  2020-12-23  3:10 [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf Dmitry Baryshkov
  2020-12-23  3:10 ` [meta-oe][PATCH 2/2] android-tools-conf: fix android-tools build-deps warning Dmitry Baryshkov
@ 2020-12-24  6:34 ` Khem Raj
  2020-12-24 10:45   ` Dmitry Baryshkov
  1 sibling, 1 reply; 5+ messages in thread
From: Khem Raj @ 2020-12-24  6:34 UTC (permalink / raw)
  To: Dmitry Baryshkov; +Cc: openembeded-devel

I am seeing this warning

WARNING: /mnt/b/yoe/master/sources/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-to
ols-conf-configfs_1.0.bb: Unable to get checksum for
android-tools-conf-configfs SRC_URI entry android
-gadget-setup.machine: file could not be found

while building for qemuriscv32

On Tue, Dec 22, 2020 at 7:11 PM Dmitry Baryshkov <dbaryshkov@gmail.com> wrote:
>
> The package android-tools-conf depends on presence of
> /sys/class/android_usb, which is not present in default (mainline)
> kernels. Add a set of scripts that will use ConfigFS to configure USB
> gadget rather than using non-standard device class.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../10-adbd-configfs.conf                     |  4 +++
>  .../android-gadget-cleanup                    | 24 +++++++++++++
>  .../android-gadget-setup                      | 35 ++++++++++++++++++
>  .../android-gadget-start                      |  7 ++++
>  .../android-tools-conf-configfs_1.0.bb        | 36 +++++++++++++++++++
>  5 files changed, 106 insertions(+)
>  create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf
>  create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup
>  create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup
>  create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
>  create mode 100644 meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
>
> diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf
> new file mode 100644
> index 000000000000..ddf155a907bc
> --- /dev/null
> +++ b/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-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup
> new file mode 100644
> index 000000000000..517227d4a636
> --- /dev/null
> +++ b/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-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup
> new file mode 100644
> index 000000000000..e44d1bacbe3a
> --- /dev/null
> +++ b/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-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
> new file mode 100644
> index 000000000000..ca6c3df27536
> --- /dev/null
> +++ b/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-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
> new file mode 100644
> index 000000000000..a38a8ce90226
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
> @@ -0,0 +1,36 @@
> +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://android-gadget-setup.machine \
> +    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"
> --
> 2.29.2
>
>
> 
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [oe] [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf
  2020-12-24  6:34 ` [oe] [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf Khem Raj
@ 2020-12-24 10:45   ` Dmitry Baryshkov
  2020-12-27  2:13     ` Khem Raj
  0 siblings, 1 reply; 5+ messages in thread
From: Dmitry Baryshkov @ 2020-12-24 10:45 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembeded-devel

чт, 24 дек. 2020 г. в 09:34, Khem Raj <raj.khem@gmail.com>:
>
> I am seeing this warning
>
> WARNING: /mnt/b/yoe/master/sources/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-to
> ols-conf-configfs_1.0.bb: Unable to get checksum for
> android-tools-conf-configfs SRC_URI entry android
> -gadget-setup.machine: file could not be found

Oops. Should be fixed in v2

>
> while building for qemuriscv32

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [oe] [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf
  2020-12-24 10:45   ` Dmitry Baryshkov
@ 2020-12-27  2:13     ` Khem Raj
  0 siblings, 0 replies; 5+ messages in thread
From: Khem Raj @ 2020-12-27  2:13 UTC (permalink / raw)
  To: Dmitry Baryshkov; +Cc: openembeded-devel

I am seeing another error on rpi4-64

NOTE: Multiple providers are available for runtime android-tools-conf
(android-tools-conf, android-tools-conf-configfs)
Consider defining a PREFERRED_RPROVIDER entry to match android-tools-conf

On Thu, Dec 24, 2020 at 2:45 AM Dmitry Baryshkov <dbaryshkov@gmail.com> wrote:
>
> чт, 24 дек. 2020 г. в 09:34, Khem Raj <raj.khem@gmail.com>:
> >
> > I am seeing this warning
> >
> > WARNING: /mnt/b/yoe/master/sources/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-to
> > ols-conf-configfs_1.0.bb: Unable to get checksum for
> > android-tools-conf-configfs SRC_URI entry android
> > -gadget-setup.machine: file could not be found
>
> Oops. Should be fixed in v2
>
> >
> > while building for qemuriscv32
>
> --
> With best wishes
> Dmitry

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-12-27  2:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-23  3:10 [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf Dmitry Baryshkov
2020-12-23  3:10 ` [meta-oe][PATCH 2/2] android-tools-conf: fix android-tools build-deps warning Dmitry Baryshkov
2020-12-24  6:34 ` [oe] [meta-oe][PATCH 1/2] android-tools-conf-configfs: add an alternative to anrdoid-tools-conf Khem Raj
2020-12-24 10:45   ` Dmitry Baryshkov
2020-12-27  2:13     ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.