The download_extract_bcm() function, used for downloading and extracting
BCM toolchains, has been removed. This code is no longer needed after
simplifying the download and extraction flow as part of host package.
Do not install recommended packages, they just add unnecessary bloat. In
case any recommended package is needed, it can be specified explicitly.
Add ssh which is recommended by git and needed to clone over ssh (for
developers).
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
The function allows developers to add openWRT upstream remotes for
feeds that have them, as follows:
```
$ ./iop openwrt add-remote -f base
INFO:root:Adding openwrt remote for feed base
remote: Enumerating objects: 182540, done.
remote: Counting objects: 100% (176637/176637), done.
remote: Compressing objects: 100% (54915/54915), done.
remote: Total 162499 (delta 114492), reused 145733 (delta 101010), pack-reused 0
Receiving objects: 100% (162499/162499), 42.84 MiB | 7.54 MiB/s, done.
Resolving deltas: 100% (114492/114492), completed with 6055 local objects.
From https://git.openwrt.org/openwrt/openwrt
[...]
* [new tag] v24.10.4 -> v24.10.4
```
Without any arguments, it will attempt to add remotes for:
luci base packages routing telephony video
Note that this utility does not support adding OpenWRT remotes
to arbitrary feeds: the script needs to know the upstream URL
for the project it'll be adding remotes for.
Remove code for changing host GCC to GCC 4.8. This code has not been in
use since at least IOPSYS 3.7. Remove also the code restoring the gcc
symlinks to the default GCC if /usr/bin/gcc is set to GCC 4.8. This code
has been active all the time, but this was not noticed because it is
very uncommon to set /usr/bin/gcc to 4.8 these days (instead of changing
$CC or other means).
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
When running ./iop --help or ./iop, return 0 instead of 255. Running
--help is and displaying it successfully is not an error. Displaying
help on running without arguments can be considered intended behaviour
not justifying any error code.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Exit codes are usually 8 bit unsigned integers, so returning -1 will
return 255. Use 1 instead of -1 (255) when the subcommand given to iop
does not exist.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
When a iop subcommand fails, its return code should be propagated to the
caller rather than returning success using exit 0.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Ubuntu delete snapshots after some time what could cause a problems with
use packages with specific versions.
This commit move and adapt the Dockerfile to Debian bookworm-slim.
Advantage of Debian over Ubuntu is that that all package versions are
archived via snapshots.debian.org (which we might move to in a later
commit). Ubuntu has a similar service, but does not retain all versions.
Move coccinelle from Debian archives because the version from Debian
works equally well and is even the same version 1.1.1 in bookworm.
Compile python2.7 from source, because it is no longer supplied in the
repos because it has been EOL for a very long time.
Issue: #17329
It is supported to have profiles in both profiles and feeds/profiles. Do
not error if feeds/profiles is not defined in feeds.conf.io and thus
does not exist.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Add script that, given one or more feeds and optional git commit
reference for each feed, updates feeds.conf.io and yml-profiles in
profiles.
By default, a commit with auto-generated commit message is created.
Options are available to push the resulting commit directly or as a
GitLab MR.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Resolves an issue where some packages are unable to build with an error message similar to the one below:
make[9]: *** No rule to make target '/home/dev/iopsyswrt/build_dir/target-x86_64_musl/linux-x86_64/xtables-addons-3.21/extensions/ACCOUNT/xt_ACCOUNT.o', needed by '/home/dev/iopsyswrt/build_dir/target-x86_64_musl/linux-x86_64/xtables-addons-3.21/extensions/ACCOUNT/xt_ACCOUNT.mod'. Stop.
In particular, this should fix the x86 Docker image build.
src: https://forum.openwrt.org/t/solved-problem-compiling-22-03-4/157221
This prevents hard failures in case one does not have access to one of
the other feeds. The other feeds will be cloned by ./iop feeds_update
later.
Fixes: eba2b69adc (iop: bootstrap: return 1 on failure, 2021-05-18)
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Make /usr/bin/python point to Python 2 as it has been before
aacc789c8b ("iop: setup_host: Add python3-distutils"). This fixes
Broadcom WiFi driver compilation. For now, fix it by adding the package
back. Installing python installs python-is-python2, but by installing
python-is-python2 we avoid repeated prompts because python is not
installed (virtual package).
In the future, we may investigate compiling Broadcom SDK with Python 3
only or with the Python 2 shipped with the toolchain they provide.
Fixes: aacc789c8b ("iop: setup_host: Add python3-distutils")
Add python3-distutils which is required by meson and newer U-Boot
versions. Also explicitly specify python2 in order to prevent repeated
prompts to install it due to python being a virtual package these days.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Add new BCM toolchain needed for BCM SDK 5.04L04 to iop setup_host.
Remove old toolchains.
Add toolchain prefix dir to tar command
since tarballs does not have it now.
The problem came back so this was not the reason json.h could not be found.
Never change more than one thing at a time.
This reverts commit ce0dc9c02c.