blob: e138bc24afdde717123cba806b587c74c3493999 [file] [log] [blame]
Andrew Geissler595f6302022-01-24 19:11:47 +00001SUMMARY = "Additional utilities for the opkg package manager"
2SUMMARY:update-alternatives-opkg = "Utility for managing the alternatives system"
3SECTION = "base"
4HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils"
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00005LICENSE = "GPL-2.0-or-later"
Andrew Geissler595f6302022-01-24 19:11:47 +00006LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
7 file://opkg.py;beginline=2;endline=18;md5=ffa11ff3c15eb31c6a7ceaa00cc9f986"
8PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"
9
Patrick Williams2390b1b2022-11-03 13:47:49 -050010SRC_URI = "git://git.yoctoproject.org/opkg-utils;protocol=https;branch=master \
Andrew Geissler595f6302022-01-24 19:11:47 +000011 file://0001-update-alternatives-correctly-match-priority.patch \
Patrick Williams705982a2024-01-12 09:51:57 -060012 file://0001-opkg-build-remove-numeric-owner-parameter-overzealou.patch \
Andrew Geissler595f6302022-01-24 19:11:47 +000013 "
Patrick Williams169d7bc2024-01-05 11:33:25 -060014SRCREV = "589880d01969eb9af1e66120e731d43193504718"
Andrew Geissler595f6302022-01-24 19:11:47 +000015
Patrick Williams2390b1b2022-11-03 13:47:49 -050016S = "${WORKDIR}/git"
Andrew Geissler595f6302022-01-24 19:11:47 +000017
18TARGET_CC_ARCH += "${LDFLAGS}"
19
20RDEPENDS:${PN} += "bash"
21
22inherit perlnative
23
24# For native builds we use the host Python
25PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-pickle python3-compression python3-stringold"
26PYTHONRDEPS:class-native = ""
27
28PACKAGECONFIG = "python update-alternatives"
29PACKAGECONFIG[python] = ",,,${PYTHONRDEPS}"
30PACKAGECONFIG[update-alternatives] = ",,,"
31
32do_install() {
33 oe_runmake PREFIX=${prefix} DESTDIR=${D} install
34 if ! ${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'true', 'false', d)}; then
35 rm -f "${D}${bindir}/update-alternatives"
36 fi
37}
38
39do_install:append:class-target() {
40 if ! ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
41 grep -lZ "/usr/bin/env.*python" ${D}${bindir}/* | xargs -0 rm
42 fi
43
44 if [ -e "${D}${bindir}/update-alternatives" ]; then
45 sed -i ${D}${bindir}/update-alternatives -e 's,/usr/bin,${bindir},g; s,/usr/lib,${nonarch_libdir},g'
46 fi
47}
48
49# These are empty and will pull python3-dev into images where it wouldn't
50# have been otherwise, so don't generate them.
51PACKAGES:remove = "${PN}-dev ${PN}-staticdev"
52
53PACKAGES =+ "update-alternatives-opkg"
54FILES:update-alternatives-opkg = "${bindir}/update-alternatives"
55RPROVIDES:update-alternatives-opkg = "update-alternatives update-alternatives-cworth"
56RREPLACES:update-alternatives-opkg = "update-alternatives-cworth"
57RCONFLICTS:update-alternatives-opkg = "update-alternatives-cworth"
58
59pkg_postrm:update-alternatives-opkg() {
60 rm -rf $D${nonarch_libdir}/opkg/alternatives
61 rmdir $D${nonarch_libdir}/opkg || true
62}
63
64BBCLASSEXTEND = "native nativesdk"
65
66CLEANBROKEN = "1"