mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-20 13:03:50 +00:00
add `genrpm.sh' to build rpm easily
This commit is contained in:
Executable
+65
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
show_help()
|
||||
{
|
||||
echo -e "`basename $0` [option] [argument]"
|
||||
echo
|
||||
echo -e "Options:"
|
||||
echo -e " -h show this help."
|
||||
echo -e " -v with argument version(2.1.4 by default)."
|
||||
echo -e " -f with argument format(tar.xz by default) used by git archive."
|
||||
echo
|
||||
echo -e "Examples:"
|
||||
echo -e " to build base on version \`2.1.4' with format \`tar.xz', run:"
|
||||
echo -e " `basename $0` -f tar.xz -v 2.1.4"
|
||||
}
|
||||
|
||||
while getopts "hv:f:" opt
|
||||
do
|
||||
case ${opt} in
|
||||
h)
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
v)
|
||||
if [ "${OPTARG}" = v* ]; then
|
||||
version=${OPTARG#"v"}
|
||||
else
|
||||
version=${OPTARG}
|
||||
fi
|
||||
;;
|
||||
f)
|
||||
format=${OPTARG}
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
get_att_val()
|
||||
{
|
||||
att=$1
|
||||
val=$2
|
||||
|
||||
if [ -z $(eval echo \$$att) ]; then
|
||||
eval $att=$val
|
||||
fi
|
||||
}
|
||||
|
||||
get_att_val version "2.1.4"
|
||||
get_att_val format "tar.xz"
|
||||
|
||||
name="shadowsocks-libev"
|
||||
spec_name="shadowsocks-libev.spec"
|
||||
|
||||
pushd `git rev-parse --show-toplevel`
|
||||
git archive v${version} --format=${format} --prefix=${name}-${version}/ -o rpm/SOURCES/${name}-${version}.${format}
|
||||
pushd rpm
|
||||
|
||||
sed -i -e "s/^\(Version: \).*$/\1${version}/" \
|
||||
-e "s/^\(Source0: %{name}-%{version}\.\).*$/\1${format}/" \
|
||||
SPECS/${spec_name}
|
||||
|
||||
rpmbuild -bb SPECS/${spec_name} --define "%_topdir `pwd`"
|
||||
Reference in New Issue
Block a user