build_rpm.sh
1.86 KB
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
#!/bin/bash
if [ "$TRAVIS_BRANCH" == "master" ]; then
repo="colab-unstable"
elif [ "$TRAVIS_BRANCH" == "stable" ]; then
repo="colab-stable"
elif [ "$TRAVIS_BRANCH" == "test" ]; then
repo="colab-testing"
else
exit 0;
fi
repo_url="https://packagecloud.io/seocam/$repo/el/7/x86_64"
version=`python setup.py --version`
python setup.py sdist
sudo apt-get install rinse > /dev/null
sudo rinse --arch="amd64" --distribution="centos-7" --directory="/tmp/centos-7" --config="ci/rinse.conf" --pkgs-dir="ci/"
sudo mkdir -p /tmp/centos-7/root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
sudo cp dist/colab-*.tar.gz /tmp/centos-7/root/rpmbuild/SOURCES/
sudo cp colab.spec /tmp/centos-7/root/rpmbuild/SPECS/
sudo cp ci/colab.repo /tmp/centos-7/etc/yum.repos.d/
sudo cp ci/softwarepublico.key /tmp/centos-7/etc/yum.repos.d/
# Commands on chroot
sudo chroot /tmp/centos-7/ yum install rpm-build -y > /dev/null
sudo chroot /tmp/centos-7/ yum install python-virtualenv colab-deps -y /dev/null
sudo chroot /tmp/centos-7/ repoquery --repofrompath="$repo,$repo_url" --repoid=$repo colab --info > /tmp/colab-latest-info
latest_version=`grep -i version /tmp/colab-latest-info | awk '{ print $3 }'`
latest_release=`grep -i release /tmp/colab-latest-info | awk '{ print $3 }'`
if [ "$version" == "$latest_version" ]; then
# Using awk because it can deal with floating points
release=`echo $latest_release | awk '{ $1++; print $1 }'`
else
release=1
fi
echo "Building package: $version-$release"
sudo HOME=/root chroot /tmp/centos-7/ rpmbuild -ba /root/rpmbuild/SPECS/colab.spec --define="release ${release}"
sudo cp /tmp/centos-7/root/rpmbuild/RPMS/noarch/colab-$version-$release.noarch.rpm .
## Send to packagecloud
gem install package_cloud
package_cloud yank seocam/$repo/el/7 colab-$latest_version-$latest_release.noarch.rpm
package_cloud push seocam/$repo/el/7 colab-$version-$release.noarch.rpm