]> piware.de Git - bin.git/blob - build-devtoolbox
7b5a0050cbbf6d2d33f289fb23fedc0c91ed11a3
[bin.git] / build-devtoolbox
1 #!/bin/sh
2 set -eux
3 NAME=devel
4
5 if [ -n "${TOOLBOX_RELEASE:-}" ]; then
6     RELEASE="--release $TOOLBOX_RELEASE"
7     NAME="$NAME-$TOOLBOX_RELEASE"
8 else
9     RELEASE=''
10 fi
11
12 toolbox rm --force $NAME || true
13 yes | toolbox create $RELEASE -c $NAME
14
15 # install cockpit's build deps and other development tools
16 toolbox run -c "$NAME" sh -exc '
17 if [ ! -e /etc/resolv.conf ]; then
18     sudo ln -sfn /run/host/monitor/resolv.conf /etc/resolv.conf
19 fi
20
21 # this just refuses to rpm -i normally
22 sudo dnf install -y cpio
23 rpm2cpio ~martin/Dokumente/Arbeit/RedHat/redhat-internal-cert-install-0.1-7.el7.csb.noarch.rpm | sudo cpio -id --directory=/ --verbose "./etc/pki/*"
24 sudo update-ca-trust
25
26 (cd /etc/yum.repos.d; sudo curl -O --location https://download.devel.redhat.com/rel-eng/RCMTOOLS/rcm-tools-fedora.repo)
27 # HACK: no rcm-tools for F31 yet
28 sudo sed -i "s/\$releasever/30/" /etc/yum.repos.d/rcm-tools-fedora.repo
29
30 # HACK: installing selinux-policy (through transitive builddep cockpit dep) breaks toolbox; https://bugzilla.redhat.com/show_bug.cgi?id=1768075
31 sudo dnf install -y selinux-policy
32 rpm -ql selinux-policy | sudo xargs rm -f || true
33
34 sudo dnf builddep -y cockpit
35 sudo dnf install -y make npm fontconfig git valgrind chromium \
36     libvirt-daemon-kvm libvirt-client python3-libvirt \
37     virt-viewer virt-install libappstream-glib \
38     expect python3-pycodestyle python3-pyflakes \
39     fedpkg rhpkg /usr/bin/oc /usr/bin/genisoimage \
40     man-pages socat wget genisoimage vim-enhanced \
41     ansible standard-test-roles rsync strace diffstat \
42     pwgen glibc-langpack-en waiverdb-cli
43
44 sudo dnf debuginfo-install -y glib2 glibc libssh gnutls
45
46 sudo dnf clean packages
47
48 sudo pip install awscli
49
50 # unbreak kerberos; https://github.com/debarshiray/toolbox/issues/235
51 cat <<EOF | sudo tee /etc/krb5.conf.d/0_file_ccache
52 [libdefaults]
53     default_ccache_name = FILE:/tmp/krb5.ccache
54 EOF
55
56 # set up waiverdb
57 printf "[waiverdb]\nauth_method=Kerberos\nresultsdb_api_url=https://resultsdb-api.engineering.redhat.com/api/v2.0\napi_url=https://waiverdb.engineering.redhat.com/api/v1.0\nkrb_principal=HTTP/waiverdb.engineering.redhat.com@REDHAT.COM\n" | sudo tee /etc/waiverdb/client.conf
58 printf "[libdefaults]\n    dns_canonicalize_hostname = false\n" | sudo tee /etc/krb5.conf.d/waiverdb-canonicalize-hostname
59 '