--- freem/scripts/fmd-pkg-rpm 2025/04/07 05:39:23 1.2 +++ freem/scripts/fmd-pkg-rpm 2025/04/07 21:50:11 1.4 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # -# $Id: fmd-pkg-rpm,v 1.2 2025/04/07 05:39:23 snw Exp $ +# $Id: fmd-pkg-rpm,v 1.4 2025/04/07 21:50:11 snw Exp $ # Creates an rpm package # # @@ -25,6 +25,12 @@ # along with FreeM. If not, see . # # $Log: fmd-pkg-rpm,v $ +# Revision 1.4 2025/04/07 21:50:11 snw +# Fix bug in fmd-pkg-rpm +# +# Revision 1.3 2025/04/07 13:02:51 snw +# Initial working version of fmd-pkg-rpm +# # Revision 1.2 2025/04/07 05:39:23 snw # Further work on fmd rpm porting # @@ -78,7 +84,11 @@ then fi fi - + +ORIG_TARBALL="freem-${_fmd_freem_version}.tar.gz" +ORIG_DIR="freem-${_fmd_freem_version}/" +NEW_DIR="freem-${RPM_RELEASE}/" +NEW_TARBALL="freem-${RPM_RELEASE}.tar.gz" echo -n "${PGM}: running 'make dist' to prepare source tarball..." make dist &>> "${LOGFILE}" @@ -90,10 +100,28 @@ else echo "[OK]" fi -ORIG_TARBALL="freem-${_fmd_freem_version.tar.gz}" +if [[ "${ORIG_TARBALL}" != "${NEW_TARBALL}" ]] +then + RENAME=1 +else + RENAME=0 +fi + +if [[ $RENAME == 1 ]] +then + echo -n "${PGM}: cleaning up..." + rm -rf "${OLD_DIR}" "${NEW_DIR}" "${NEW_TARBALL}" &>> /dev/null + if [[ $? != 0 ]] + then + echo "[FAIL]" + exit 1 + else + echo "[OK]" + fi +fi echo -n "${PGM}: decompressing source tarball..." -tar xzf "${TARBALL}" +tar xzf "${ORIG_TARBALL}" if [[ $? != 0 ]] then echo "[FAIL]" @@ -102,9 +130,32 @@ else echo "[OK]" fi +if [[ $RENAME == 1 ]] +then + echo -n "${PGM}: renaming ${ORIG_DIR} -> ${NEW_DIR}..." + mv "${ORIG_DIR}" "${NEW_DIR}" &>> /dev/null + if [[ $? != 0 ]] + then + echo "[FAIL]" + exit 1 + else + echo "[OK]" + fi + + + echo -n "${PGM}: generating ${NEW_TARBALL}..." + tar cf "${NEW_TARBALL}" "${NEW_DIR}" &>> /dev/null + if [[ $? != 0 ]] + then + echo "[FAIL]" + exit 1 + else + echo "[OK]" + fi +fi echo -n "${PGM}: uploading source tarball..." -scp freem*.tar.gz jpw@freem.coherent-logic.com://var/www/freem.coherent-logic.com/downloads/ &>> "${LOGFILE}" +scp "${NEW_TARBALL}" jpw@freem.coherent-logic.com://var/www/freem.coherent-logic.com/downloads/ &>> "${LOGFILE}" if [[ $? != 0 ]] then echo "[FAIL]" @@ -116,6 +167,27 @@ fi echo "${PGM}: performing substitutions on specfile..." cat scripts/rpm/freem.spec.in | sed "s/FREEM_VERSION/${RPM_RELEASE}/g" > scripts/rpm/freem.spec +RPMROOT="${HOME}/rpmbuild" +echo -n "${PGM}: removing ${RPMROOT}..." +rm -rf "${RPMROOT}" &>> "${LOGFILE}" +if [[ $? != 0 ]] +then + echo "[FAIL]" + exit 1 +else + echo "[OK]" +fi + +echo -n "${PGM}: preparing directory structure..." +rpmdev-setuptree &>> "${LOGFILE}" +if [[ $? != 0 ]] +then + echo "[FAIL]" + exit 1 +else + echo "[OK]" +fi + echo -n "${PGM}: running spectool..." spectool -g -R scripts/rpm/freem.spec &>> "${LOGFILE}" if [[ $? != 0 ]] @@ -135,3 +207,49 @@ then else echo "[OK]" fi + +echo -n "${PGM}: cleaning up..." +rm -rf "${OLD_DIR}" "${NEW_DIR}" "${NEW_TARBALL}" &>> /dev/null +if [[ $? != 0 ]] +then + echo "[FAIL]" + exit 1 +else + echo "[OK]" +fi + +echo -n "${PGM}: copying rpm packages..." +cp ${RPMROOT}/RPMS/${_fmd_arch}/*.rpm . &>> "${LOGFILE}" +if [[ $? != 0 ]] +then + echo "[FAIL]" + exit 1 +else + echo "[OK]" +fi + +echo -n "${PGM}: copying source rpm packages..." +cp ${RPMROOT}/SRPMS/*.rpm . &>> "${LOGFILE}" +if [[ $? != 0 ]] +then + echo "[FAIL]" + exit 1 +else + echo "[OK]" +fi + +RPM_BUILT=$(ls -1 *.rpm) + +BLDLST="" +for PKGFILE in ${RPM_BUILT} +do + if [[ "${BLDLST}" == "" ]] + then + BLDLST="${PKGFILE}" + else + BLDLST="${BLDLST} ${PKGFILE}" + fi +done + +echo "${PGM}: built ${BLDLST}" +