-
Notifications
You must be signed in to change notification settings - Fork 1
/
buildzthinrpm_rhel
84 lines (73 loc) · 2.45 KB
/
buildzthinrpm_rhel
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
#!/bin/sh
# Copyright 2017 IBM Corp.
# Copyright 2024 Contributors to the Open Mainframe Project.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
#------------------------------------------------------------------------------
# Build rpm for zvm sdk
if [[ -z "$1" ]]; then
{
echo "A branch must be specified"
exit 1
}
fi
BRANCH=$1
BUILD=~/rpmbuild
REPO=https://github.com/openmainframeproject/feilong
REPOTOP=feilong
ZTHINTOP=zthin-parts
# Check whether branch exists or not
EXISTS=$(git ls-remote -h $REPO | grep "$BRANCH"$ | wc -l )
if [ "$EXISTS" == 0 ] ; then
{
echo "Branch $BRANCH does not exist on openmainframeproject/feilong"
echo "Try choosing one of the following branches: "
git ls-remote --heads $REPO | awk -F "heads/" '{print $2}'
exit 1
}
fi
# Prepare environment
rm -rf $BUILD/variable 2>/dev/null
mkdir -p $BUILD/variable 2>/dev/null
echo "%_topdir $BUILD" > $BUILD/variable/.rpmmacros
cp $BUILD/variable/.rpmmacros $HOME 2>/dev/null
# Create build directories
rm -rf $BUILD/BUILD 2>/dev/null
rm -rf $BUILD/RPMS 2>/dev/null
rm -rf $BUILD/SRPMS 2>/dev/null
mkdir -p $BUILD 2>/dev/null
mkdir -p $BUILD/BUILD 2>/dev/null
mkdir -p $BUILD/RPMS 2>/dev/null
mkdir -p $BUILD/SOURCES 2>/dev/null
mkdir -p $BUILD/SPECS 2>/dev/null
mkdir -p $BUILD/SRPMS 2>/dev/null
mkdir -p $BUILD/OUTPUT 2>/dev/null
# mkdir -p $SMCLIOPTDIR 2>/dev/null
# Checkout the branch
echo "===>Erasing old $REPOTOP, then cloning: $REPO -b $BRANCH"
cd $BUILD 2> /dev/null
rm -rf ./$REPOTOP
git clone $REPO -b $BRANCH
cd - 2>/dev/null
# copy files to build directory
cp ./zthin_rhel.spec $BUILD/SPECS/
cp ./zthinlogs $BUILD/$REPOTOP/$ZTHINTOP
cd $BUILD/$REPOTOP
tar czf $BUILD/SOURCES/zthin-build.tar.gz $ZTHINTOP
echo "===>Switch back to zthin-parts, do: rpmbuild -ba -v $BUILD/SPECS/zthin_rhel.spec"
cd $BUILD/$REPOTOP/$ZTHINTOP 2>/dev/null
pwd
rpmbuild -ba -v $BUILD/SPECS/zthin_rhel.spec
# Erase build directories under /var/tmp
rm -rf /var/tmp/zthin-*