--- trunk/mage/usr/lib/mage/pkgbuild_dir.sh 2005/10/21 14:23:59 272 +++ tags/mage-0_4_23/usr/lib/mage/pkgbuild_dir.sh 2011/01/28 21:30:39 1210 @@ -4,31 +4,57 @@ # builds packages from given dir # -# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/pkgbuild_dir.sh,v 1.9 2005-10-21 14:23:59 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/pkgbuild_dir.sh,v 1.15 2007-03-19 19:24:46 niro Exp $ + +# set default user mage.rc +: ${MAGERC="/etc/mage.rc"} PKGSUFFIX="mpk" PKGNAME="$1" SEARCHDIRS="$2" MLIBDIR=/usr/lib/mage +## only for tests -> normally in /etc/rc.d/init.d/functions COLRED="\033[1;6m\033[31m" COLGREEN="\033[1;6m\033[32m" +COLYELLOW="\033[1;6m\033[33m" +COLBLUE="\033[1;6m\033[34m" +COLMAGENTA="\033[1;6m\033[35m" +COLWHITE="\033[1;6m\033[37m" +COLGRAY="\033[0;6m\033[37m" +COLBOLD="\033[1m" COLDEFAULT="\033[0m" +if [[ ${NOCOLORS} = true ]] +then + COLRED="" + COLGREEN="" + COLYELLOW="" + COLBLUE="" + COLMAGENTA="" + COLWHITE="" + COLGRAY="" + COLBOLD="" + COLDEFAULT="" +fi + # export default C locale export LC_ALL=C [[ -z $1 ]] && echo "No package name given. Aborting." && exit 1 [[ -z $2 ]] && echo "No source dir given. Aborting." && exit 1 -if [ -f /etc/mage.rc ] +source /etc/mage.rc.global +[[ -f ${MAGERC} ]] && source ${MAGERC} +source ${MLIBDIR}/mage4.functions.sh + +# set PKGDIR and BUILDDIR and BINDIR to MROOT +if [[ -n ${MROOT} ]] then - source /etc/mage.rc -else - echo "Your /etc/mage.rc is missing. Aborting." - exit 1 + export PKGDIR=${MROOT}/${PKGDIR} + export BUILDDIR=${MROOT}/${BUILDDIR} + export BINDIR=${MROOT}/${BINDIR} fi -source ${MLIBDIR}/mage4.functions.sh build_preinstall() { @@ -47,8 +73,7 @@ build_postinstall() { - echo - echo "Fetching files for package '${PKGNAME}' ..." + echo -e "${COLBLUE}===${COLGREEN} fetching files for package '${PKGNAME}' ...${COLDEFAULT}" # md5sums will only be generated for files: $M_MD5SUM @@ -113,11 +138,19 @@ ;; "block special file") - echo "${I#${SEARCHDIRS}*}§${FILEPOSIX}" >> ${BUILDDIR}/${PKGNAME}/.pipes + echo "${I#${SEARCHDIRS}*}§${FILEPOSIX}§${FILEOWNER}§${FILEGROUP}" >> ${BUILDDIR}/${PKGNAME}/.pipes ;; "character special file") - echo "${I#${SEARCHDIRS}*}§${FILEPOSIX}" >> ${BUILDDIR}/${PKGNAME}/.char + # convert hex2dec + # printf '%d' 0x12 -> 18 + local CHAR_MAJOR="$(printf 0x$(stat -c %t $I))" + local CHAR_MINOR="$(printf 0x$(stat -c %T $I))" + echo "${I#${SEARCHDIRS}*}§${FILEPOSIX}§${CHAR_MAJOR}§${CHAR_MINOR}§${FILEOWNER}§${FILEGROUP}" >> ${BUILDDIR}/${PKGNAME}/.char + ;; + + "fifo") + echo "${I#${SEARCHDIRS}*}§${FILEPOSIX}§${FILEOWNER}§${FILEGROUP}" >> ${BUILDDIR}/${PKGNAME}/.fifo ;; *) @@ -133,10 +166,8 @@ unset IFS # forcing mtime to same value - echo -n "Forcing mtime to the same value ..." - find ${BUILDDIR}/${PKGNAME}/binfiles \ - -exec touch -m -r ${BUILDDIR}/${PKGNAME}/.mtime '{}' ';' \ - && echo done || echo false + echo -e "${COLBLUE}===${COLGREEN} forcing mtime to the same value ...${COLDEFAULT}" + find ${BUILDDIR}/${PKGNAME}/binfiles -exec touch -m -r ${BUILDDIR}/${PKGNAME}/.mtime '{}' ';' } build_rmtimestamp() @@ -146,7 +177,7 @@ build_package() { - echo "Building Package ..." + echo -e "${COLBLUE}===${COLGREEN} building package tarball ...${COLDEFAULT}" cd ${BUILDDIR} tar cvjf ${PKGNAME}.tar.bz2 ./${PKGNAME} install -d ${PKGDIR}