Software Requirements
The principal release engineer runs Fedora (on this hardware), community-contributed instructions for other platforms are listed here.
@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-engine-devel
p7zip
parallel
perl-FindBin
python2.7
python3.12
repo
secilc
zlib.i686
zlib-ng-compat.i686
zopfli
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} $@