summaryrefslogtreecommitdiffstats
path: root/dist/create-rpm
blob: 55fc56d03cd4c7a79c547daa8db4fd4d0343e092 (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash

#
# Simplistic RPM creation logic. See q.spec.template for actual spec
#
# Version number should be provided as input in the command line
#
# requires:
#   * installation of ronn
#   * installation of rpmbuild
#
# Output rpm is generated inside build/rpm/RPMS/noarch/
#

if [ $# -ne 1 ];
then
	echo 'create-rpm <version>'
	exit 1
fi

command -v ronn &>/dev/null || { echo >&2 "ronn needs to be installed."; exit 1; }
command -v rpmbuild &>/dev/null || { echo >&2 "rpmbuild needs to be installed."; exit 1; }

set -e 

base_folder=$(dirname $0)

pushd ${base_folder}

VERSION=$1
LOCAL=yes
REAL_PACKAGE_NAME=q
RPM_PACKAGE_NAME=q-text-as-data

FULL_NAME_FOLDER=${RPM_PACKAGE_NAME}-${VERSION}

rm -rf build/
rm -rf ${FULL_NAME_FOLDER}
rm -rf tmp.tar.gz

mkdir -p build/rpm
mkdir ${FULL_NAME_FOLDER}

if [ ! -e ${RPM_PACKAGE_NAME}.spec.template ];
then
	echo "spec template does not exist. can't continue"
	exit 1
fi

cat ${RPM_PACKAGE_NAME}.spec.template | sed "s/VERSION_PLACEHOLDER/$1/" > ${FULL_NAME_FOLDER}/${RPM_PACKAGE_NAME}.spec

if [ "$LOCAL" == "yes" ];
then
	echo "Creating source codebase version ${VERSION} from local copy"
	cp -r `ls -d1 ../* | egrep -v "dist|test"` ${FULL_NAME_FOLDER}/
else
	echo "Creating source codebase version ${VERSION} from github archive"
	wget -O tmp.tar.gz "https://github.com/harelba/${REAL_PACKAGE_NAME}/archive/${VERSION}.tar.gz" 
	tar xvzf tmp.tar.gz --strip-components=1 -C ${FULL_NAME_FOLDER}/
	rm -f tmp.tar.gz
fi

ronn ${FULL_NAME_FOLDER}/doc/USAGE.markdown
rm -f ${FULL_NAME_FOLDER}/doc/USAGE.html
rm -rf ${FULL_NAME_FOLDER}/dist ${FULL_NAME_FOLDER}/test

echo "Creating tar file"
TAR_FILE_NAME=${RPM_PACKAGE_NAME}-${VERSION}.tar.gz
tar cvfz ${TAR_FILE_NAME} ${FULL_NAME_FOLDER}/*

rpmbuild --define "_topdir `pwd`/build/rpm" -ta ${TAR_FILE_NAME}

rm -f ${TAR_FILE_NAME}
rm -rf ${FULL_NAME_FOLDER}

popd