You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/usr/bin/env bash
set -e
NAME=shadowsocks-libev
SELF=$(readlink -f -- "$0") HERE=$(dirname -- "$SELF")
SOURCES="${HERE}"/SOURCES SPEC_TEMPLATE="${HERE}"/SPECS/${NAME}.spec.in SPEC_FILE="${SPEC_TEMPLATE%%.in}"
GIT_VERSION=$("${HERE}"/../scripts/git_version.sh)
OPT_OUTDIR="${HERE}/SRPMS" OPT_USE_SYSTEM_LIB=0 OUT_BUILD_RPM=0
version=$(echo ${GIT_VERSION} | cut -d' ' -f1) release=$(echo ${GIT_VERSION} | cut -d' ' -f2)
name_version=${NAME}-${version}-${release} source_name=${name_version}.tar.gz
archive() { "${HERE}"/../scripts/git_archive.sh -o "${SOURCES}" -n ${name_version} }
build_src_rpm() { rpmbuild -bs "${SPEC_FILE}" \
--undefine "dist" \
--define "%_topdir ${HERE}" \
--define "%_srcrpmdir ${OPT_OUTDIR}" }
build_rpm() { rpmbuild --rebuild "${OPT_OUTDIR}"/${name_version}.src.rpm \
--define "%_topdir ${HERE}" \
--define "%use_system_lib ${OPT_USE_SYSTEM_LIB}" }
create_spec() { sed -e "s/@NAME@/${NAME}/g" \
-e "s/@VERSION@/${version}/g" \
-e "s/@RELEASE@/${release}/g" \
-e "s/@SOURCE@/${source_name}/g" \
-e "s/@NAME_VERSION@/${name_version}/g" \
"${SPEC_TEMPLATE}" > "${SPEC_FILE}" }
show_help() { echo -e "$(basename $0) [OPTION...]" echo -e "Create and build shadowsocks-libev SRPM" echo echo -e "Options:" echo -e " -h show this help." echo -e " -b use rpmbuld to build resulting SRPM" echo -e " -s use system shared libraries (RPM only)" echo -e " -o output directory" }
while getopts "hbso:" opt do case ${opt} in h) show_help exit 0 ;; b) OPT_BUILD_RPM=1 ;; s) OPT_USE_SYSTEM_LIB=1 ;; o) OPT_OUTDIR=$(readlink -f -- $OPTARG) ;; *) show_help exit 1 ;; esac done
create_spec archive build_src_rpm if [ "${OPT_BUILD_RPM}" = "1" ] ; then build_rpm fi
|