Diff for /freem/scripts/fmd-pkg-dpkg between versions 1.1 and 1.3

version 1.1, 2025/04/06 03:38:05 version 1.3, 2025/04/07 00:45:52
Line 25 Line 25
 #   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.  #   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
 #  #
 #   $Log$  #   $Log$
   #   Revision 1.3  2025/04/07 00:45:52  snw
   #   Enhance fmd-pkg-dpkg to auto-generate the debian/changelog file from the FreeM ChangeLog
   #
   #   Revision 1.2  2025/04/06 05:01:21  snw
   #   Initial working implementation of fmd package for dpkg
   #
 #   Revision 1.1  2025/04/06 03:38:05  snw  #   Revision 1.1  2025/04/06 03:38:05  snw
 #   Prepare for adding packaging functionality to fmd  #   Prepare for adding packaging functionality to fmd
 #  #
Line 36 Line 42
 PGM=$(basename $0)  PGM=$(basename $0)
 SCRIPT_DIR=$(dirname "$0")  SCRIPT_DIR=$(dirname "$0")
   
 if [[ $# != 2 ]]  source "${SCRIPT_DIR}/_fmd_common.bash"
   
   if [[ $# != 1 ]]
 then  then
     echo "fmd-pkg-dpkg:  must run from fmd package"      echo "${PGM}:  must run from fmd package"
     exit 1      exit 1
 fi  fi
   
 FMD=$1  FMD=$1
   
 FREEM_VERSION="${_fmd_freem_version}"  FREEM_VERSION="${_fmd_freem_version}"
 FREEM_VERSION_MOD=$(echo "${FREEM_VERSION}" | sed 's/-/./g')  FREEM_VERSION_MOD=$(echo "${FREEM_VERSION}" | sed 's/-/./g')
 FDPKG_VERSION=$2  export DEBEMAIL="${_fmd_email}"
   export DEBFULLNAME="${_fmd_fullname}"
   
   echo -n "${PGM}:  getting debian package release for ${_fmd_freem_version}... "
   FDPKG_VERSION=$(_fmd_next_dpkg)
   echo "[${FDPKG_VERSION}]"
   echo "${PGM}:  package version is ${FREEM_VERSION}-${FDPKG_VERSION}"
   
 TMPDIR="/tmp/fmd-pkg-dpkg"  TMPDIR="/tmp/fmd-pkg-dpkg"
 rm -rf "${TMPDIR}"  rm -rf "${TMPDIR}"
   mkdir -p "${TMPDIR}"
   
   LOGFILE="${TMPDIR}/pkgbuild.log"
   echo "${PGM}:  logging to ${LOGFILE}"
 INFILE="freem-${FREEM_VERSION}.tar.gz"  INFILE="freem-${FREEM_VERSION}.tar.gz"
 OUTFILE="${TMPDIR}/freem_${FREEM_VERSION_MOD}.orig.tar.gz"  OUTFILE="${TMPDIR}/freem_${FREEM_VERSION_MOD}.orig.tar.gz"
 TARDIR="${TMPDIR}/freem-${FREEM_VERSION_MOD}"  TARDIR="${TMPDIR}/freem-${FREEM_VERSION_MOD}"
   
   if [[ -f "${INFILE}" ]]
   then
       echo "${PGM}:  removing ${INFILE}"
       rm -f "${INFILE}"
   fi
   
   echo -n "${PGM}:  running 'make dist' to prepare source tarball..."
   make dist &>> "${LOGFILE}"
   if [[ $? != 0 ]]
   then
       echo "[FAIL]"
       exit 1
   else
       echo "[OK]"
   fi
   
   echo "${PGM}:  moving ${INFILE} to ${OUTFILE}..."
   mv "${INFILE}" "${OUTFILE}"
   
 echo -n "${PGM}:  extracting ${OUTFILE} to ${TARDIR}..."  echo "${PGM}:  extracting ${OUTFILE} to ${TARDIR}..."
 tar zxf "${OUTFILE}" -C "${TMPDIR}"  tar zxf "${OUTFILE}" -C "${TMPDIR}"
 if [[ "${FREEM_VERSION}" != "${FREEM_VERSION_MOD}" ]]  if [[ "${FREEM_VERSION}" != "${FREEM_VERSION_MOD}" ]]
 then  then
     mv "${TMPDIR}/freem-${FREEM_VERSION}" "${TMPDIR}/freem-${FREEM_VERSION_MOD}"      mv "${TMPDIR}/freem-${FREEM_VERSION}" "${TMPDIR}/freem-${FREEM_VERSION_MOD}"
 fi  fi
   
   echo "${PGM}:  generating Debian changelog..."
   TMP_CHLOG=$(mktemp)
   ${FMD} changelog --minimal > "${TMP_CHLOG}"
   
   pushd scripts &> /dev/null
   rm debian/changelog
   dch --create -v "${FREEM_VERSION_MOD}-${FDPKG_VERSION}" -u low --package freem --empty &>> "${LOGFILE}"
   
   while read LINE
   do
       dch --append "${LINE}" &>> "${LOGFILE}"
   done < "${TMP_CHLOG}"
   
   rm -f "${TMP_CHLOG}"
   
   dch --release "Release the package" &>> "${LOGFILE}"
   
   popd &> /dev/null
   
   echo -n "${PGM}:  copying Debian packaging control info to ${TARDIR}... "
   cp -r scripts/debian "${TARDIR}/"
 if [[ $? == 0 ]]  if [[ $? == 0 ]]
 then  then
     echo "[OK]"      echo "[OK]"
Line 70  else Line 126  else
     exit 1      exit 1
 fi  fi
   
 echo -n "${PGM}:  copying Debian packaging control info to ${TARDIR}..."  sed -i "s/FREEM_VERSION/${FREEM_VERSION}-${FDPKG_VERSION}/g" "${TARDIR}/debian/control"
 cp -r debian "${TARDIR}/"  
   echo -n "${PGM}:  building the packages (this may take awhile)..."
   cd "${TARDIR}"
   export DEB_BUILD_MAINT_OPTIONS=hardening=-fortify,-format,-stackprotector,-stackprotectorstrong
   debuild -us -uc &>> "${LOGFILE}"
 if [[ $? == 0 ]]  if [[ $? == 0 ]]
 then  then
     echo "[OK]"      echo "[OK]"
Line 80  else Line 140  else
     exit 1      exit 1
 fi  fi
   
 sed -i "s/FREEM_VERSION/${FREEM_VERSION_MOD}-${FDPKG_VERSION}/g" "${TARDIR}/debian/changelog"  cd - &> /dev/null
 sed -i "s/FREEM_VERSION/${FREEM_VERSION}-${FDPKG_VERSION}/g" "${TARDIR}/debian/control"  mv ${TMPDIR}/*.deb .
   
 echo "${PGM}:  building the package..."  DPKG_BUILT=$(ls -1 *.deb)
 cd "${TARDIR}"  
 export DEB_BUILD_MAINT_OPTIONS=hardening=-fortify,-format,-stackprotector,-stackprotectorstrong  BLDLST=""
 debuild -us -uc  for PKGFILE in ${DPKG_BUILT}
   do
       if [[ "${BLDLST}" == "" ]]
       then
           BLDLST="${PKGFILE}"
       else
           BLDLST="${BLDLST} ${PKGFILE}"
       fi
   done
   
 echo "${PGM}:  the package is in ${TMPDIR}"  echo "${PGM}:  built ${BLDLST}"
   
 rm -f ${TMPDIR}/*dbgsym*  
 scp ${TMPDIR}/*.deb "${FDSSH}://var/www/freem.coherent-logic.com/downloads/binaries/debian/"   

Removed from v.1.1  
changed lines
  Added in v.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>