aboutsummaryrefslogtreecommitdiff
path: root/contrib/cirrus/packer/fedora_setup.sh
blob: 38b9e68607783f513680685573ea2ebf0e2594ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/bin/bash

# This script is called by packer on the subject fedora VM, to setup the podman
# build/test environment.  It's not intended to be used outside of this context.

set -e

# Load in library (copied by packer, before this script was run)
source /tmp/libpod/$SCRIPT_BASE/lib.sh

req_env_var SCRIPT_BASE PACKER_BUILDER_NAME GOSRC

install_ooe

export GOPATH="$(mktemp -d)"
trap "sudo rm -rf $GOPATH" EXIT

ooe.sh sudo dnf update -y

echo "Enabling updates-testing repository"
ooe.sh sudo dnf install -y 'dnf-command(config-manager)'
ooe.sh sudo dnf config-manager --set-enabled updates-testing

echo "Installing general build/test dependencies"
ooe.sh sudo dnf install -y \
    atomic-registries \
    autoconf \
    automake \
    bash-completion \
    bats \
    bridge-utils \
    btrfs-progs-devel \
    bzip2 \
    conmon \
    container-selinux \
    containernetworking-plugins \
    containers-common \
    criu \
    device-mapper-devel \
    emacs-nox \
    file \
    findutils \
    fuse3 \
    fuse3-devel \
    gcc \
    git \
    glib2-devel \
    glibc-static \
    gnupg \
    go-md2man \
    golang \
    golang-github-cpuguy83-go-md2man \
    gpgme-devel \
    iproute \
    iptables \
    jq \
    libassuan-devel \
    libcap-devel \
    libmsi1 \
    libnet \
    libnet-devel \
    libnl3-devel \
    libseccomp \
    libseccomp-devel \
    libselinux-devel \
    libtool \
    libvarlink-util \
    lsof \
    make \
    msitools \
    nmap-ncat \
    ostree \
    ostree-devel \
    pandoc \
    podman \
    procps-ng \
    protobuf \
    protobuf-c \
    protobuf-c-devel \
    protobuf-compiler \
    protobuf-devel \
    protobuf-python \
    python \
    python2-future \
    python3-dateutil \
    python3-psutil \
    python3-pytoml \
    runc \
    selinux-policy-devel \
    slirp4netns \
    unzip \
    vim \
    which \
    xz \
    zip


# Ensure there are no disruptive periodic services enabled by default in image
systemd_banish

sudo /tmp/libpod/hack/install_catatonit.sh

# Same script is used for several related contexts
case "$PACKER_BUILDER_NAME" in
    xfedora*)
        echo "Configuring CGroups v2 enabled on next boot"
        sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"
        sudo dnf install -y crun
        ;&  # continue to next matching item
    *)
        echo "Finalizing $PACKER_BUILDER_NAME VM image"
        ;;
esac

rh_finalize

echo "SUCCESS!"