--- branches/mage-sql/usr/lib/mage/convert_databases_smage.sh 2010/07/17 10:49:21 1117 +++ branches/mage-sql/usr/lib/mage/convert_databases_smage.sh 2010/07/22 07:19:48 1118 @@ -356,12 +356,19 @@ local do_script=0 local script="" +# # [[ -n $(typeset -f preinstall) ]] && do_preinst=1 && do_script=1 +# # [[ -n $(typeset -f postinstall) ]] && do_postinst=1 && do_script=1 +# # [[ -n $(typeset -f preremove) ]] && do_prerm=1 && do_script=1 +# # [[ -n $(typeset -f postremove) ]] && do_postrm=1 && do_script=1 +# # +# # [[ ${do_script} = 1 ]] && script="$(basename ${DBFILE} .sql).routines/${pkgid}/routines.sh" + [[ -n $(typeset -f preinstall) ]] && do_preinst=1 && do_script=1 [[ -n $(typeset -f postinstall) ]] && do_postinst=1 && do_script=1 [[ -n $(typeset -f preremove) ]] && do_prerm=1 && do_script=1 [[ -n $(typeset -f postremove) ]] && do_postrm=1 && do_script=1 - [[ ${do_script} = 1 ]] && script="$(basename ${DBFILE} .sql).routines/${pkgid}/routines.sh" + [[ ${do_script} = 1 ]] && script="$(basename ${DBFILE} .sql).data/${PCATEGORIE}/${PNAME}-${PVER}-${PBUILD}/routines.sh" sql "insert into packages_routines(pkg_id, mincludes, @@ -378,6 +385,66 @@ '${do_postrm}', '${script}')" +# # # create it only if do_script=1 +# # if [[ ${do_script} = 1 ]] +# # then +# # # create a routines script +# # local routines=$(dirname ${DBFILE})/${script} +# # install -d $(dirname ${routines}) +# # +# # echo '#!/bin/sh' > ${routines} +# # echo "# routines.sh script for ${pkgid}, ${PNAME}-${PVER}-${PBUILD}" >> ${routines} +# # echo >> ${routines} +# # +# # +# # # special functions and variables +# # if [[ -n ${SPECIAL_VARS} ]] +# # then +# # local i +# # for i in ${SPECIAL_VARS} +# # do +# # # being tricky here :) +# # echo "${i}=\"$(eval echo \$${i})\"" >> ${routines} +# # done +# # echo >> ${routines} +# # fi +# # +# # # add special functions +# # if [[ -n ${SPECIAL_FUNCTIONS} ]] +# # then +# # local i +# # for i in ${SPECIAL_FUNCTIONS} +# # do +# # # add to mage (quotes needed !) +# # typeset -f "${i}" >> ${routines} +# # echo >> ${routines} +# # # unset to be safe (quotes needed !) +# # unset "${i}" +# # done +# # echo >> ${routines} +# # fi +# # +# # # postinstall and co +# # for i in preinstall postinstall preremove postremove +# # do +# # if [[ -n $(typeset -f "${i}") ]] +# # then +# # typeset -f "${i}" >> ${routines} +# # echo >> ${routines} +# # fi +# # done +# # +# # # create start logic +# # echo >> ${routines} +# # echo 'case $1 in' >> ${routines} +# # echo ' preinstall) preinstall ;;' >> ${routines} +# # echo ' postinstall) postinstall ;;' >> ${routines} +# # echo ' preremove) preremove ;;' >> ${routines} +# # echo ' postremove) postremove ;;' >> ${routines} +# # echo 'esac' >> ${routines} +# # echo >> ${routines} +# # fi + # create it only if do_script=1 if [[ ${do_script} = 1 ]] then @@ -386,7 +453,7 @@ install -d $(dirname ${routines}) echo '#!/bin/sh' > ${routines} - echo "# routines.sh script for ${pkgid}, ${PNAME}-${PVER}-${PBUILD}" >> ${routines} + echo "# routines.sh script for ${PCATEGORIE}/${PNAME}-${PVER}-${PBUILD}" >> ${routines} echo >> ${routines} @@ -424,6 +491,8 @@ then typeset -f "${i}" >> ${routines} echo >> ${routines} + else + echo "${i} () { return 0; }" >> ${routines} fi done @@ -624,7 +693,11 @@ include|profiles) continue;; esac - sql "insert into categories (pcat) values('${pcat}')" + # "upsert" + if [[ -z $(sql "select pcat from categories where pcat='${pcat}'") ]] + then + sql "insert into categories (pcat) values('${pcat}')" + fi done # create packages @@ -728,30 +801,30 @@ '$(typeset -f preremove | sed s:\':\'\':g)', '$(typeset -f postremove | sed s:\':\'\':g)')" - #### #### - # record contents # - #### #### - pkginfoid=$(sql "select id from packages_info where pkg_id='${pkgid}' and arch='${ARCH}'") - entrydir="$(dirname ${magefile})" - sql "insert into packages_content(pkginfo_id, - char, - dirs, - files, - pipes, - symlinks) - values('${pkginfoid}', - '$(basename ${DBFILE} .sql).records/${pkginfoid}/char.bz2', - '$(basename ${DBFILE} .sql).records/${pkginfoid}/dirs.bz2', - '$(basename ${DBFILE} .sql).records/${pkginfoid}/files.bz2', - '$(basename ${DBFILE} .sql).records/${pkginfoid}/pipes.bz2', - '$(basename ${DBFILE} .sql).records/${pkginfoid}/symlinks.bz2')" - # create compressed content files - local entryfile - for entryfile in char dirs files pipes symlinks - do - install -d $(dirname ${DBFILE})/$(basename ${DBFILE} .sql).records/${pkginfoid} - cat ${entrydir}/.${entryfile} | bzip2 -9 >> $(dirname ${DBFILE})/$(basename ${DBFILE} .sql).records/${pkginfoid}/${entryfile}.bz2 - done +# # #### #### +# # # record contents # +# # #### #### +# # pkginfoid=$(sql "select id from packages_info where pkg_id='${pkgid}' and arch='${ARCH}'") +# # entrydir="$(dirname ${magefile})" +# # sql "insert into packages_content(pkginfo_id, +# # char, +# # dirs, +# # files, +# # pipes, +# # symlinks) +# # values('${pkginfoid}', +# # '$(basename ${DBFILE} .sql).records/${pkginfoid}/char.bz2', +# # '$(basename ${DBFILE} .sql).records/${pkginfoid}/dirs.bz2', +# # '$(basename ${DBFILE} .sql).records/${pkginfoid}/files.bz2', +# # '$(basename ${DBFILE} .sql).records/${pkginfoid}/pipes.bz2', +# # '$(basename ${DBFILE} .sql).records/${pkginfoid}/symlinks.bz2')" +# # # create compressed content files +# # local entryfile +# # for entryfile in char dirs files pipes symlinks +# # do +# # install -d $(dirname ${DBFILE})/$(basename ${DBFILE} .sql).records/${pkginfoid} +# # cat ${entrydir}/.${entryfile} | bzip2 -9 >> $(dirname ${DBFILE})/$(basename ${DBFILE} .sql).records/${pkginfoid}/${entryfile}.bz2 +# # done unset PKGNAME unset DEPEND