--- freem/scripts/fmd-pkg-rpm 2025/04/07 05:39:23 1.2 +++ freem/scripts/fmd-pkg-rpm 2025/04/07 13:02:51 1.3 @@ -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.3 2025/04/07 13:02:51 snw Exp $ # Creates an rpm package # # @@ -25,6 +25,9 @@ # along with FreeM. If not, see . # # $Log: fmd-pkg-rpm,v $ +# 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 +81,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 +97,38 @@ else echo "[OK]" fi -ORIG_TARBALL="freem-${_fmd_freem_version.tar.gz}" +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}: decompressing source tarball..." -tar xzf "${TARBALL}" +tar xzf "${ORIG_TARBALL}" +if [[ $? != 0 ]] +then + echo "[FAIL]" + exit 1 +else + echo "[OK]" +fi + +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]" @@ -104,7 +139,7 @@ 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 +151,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 +191,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}" +