diff --git a/make-srpms b/make-srpms index 423031bf03ceb386d6276a550d1979d028c3b07b..41c4727685b1fc19df5a00c83b3b223704861353 100755 --- a/make-srpms +++ b/make-srpms @@ -5,15 +5,6 @@ set -e DEFAULT_TARGET=$(eval $(rustc --print cfg | grep target) ; \ echo $target_arch-$target_vendor-$target_os-$target_env) -post_package() { - if [ -x post-package-$1-$2 ] ; then - $(realpath post-package-$1-$2) $3 - elif [ -x post-package-$1 ] ; then - $(realpath post-package-$1) $3 - fi -} - - export EDITOR=$(realpath $(dirname $0)/filter-toml.py) #export TMPDIR=$(mktemp -d /var/tmp/make-srpms-XXXXXX) export TMPDIR=/var/tmp/make-srpms @@ -26,10 +17,9 @@ mkdir -p "${RPMDIR}" cargo fetch --target ${DEFAULT_TARGET} cargo package cd ${TMPDIR} -for crate in $(find "${CARGO_HOME}" \ - "${PROJECTDIR}/target/package" -name '*.crate') ; do - if [[ "$(basename ${crate})" =~ ^(.*)-([^-]*)$ ]] ; then - set -x +for crate in $(find "${PROJECTDIR}/target/package" \ + "${CARGO_HOME}" -name '*.crate' ) ; do + if [[ "$(basename ${crate})" =~ ^(.*)-([^-]*).crate$ ]] ; then NAME=${BASH_REMATCH[1]} VERSION=${BASH_REMATCH[2]} rust2rpm --target fedora \ @@ -37,13 +27,18 @@ for crate in $(find "${CARGO_HOME}" \ --store-crate \ --no-dynamic-buildrequires \ ${crate} + SPEC="${TMPDIR}/rust-${NAME}.spec" sed -i -re 's/(BuildRequires:\s*)\((crate[\(][^\)]+\)).*/&\n\1\2/' \ - "${TMPDIR}/rust-${NAME}.spec" - post_package ${NAME} ${VERSION} rust-${NAME}.spec + "${SPEC}" + if [ -x ${PROJECTDIR}/post-package-${NAME}-${VERSION} ] ; then + $(realpath ${PROJECTDIR}/post-package-${NAME}-${VERSION}) ${SPEC} + elif [ -x ${PROJECTDIR}/post-package-${NAME} ] ; then + $(realpath ${PROJECTDIR}/post-package-${NAME}) ${SPEC} + fi rpmbuild -bs \ --define "_sourcedir ${TMPDIR}" \ --define "_srcrpmdir ${TMPDIR}" \ - "${TMPDIR}/rust-${NAME}.spec" + "${SPEC}" fi done mv ${TMPDIR}/*.src.rpm ${RPMDIR}/