Adjust the bundled udev rules to use gpsd.hotplug instead of
gpsd.hotplug.wrapper, as the wrapper has been removed upstream.
Fix for:
systemd-udevd[1004]: failed to execute '/lib/udev/gpsd.hotplug.wrapper' '/lib/udev/gpsd.hotplug.wrapper': No such file or directory
Fixes: 6a8f914b ("gpsd: upgrade to 3.24")
Related: 711a3f8412
Related: SYS#6222
Change-Id: I95c9d1537a9a7090b1239aecef14f25f8d7ca554
Usually when upgrading packages, we just copy the upstream package and
adjust it slightly. I've looked at the upstream package here:
https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-navigation/gpsd
(HEAD at f3d14d41ad60d2d52a0ea795ae10fe0882146ed1)
But as I compared both packaging trees, I found ours is quite different
than upstream. We have a lot of additional patches, still use python2 and
have these extra files:
├── gpsd
│ ├── 60-gpsd.rules
│ ├── gpsd
│ ├── gpsd-default
│ ├── gpsd.service
│ ├── oc2g
│ │ ├── gpsd-default
│ │ └── gpsd.service
│ ├── sysmobts2100
│ │ └── gpsd-default
│ ├── sysmobts-v2
│ │ └── gpsd-default
│ └── sysmocom-idu
│ └── gpsd-default
Therefore I didn't start with the upstream packaging but instead
increased the gpsd version in our packaging and went through each patch
to see if it can be dropped or needs to be forward ported.
Change the version by renaming the .bb file. Reset the version of the
recipe (PR) back to "r0" again, as it is common practice after changing
the package version. The previous value "r3.20" looked a bit like a
package version, but it's not that.
Rebase patches:
* 0001-gps2udp-Add-a-label-timestamp-and-mac-address-to-eac.patch
* 0002-gps2udp-leave-argv-untouched.patch (leave-argv-untouched.patch)
* 0003-tsip-configure-and-enable-1PPS.patch (gpsd-tsip-pps.patch)
Add build fixes:
* 0004-SConscript-force-use-of-pthread.patch
Drop patches:
* 0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch:
unused in previous version
* 0001-SConstruct-disable-html-and-man-docs-building-becaus.patch:
doesn't apply, instead disable docs building via manbuild='no'
* 0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch:
not needed anymore (no splintopts line in 3.24)
* gpsd-3.3-ldflags.patch:
fixed upstream
* no-rpath-please.patch:
doesn't apply, not needed anymore (see 5df2de36 in gpsd.git)
Related: https://docs.yoctoproject.org/bitbake/2.2/bitbake-user-manual/bitbake-user-manual-ref-variables.html#term-PR
Related: SYS#6222
Change-Id: I2debe481c5f1cc4ee8290ad0dc883d6a4ea73741
The autobauding feature of gpsd would not work even once the correct port was
set. The systemd service file now sets the baudrate of 115200 before starting
gpsd.
In newer Poky the LDFLAGS are not passed through the $CC variable
anymore and we need to make sure scons is picking them up. Take an
old Gentoo patch for it.
We want to have a single image that will do the right thing on
the various BTS models we have. This means we will install the
sbts2050 utilitiy (it clashes with sysmobts-mgr anyway) and the
gpsd with a default config for it.
The sysmobts-v2 config file was for a specific usecase and is
obsolete for all intents and purposes. Make it the default
Related: SYS#559
The sysmobts-v2 version was not installed because the file was
not called properly. Rename it to gpsd-default and the sysmobts-v2
version will be picked and installed.
FIXME: this will actually assume a GPS that is indirectly attached
to a GSM Modem which will be handled by openmoko-gsmd and forwarded via
UDP. However, we might have a GPS receiver attached directly to the
GPS UART in other hardware versions!