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
Enabling the "systemd" feature will enable the socket activation
feature used by systemd. This way we can (re-)start the GPSD based
on the socket activation.
Henning got really confused that the "a.b.c:1234" he passed to
gps2udp showed up as "a.b.c 1234" in the kernel cmdline. Use
strdup to take a copy of it.
Fixes: SYS#424
So far we have used chrpath to fix the rpath we don't want but
this creates issues with supporting both dora and edison (we need
to depend on different recipes). Instead just force the RPATH to
be off. This can be done by setting the internal _RPATH variable.
I found this in Tool/gnulink.py.
The .pc files were already covered by the normal -dev package
glob. No need to do more work here.
Addresses:
WARNING: Variable key FILES_${PN}-dev (${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig ${datadir}/aclocal ${base_libdir}/*.o ${libdir}/${BPN}/*.la ${base_libdir}/*.la) replaces original key FILES_gpsd-dev ( ${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc).
In the sysmoBTS 2050, we want to configure the 1PPS output of the
trimble to be active only if it has at least 1 satellite in view,
and want to make the receiver output its time information in UTC,
rather than GPS time.
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.
GPSD 3.7 is somehow exiting without us really knowing the cause. The
version 3.9 has been released and we hope that it might just fix the
issues we are experiencing.
RROR: There is a confusing multiline, partially commented expression on line 22 of file /home/ich/firmen/gesmokom/source/meta-sysmocom-bsp/recipes-extra/gpsd/gpsd_3.7.bb (SRC_URI[md5sum] = "52d9785eaf1a51298bb8900dbde88f98").
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!