It was recently spotted that during a build of 201705-testing where
sysmocom-openvpn-config was being rebuilt, the Packages(.gz) files
(opkg package indexes) were rebuilt before the new .ipk files for
sysmocom-openvpn-config were written to disk. Also then the Packages
file didn't contain a reference to the new sysmocom-openvpn-config
package version. So, it seems there was a race condition where the
package index was built too early.
Yocto documentation provides some hints:
https://docs.yoctoproject.org/dev-manual/packages.html?highlight=bitbake+package+index#build-considerations
"""
Whenever you perform any sort of build step that can potentially generate
a package or modify existing package, it is always a good idea to
re-generate the package index after the build by using the following
command: bitbake package-index
Do not do "$ bitbake some-package package-index" as BitBake does not schedule
the package index for after the completion of the package you are building.
Consequently, you cannot be sure of the package index including
information for the package you just built. Thus, be sure to run the
package update step separately after building any packages.
"""
So far it seems we were relying on the "create filesystem" task
triggered for image creation which would also trigger the package index
recreation, according to
https://yocto.yoctoproject.narkive.com/rjvLrVpW/question-about-rebuilding-rpm-package-index-for-updated-rpms-when-bitbake-completes
"""
The feed is normally indexed (createrepo) either when you manually run the
package-index operation, or when you construct a filesystem. Until you do that,
the feed directories are transient.
"""
Related: SYS#6023
we needed to patch bitbake to make the git fetcher use https by default
in order to still be able to fetch from github repositories. This means
we cannot continue to use upstreak poky but must use a private fork.
Commit d4260e1a4a fixed the issu but only
accidentally. It seems when in a Makefile you do A="xyz abc", the full token
"zyx abc" (quotes included) is subsituted by $(A). As a result, Previous
commit attempting the fix was ending up in ""xyz abc"" being used.
Let's instead remove quotes altogether.
We don't plan to support NITB or old openbsc repo in 201705 for now.
Build the core images instead of the NITB, which since recently don't
contain osmo-nitb or other binaries from the openbsc repo, only osmo-pcu
and osmo-bts are included.
* Throw away the tmp/ directory as recent OpenEmbedded is really good
with the sstate-cache and can rebuild it. This avoids having to try
to clean the sysroot or remove unused entries from work/
* Clean the sstate cache in case there are old entries.
We don't plan to support NITB or old openbsc repo in 201705 for now.
Build the core images instead of the NITB, which since recently don't
contain osmo-nitb or other binaries from the openbsc repo, only osmo-pcu
and osmo-bts are included.
This is not tested and will be debugged on the server. Begin to
automate the on-server setup so we can make this a self-service
without much user interaction.
Create a Makefile that does the lifting of setting up the config
as it is done on the system. Handles the creation of the .ssh/config
for upload.
In the past upstream poned on such master Makefiles but as we
customize our build environment quite a bit it probably makes
sense and reduces the clone+set-up to two calls.