summaryrefslogtreecommitdiff
path: root/contrib/build_rpm.sh
blob: 088d8b7a5e65c8d64c0ddc7f44b0337959fa32cf (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
#!/bin/bash
set -euxo pipefail

# returned path can vary: /usr/bin/dnf /bin/dnf ...
pkg_manager=`command -v dnf yum | head -n1`
echo "Package manager binary: $pkg_manager"


if [[ $pkg_manager == *yum ]]; then
    echo "[virt7-container-common-candidate]
name=virt7-container-common-candidate
baseurl=https://cbs.centos.org/repos/virt7-container-common-candidate/x86_64/os/
enabled=1
gpgcheck=0" > /etc/yum.repos.d/container_virt.repo
fi

declare -a PKGS=(device-mapper-devel \
                git \
                glib2-devel \
                glibc-static \
                golang \
                gpgme-devel \
                libassuan-devel \
                libseccomp-devel \
                libselinux-devel \
                make \
                rpm-build \
                go-compilers-golang-compiler \
                systemd-devel \
                )

if [[ $pkg_manager == *dnf ]]; then
    PKGS+=(python3-devel \
        python3-varlink \
        )
    # btrfs-progs-devel is not available in CentOS/RHEL-8
    if ! grep -i -q 'Red Hat\|CentOS' /etc/redhat-release; then
        PKGS+=(btrfs-progs-devel)
    fi
    # disable doc until go-md2man rpm becomes available
    # disable debug to avoid error: Empty %files file ~/rpmbuild/BUILD/libpod-.../debugsourcefiles.list
    export extra_arg="--without doc --without debug"
else
    if ! grep -i -q 'Red Hat\|CentOS' /etc/redhat-release; then
        PKGS+=(golang-github-cpuguy83-go-md2man)
    fi
fi

echo ${PKGS[*]}
sudo $pkg_manager install -y ${PKGS[*]}

make -f .copr/Makefile
# workaround for https://github.com/containers/libpod/issues/4627
if [ -d ~/rpmbuild/BUILD ]; then
    chmod -R +w ~/rpmbuild/BUILD
fi

rpmbuild --rebuild ${extra_arg:-} podman-*.src.rpm