Commit Graph

45 Commits

Author SHA1 Message Date
Pau Espin 819c17e138 Makefile: run 'bitbake package-index' after bitbake command building packages
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
2023-06-22 16:24:09 +02:00
Oliver Smith 7aca9c9f1e Makefile: git.osmocom.org -> gerrit.osmocom.org
Related: SYS#6022
2022-09-21 12:26:40 +02:00
Harald Welte 7c0b7a9997 Move to sysmocom poky repository
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.
2022-01-11 12:35:53 +01:00
Harald Welte f02bca3f9f Makefile: Switch from git:// got https://
The unauthenticated git protocol on port 9418 is no longer supported.
https://github.blog/2021-09-01-improving-git-protocol-security-github/
2022-01-11 11:02:01 +01:00
Harald Welte e70782692b migrate from git.sysmocom.de to gitea.sysmocom.de 2021-05-16 13:18:34 +02:00
Pau Espin Pedrol bca318fdac Makefile: Add sysmocom-voice-sip-image default target for sysmobts 2021-02-02 18:13:53 +01:00
Pau Espin abf8de0bcf Revert "HACK: disable dahdi on alix/apu2 builds, too."
This reverts commit e158378a69.

Proper fix is available in meta-telephony
I6b4802374194d0fb722d0c4fd8d6ed72cd468262.

Related: SYS#4760
2019-12-23 11:40:52 +01:00
Harald Welte e158378a69 HACK: disable dahdi on alix/apu2 builds, too.
We are seeing very strange build errors, and I have not the
slightest clue how to debug those:

ERROR: dahdi-linux-2.10.2-r0 do_package_write_ipk: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:do_package_ipk(d)
     0003:
File: '/home/oe/system-images/git/poky/meta/classes/package_ipk.bbclass', lineno: 231, function: do_package_ipk
     0227:            conffiles.close()
     0228:
     0229:        os.chdir(basedir)
     0230:        subprocess.check_output("PATH=\"%s\" %s %s %s" % (localdata.getVar("PATH"),
 *** 0231:                                                          d.getVar("OPKGBUILDCMD"), pkg, pkgoutdir), shell=True)
     0232:
     0233:        if d.getVar('IPK_SIGN_PACKAGES') == '1':
     0234:            ipkver = "%s-%s" % (d.getVar('PKGV'), d.getVar('PKGR'))
     0235:            ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, d.getVar('PACKAGE_ARCH'))
File: '/usr/lib/python3.4/subprocess.py', lineno: 620, function: check_output
     0616:            process.wait()
     0617:            raise
     0618:        retcode = process.poll()
     0619:        if retcode:
 *** 0620:            raise CalledProcessError(retcode, process.args, output=output)
     0621:    return output
     0622:
     0623:
     0624:def list2cmdline(seq):
Exception: subprocess.CalledProcessError: Command 'PATH="/home/oe/system-images/build.apu2/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/oe/system-images/git/poky/scripts:/home/oe/system-images/build.apu2/tmp/work/all-poky-linux/dahdi-linux/2.10.2-r0/recipe-sysroot-native/usr/bin/i586-poky-linux:/home/oe/system-images/build.apu2/tmp/work/all-poky-linux/dahdi-linux/2.10.2-r0/recipe-sysroot/usr/bin/crossscripts:/home/oe/system-images/build.apu2/tmp/work/all-poky-linux/dahdi-linux/2.10.2-r0/recipe-sysroot-native/usr/sbin:/home/oe/system-images/build.apu2/tmp/work/all-poky-linux/dahdi-linux/2.10.2-r0/recipe-sysroot-native/usr/bin:/home/oe/system-images/build.apu2/tmp/work/all-poky-linux/dahdi-linux/2.10.2-r0/recipe-sysroot-native/sbin:/home/oe/system-images/build.apu2/tmp/work/all-poky-linux/dahdi-linux/2.10.2-r0/recipe-sysroot-native/bin:/home/oe/system-images/git/poky/bitbake/bin:/home/oe/system-images/build.apu2/tmp/hosttools" opkg-build dahdi-firmware /home/oe/system-images/build.apu2/tmp/work/qemux86-poky-linux/dahdi-linux/2.10.2-r0/deploy-ipks/all' returned non-zero exit status 127

ERROR: dahdi-linux-2.10.2-r0 do_package_write_ipk: Function failed: do_package_ipk
ERROR: Logfile of failure stored in: /home/oe/system-images/build.apu2/tmp/work/qemux86-poky-linux/dahdi-linux/2.10.2-r0/temp/log.do_package_write_ipk.787195
ERROR: Task (/home/oe/system-images/git/meta-telephony/recipes-isdn/dahdi-linux/dahdi-linux_2.10.2.bb:do_package_write_ipk) failed with exit code '1'
2019-12-12 11:53:40 +01:00
Pau Espin 6c68a99f45 cfg: Disable libosmo-abis DAHDI support for ARM BTS 2019-12-03 12:33:30 +01:00
Daniel Willmann 861c37e332 Revert "Makefile: Remove oc2g from MACHINES to prevent automatic build"
This reverts commit a3e4df7d16.
make build-all will now build the oc2g images as well
2019-02-04 12:15:23 +01:00
Daniel Willmann a3e4df7d16 Makefile: Remove oc2g from MACHINES to prevent automatic build 2019-01-29 15:55:06 +01:00
Daniel Willmann 618f660026 OC2G: Build nitb image as well and fix feed URL 2019-01-29 15:12:45 +01:00
Omar Ramadan 0ef8b7a9f6 Add OC-2G target 2019-01-29 15:12:15 +01:00
Pau Espin a0e27de3bd Fix only first BUILD_TARGET element being taken (now correct fix)
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.
2018-12-18 21:13:48 +01:00
Pau Espin 20eea59978 Revert "upload-build.sh: Create upload directory before using rsync"
This reverts commit d6d0c3c644.

