forked from CNXTEoEorg/packages-4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcentos7.sh
executable file
·126 lines (94 loc) · 3.91 KB
/
centos7.sh
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
118
119
120
121
122
123
124
125
#!/bin/bash -e
rm -rf ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
cd `dirname $0`
DISTRO=`basename ${0%.sh}`
SPEC=$DISTRO.spec
BUILD_DIR=$HOME/build
RPMBUILDIR=$HOME/rpmbuild
SOURCES_DIR=$PWD/sources
URL=$1
PKG_VERSION=${2:-1}
LOCAL_URL=$(readlink --canonicalize "${URL}" || :)
SOURCE=`basename $URL`
PACKAGE=${SOURCE%.tar.gz}
NAME=`echo $PACKAGE|cut -d'-' -f1` # opennebula
VERSION=`echo $PACKAGE|cut -d'-' -f2` # 1.9.90
CONTACT='OpenNebula Team <contact\@opennebula.org>'
DATE=`date +"%a %b %d %Y"`
################################################################################
# Purge directories
################################################################################
rm -rf $HOME/build
rm -rf $HOME/rpmbuild
mkdir -p $HOME/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
################################################################################
# Copy source files to SOURCE dir
################################################################################
cp templates/$DISTRO/* $RPMBUILDIR/SOURCES/
################################################################################
# Change to the SOURCES dir
################################################################################
cd $RPMBUILDIR/SOURCES
################################################################################
# Copy the template
################################################################################
cp -f $DISTRO.spec.tpl $SPEC
################################################################################
# Download source package to SOURCE dir
################################################################################
rm -f $SOURCE
case $URL in
http*)
wget -q $URL || exit 1
;;
*)
cp "${LOCAL_URL}" . || exit 1
esac
################################################################################
# Copy xmlrpc-c and build_opennebula.sh sources to SOURCE dir
################################################################################
#cp $SOURCES_DIR/xmlrpc-c.tar.gz .
curl -O http://downloads.opennebula.org/extra/xmlrpc-c.tar.gz
cp $SOURCES_DIR/build_opennebula.sh .
cp $SOURCES_DIR/xml_parse_huge.patch .
################################################################################
# Substitute variables in template
################################################################################
# parse and substitute values in templates
for f in `ls`; do
for i in URL SOURCE PACKAGE NAME VERSION CONTACT ETC_FILES ETC_FILES_SUNSTONE DATE PKG_VERSION; do
VAL=$(eval "echo \"\${$i}\"")
perl -p -i -e "s|%$i%|$VAL|" $SPEC
done
done
if [ -n "$MOCK" ]; then
exit 0
fi
################################################################################
# Clean RPMs
################################################################################
rm -rf $HOME/rpmbuild/RPMS/x86_64/* $HOME/rpmbuild/SRPMS/*
################################################################################
# Build the package
################################################################################
sudo -n yum-builddep -y "$SPEC" || :
rpmbuild -ba $SPEC || exit 1
################################################################################
# Put all the RPMs into a tar.gz
################################################################################
BUILD_DIR=$HOME/build
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR/src
cp $HOME/rpmbuild/RPMS/x86_64/* $BUILD_DIR
cp $HOME/rpmbuild/SRPMS/* $BUILD_DIR/src
cd $BUILD_DIR
tar czf $NAME-$VERSION-$PKG_VERSION.tar.gz \
--owner=root --group=root \
--transform "s,^,$NAME-$VERSION-$PKG_VERSION/," \
*
################################################################################
# Move tar.gz to ~/tar
################################################################################
mkdir ~/tar
cp $NAME-$VERSION-$PKG_VERSION.tar.gz ~/tar