blob: a20ff4eeabb83a6aae78c06c9c0f6536f1149c6f [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001SUMMARY = "USB Gadget neXt Configfs Library"
Andrew Geissler9aee5002022-03-30 16:27:02 +00002LICENSE = "GPL-2.0-only & LGPL-2.1-only"
Brad Bishop19323692019-04-05 15:28:33 -04003LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
4 file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
5
Andrew Geisslerd688a012020-09-18 13:36:00 -05006inherit autotools pkgconfig systemd update-rc.d update-alternatives
Brad Bishop19323692019-04-05 15:28:33 -04007
Patrick Williams73bd93f2024-02-20 08:07:48 -06008PV = "0.2.0+git"
9SRCREV = "ec0b01c03fdc7893997b7b32ec1c12c6103f62f3"
Brad Bishop19323692019-04-05 15:28:33 -040010SRCBRANCH = "master"
11SRC_URI = " \
Andrew Geissler595f6302022-01-24 19:11:47 +000012 git://github.com/libusbgx/libusbgx.git;branch=${SRCBRANCH};protocol=https \
Andrew Geissler3eeda902023-05-19 10:14:02 -050013 file://0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch \
14 file://0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch \
Brad Bishop19323692019-04-05 15:28:33 -040015 file://gadget-start \
Patrick Williams73bd93f2024-02-20 08:07:48 -060016 file://gadget-stop \
Brad Bishop19323692019-04-05 15:28:33 -040017 file://usbgx.initd \
18 file://usbgx.service \
19"
20
21S = "${WORKDIR}/git"
22
Andrew Geissler87f5cff2022-09-30 13:13:31 -050023PACKAGECONFIG ??= "examples gadget-schemes libconfig"
24PACKAGECONFIG[libconfig] = "--with-libconfig=yes,--without-libconfig,libconfig"
25PACKAGECONFIG[examples] = "--enable-examples,--disable-examples"
26PACKAGECONFIG[gadget-schemes] = "--enable-gadget-schemes,--disable-gadget-schemes"
27PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cmocka"
Brad Bishop19323692019-04-05 15:28:33 -040028
Patrick Williams975a06f2022-10-21 14:42:47 -050029PACKAGE_BEFORE_PN = "${@bb.utils.contains('PACKAGECONFIG', 'examples', '${PN}-examples', '', d)}"
Andrew Geissler87f5cff2022-09-30 13:13:31 -050030
31SYSTEMD_PACKAGES = "${PN}-examples"
32SYSTEMD_SERVICE:${PN}-examples = "usbgx.service"
33SYSTEMD_AUTO_ENABLE:${PN}-examples = "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'enable', 'disable', d)}"
34
Patrick Williams975a06f2022-10-21 14:42:47 -050035INITSCRIPT_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'examples', '${PN}-examples', '', d)}"
Brad Bishop19323692019-04-05 15:28:33 -040036INITSCRIPT_NAME = "usbgx"
37INITSCRIPT_PARAMS = "defaults"
Andrew Geissler87f5cff2022-09-30 13:13:31 -050038INHIBIT_UPDATERCD_BBCLASS = "${@bb.utils.contains('PACKAGECONFIG', 'examples', '1', '0', d)}"
Brad Bishop19323692019-04-05 15:28:33 -040039
Patrick Williams213cb262021-08-07 19:21:33 -050040do_install:append() {
Andrew Geissler3eeda902023-05-19 10:14:02 -050041 install -Dm 0755 ${WORKDIR}/gadget-start ${D}${bindir}/gadget-start
42 sed -i -e 's,/usr/bin,${bindir},g' -e 's,/etc,${sysconfdir},g' ${D}${bindir}/gadget-start
Patrick Williams73bd93f2024-02-20 08:07:48 -060043 install -m 0755 ${WORKDIR}/gadget-start ${D}${bindir}/gadget-stop
44 sed -i -e 's,/usr/bin,${bindir},g' -e 's,/etc,${sysconfdir},g' ${D}${bindir}/gadget-stop
Andrew Geissler3eeda902023-05-19 10:14:02 -050045
Brad Bishop19323692019-04-05 15:28:33 -040046 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
47 install -Dm 0644 ${WORKDIR}/usbgx.service ${D}${systemd_system_unitdir}/usbgx.service
48 fi
Andrew Geissler87f5cff2022-09-30 13:13:31 -050049
Brad Bishop19323692019-04-05 15:28:33 -040050 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
Andrew Geissler87f5cff2022-09-30 13:13:31 -050051 install -Dm 0755 ${WORKDIR}/usbgx.initd ${D}${sysconfdir}/init.d/usbgx
52 fi
Brad Bishop19323692019-04-05 15:28:33 -040053}
54
Andrew Geissler87f5cff2022-09-30 13:13:31 -050055FILES:${PN}-examples = "${bindir}/* ${sysconfdir}/*"
56RDEPENDS:${PN}-examples += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'libusbgx-config', '', d)}"
Andrew Geisslerd688a012020-09-18 13:36:00 -050057
58ALTERNATIVE_PRIORITY = "90"
Andrew Geissler87f5cff2022-09-30 13:13:31 -050059ALTERNATIVE:${PN}-examples = "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'gadget-acm-ecm show-gadgets', '', d)}"
Andrew Geisslerd688a012020-09-18 13:36:00 -050060ALTERNATIVE_LINK_NAME[gadget-acm-ecm] = "${bindir}/gadget-acm-ecm"
61ALTERNATIVE_LINK_NAME[show-gadgets] = "${bindir}/show-gadgets"