Revert as it's not useful because the host doesn't accept ssh
connections. In this case, ssh will return exit code 0 but no work will
be done. It can be easily tested with "ssh sysmocom-downloads ls /"
which outputs nothing. Trying to acces a console through ssh errors
directly with a message.
2018-01-19 17:09:33 +01:00
Pau Espin d6d0c3c644 upload-build.sh: Create upload directory before using rsync
Otherwise first time a machine+release combination is uploaded rsync
will fail:
sync --delete -avz tmp/deploy/ipk/ sysmocom-downloads:sysmocom-apu2/201705-nightly/ipk
sending incremental file list
rsync: mkdir "/home/generic/web-files/sysmocom-apu2/201705-nightly/ipk" failed: No such file or directory (2)
2018-01-18 15:13:53 +01:00
Pau Espin e72638bdc7 Makefile: Use CURDIR instead of PWD
Fixes setup of BASE_DIR git repositories when used like: make -C
system-images update

Related: SYS#3967
2017-10-25 19:34:20 +02:00
Pau Espin 8030258191 sysmocom-apu2: Add iu to DISTRO_FEATURES
This is so far the only machine for which we need 3g support and need to
install osmo-hnbgw.
2017-10-18 11:38:22 +02:00
Pau Espin eb2b25a433 cfg: Update PACKAGE_FEED_URIS to point to feeds.sysmocom.de 2017-10-10 16:14:11 +02:00
Pau Espin bac9e0e393 Makefile: sysmobts: Build sysmocom-nitb-rauc-image by default 2017-10-06 19:46:41 +02:00
Pau Espin ea7ed240d2 Makefile: Enable build of sysmocom-nitb-image by default 2017-10-06 19:44:17 +02:00
Pau Espin e3cbf53138 Makefile: Add GIT_BRANCH_* vars 2017-10-06 19:43:42 +02:00
Pau Espin bf116e5a61 Makefile: Build core-rauc image instead of nitb-rauc
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.
2017-09-08 14:37:52 +02:00
Holger Hans Peter Freyther 10236ec492 make-stable: Implement a working dry run with nicer output
We can not use --link-dest when doing the dryrun as it will consider
everything up to date. So create some base args and then add the right
parts to it. Skip --checksum from the cli as it makes things really
slow. Use rsync (instead of diff -r) as this will be used for the final
handling. Keep on using sub dirs as this gives higher control. We could
otherwise just syncrhonize everything.
2017-08-07 12:39:06 +08:00
Holger Hans Peter Freyther 30fac6acb8 make-stable: Gracefully skip directories that do not exist 2017-08-07 12:34:37 +08:00
Holger Hans Peter Freyther d413b7be38 make-stable: Extend it to more directories uploaded that need sync 2017-08-07 12:33:01 +08:00
Holger Hans Peter Freyther ccf6ece826 make-stable: Make it a proper list and add quotes and drop the ; 2017-08-07 12:32:37 +08:00
Holger Hans Peter Freyther 06d37a5847 Merge remote-tracking branch 'origin/master' into 201705 2017-08-06 23:31:49 +08:00
Holger Hans Peter Freyther 37871e3007 Makefile: Update location of meta-telephony 2017-08-06 23:31:27 +08:00
Holger Hans Peter Freyther e79c8f39aa Makefile: Fix the clean target by re-ordering
The sstate cleaning requires a tmp directory. So don't delete it first.
2017-08-06 23:28:47 +08:00
Holger Hans Peter Freyther a5ac1374cd upload: Not all builds have a tool directory, ignore failure
This is an intermediate band-aid for the 201705 branch and with some
more bash rules we can make this a function.
2017-08-06 23:27:51 +08:00
Holger Hans Peter Freyther b8c9e10c12 Makefile: Fix the clean target by re-ordering
The sstate cleaning requires a tmp directory. So don't delete it first.
2017-08-06 23:27:51 +08:00
Pau Espin 6c0a4e0af0 gitignore: Add downloads dir 2017-08-06 23:27:51 +08:00
Pau Espin 0f3b5cca28 gitignore: Add downloads dir 2017-08-04 12:45:10 +02:00
Holger Hans Peter Freyther 3ddf399a96 Merge remote-tracking branch 'origin/master' into 201705 2017-08-04 18:40:08 +08:00
Holger Hans Peter Freyther 5930ffa23a Add missing clean target
* 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.
2017-08-04 18:35:50 +08:00
Holger Hans Peter Freyther 023fb0e59d Server side: Fix the script and generate the machine directory first 2017-08-04 18:35:11 +08:00
Holger Hans Peter Freyther 36df2b58cd Merge remote-tracking branch 'origin/master' into 201705 2017-08-04 17:09:11 +08:00
Pau Espin 5783288504 cfg: sysmobts2100: Point feed urls to stable release 2017-08-04 11:07:17 +02:00
Pau Espin d4260e1a4a Makefile: Fix only first BUILD_TARGET element being taken 2017-08-03 19:22:07 +02:00
Pau Espin 730c6b87b4 Makefile: remove trailing whitespace 2017-08-03 19:22:07 +02:00
Pau Espin 5a077af000 Build core images instead of nitb images
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.
2017-08-03 19:22:04 +02:00
Pau Espin edbba61897 Add sysmobts2100 machine 2017-08-03 19:20:30 +02:00
Holger Hans Peter Freyther f5fbd4b8bd Add scripts and rules for server side handling
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.
2017-08-03 18:44:46 +08:00
Holger Hans Peter Freyther e3f46e8a74 Initial Makefile, config, upload script and documentation
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.
2017-08-03 16:08:14 +08:00