Software Requirements
The principal release engineer runs Fedora (on this hardware), community-contributed instructions for other platforms are listed here.
@development-tools@fedora-packagerbinutils-aarch64-linux-gnubinutils-arm-linux-gnubinutils-x86_64-linux-gnubrotlicargoccachejavajava-develjava-17-openjdk-develgcc-c++git-filter-repoglibc.i686gperflibstdc++.i686libxcrypt-compatncurses-compat-libs-6.4ninjajava-1.8.0-openjdk-headlessjava-17-openjdk-headlessjava-21-openjdk-headlessopenssl-developenssl-engine-develp7zipparallelperl-FindBinpython2.7python3.12reposecilczlib.i686zlib-ng-compat.i686zopfli
To do this in one fell swoop:
One-liner
$ sudo dnf -y install \
@development-tools \
@fedora-packager \
binutils-aarch64-linux-gnu \
binutils-arm-linux-gnu \
binutils-x86_64-linux-gnu \
brotli \
cargo \
ccache \
java \
java-devel \
java-17-openjdk-devel \
gcc-c++ \
git-filter-repo \
glibc.i686 \
gperf \
libstdc++.i686 \
libxcrypt-compat \
ncurses-compat-libs-6.4 \
ninja \
java-1.8.0-openjdk-headless \
java-17-openjdk-headless \
java-21-openjdk-headless \
openssl-devel \
openssl-devel-engine \
p7zip \
parallel \
perl-FindBin \
python2.7 \
python3.12 \
repo \
secilc \
zlib.i686 \
zlib-ng-compat.i686 \
zopfli
Further, you may wish to wrap the repo command like so:
$ cat ~/bin/repo
#!/bin/bash
if [ -x "$PWD/.repo/repo/repo" ]; then
repo_cmd="$PWD/.repo/repo/repo"
else
repo_cmd=/bin/repo
fi
if [ -z "${repo_cmd}" ]; then
echo "No such command repo"
exit 1
fi
${repo_cmd} $@