summaryrefslogtreecommitdiff
path: root/contrib/build_rpm.sh
blob: ceb4ca176c0ffb68c096e0269506fe19e37ec0df (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
#!/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 \
                )

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

fi

# golang-github-cpuguy83-go-md2man is needed for building man pages
# It is not available by default in CentOS 8 making it optional
if [ -z "$extra_arg" ]; then
    PKGS+=(golang-github-cpuguy83-go-md2man)
fi

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

make -f .copr/Makefile
rpmbuild --rebuild ${extra_arg:-""} podman-*.src.rpm

# Test to make sure the install of the binary works
sudo $pkg_manager -y install ~/rpmbuild/RPMS/x86_64/podman-*.x86_64.rpm


# If we built python/varlink packages, we should test their installs too
if [ $pkg_manager == "*dnf" ]; then
    sudo $pkg_manager -y install ~/rpmbuild/RPMS/noarch/python*
fi