blob: 3e6e5fe2ee6c75fe1205b4b97f84ea6f506a838b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
DESCRIPTION = "mts-io controller and sysfs wrapper"
HOMEPAGE = "http://www.multitech.net/"
SECTION = "base"
PRIORITY = "optional"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://io-module/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://io-tool/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
"
DEPENDS = "virtual/kernel"
INC_PR = "r1"
SRCREV = "${AUTOREV}"
SRC_URI = " \
git://git@gitlab.multitech.net/mirrors/mts-io.git;protocol=ssh;branch=mLinux4 \
file://led-status_heartbeat_trigger \
file://lora-led-updater \
file://mts-io.init \
file://mts-io.mtcap.init \
file://mts-io.conf \
"
S = "${WORKDIR}/git"
inherit module
inherit update-rc.d
inherit autotools
# add this since we aren't using module.bbclass
addtask make_scripts after do_patch before do_compile
do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
do_make_scripts[deptask] = "do_populate_sysroot"
EXTRA_OEMAKE = " -C ${STAGING_KERNEL_DIR} \
KBUILD_VERBOSE=1 \
M=${S}/io-module \
modules \
"
do_compile () {
bbnote make "$@"
make "$@"
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake
}
PACKAGES = "${PN}-noarch kernel-module-${PN} ${PN}-util ${PN}-util-dbg ${PN}-dev"
FILES_kernel-module-${PN} = "${base_libdir}/modules/${KERNEL_VERSION}/extra/mts_io.ko"
FILES_${PN}-noarch = "${sysconfdir}/init.d/mts-io \
${sysconfdir}/rc5.d/S95led-status_heartbeat_trigger \
${sysconfdir}/default/mts-io \
${sysconfdir}/init.d/led-status_heartbeat_trigger"
FILES_${PN}-noarch += "${libdir}/mts-io-sysfs*"
FILES_${PN}-noarch += "${sbindir}/mts-io-sysfs"
FILES_${PN}-noarch_append_mtcap += "${sbindir}/lora-led-updater"
FILES_${PN}-util += "${sbindir}/mts-util-lora2-reset"
FILES_${PN}-util-dbg += "/usr/src /usr/sbin/.debug"
FILES_${PN}-dev += "/usr/include/linux/mts_eeprom.h /usr/include/linux/mts_io.h"
INITSCRIPT_NAME = "mts-io"
INITSCRIPT_PARAMS = "start 39 S ."
PARALLEL_MAKE = ""
L1 = "${STAGING_KERNEL_DIR}/include/linux/"
# Bitbake/Yocto automatically installs in to L2.
L2 = "${STAGING_INCDIR}/linux/"
L3 = "${D}/usr/include/linux/"
fakeroot do_install () {
make DESTDIR=${D} install
install -m 0755 -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra
# use cp instead of install so the driver doesn't get stripped
cp ${S}/io-module/mts_io.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/extra
install -d ${L3}
echo "STAGING_KERNEL_DIR is ${STAGING_KERNEL_DIR}"
echo "STAGING_INCDIR is ${STAGING_INCDIR}"
echo "D/usr/include/linux/ is ${D}/usr/include/linux/"
install -m 0644 ${S}/io-module/mts_io.h ${L1}
# install -m 0644 ${S}/io-module/mts_io.h ${L2}
install -m 0644 ${S}/io-module/mts_io.h ${L3}
install -m 0644 ${S}/io-module/mts_eeprom.h ${L1}
# install -m 0644 ${S}/io-module/mts_eeprom.h ${L2}
install -m 0644 ${S}/io-module/mts_eeprom.h ${L3}
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/mts-io.init ${D}${sysconfdir}/init.d/mts-io
install -m 0755 ${WORKDIR}/led-status_heartbeat_trigger ${D}/${sysconfdir}/init.d/
install -d ${D}${sysconfdir}/default
install -m 0755 ${WORKDIR}/mts-io.conf ${D}${sysconfdir}/default/mts-io
# blink status LED after booted
install -d ${D}${sysconfdir}/rc5.d
ln -sf ${sysconfdir}/init.d/led-status_heartbeat_trigger ${D}/${sysconfdir}/rc5.d/S95led-status_heartbeat_trigger
install -m 0755 -d ${D}${sbindir}
install -d ${D}${libdir}/mts-io-sysfs
install -m 0755 ${S}/io-tool/mts-io-sysfs-inc.sh ${D}${libdir}/mts-io-sysfs
install -m 0755 ${S}/io-tool/mts-io-sysfs ${D}${sbindir}/mts-io-sysfs
}
fakeroot do_install_append_mtcap() {
# install MTCAP mts-io init script
install -m 0755 ${WORKDIR}/mts-io.mtcap.init ${D}${sysconfdir}/init.d/mts-io
install -m 0755 ${WORKDIR}/lora-led-updater ${D}${sbindir}/lora-led-updater
}
# Yocto seems to insist on Python for this function
# This function is to make debugging easier, so the package
# can be built a 2nd time.
fakeroot do_cleansstate_prepend() {
L1 = d.getVar("L1",True)
L2 = d.getVar("L2",True)
bb.note("L1 is " + L1)
bb.note("L2 is " + L2)
F1 = L1 + "/mts_io.h"
F2 = L2 + "/mts_io.h"
F3 = L1 + "/mts_eeprom.h"
F4 = L2 + "/mts_eeprom.h"
for f in [F1, F2, F3, F4]:
if os.path.exists(f):
os.remove(f)
}
|