Magellan Linux

Diff of /trunk/mage/usr/lib/mage/mage4.functions.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1087 by niro, Mon Jun 28 18:46:57 2010 UTC revision 1209 by niro, Fri Jan 28 20:37:27 2011 UTC
# Line 339  install_blockdevices() Line 339  install_blockdevices()
339   local pkgname="$1"   local pkgname="$1"
340   local pathto   local pathto
341   local posix   local posix
342     local user
343     local group
344   local IFS   local IFS
345    
346   # sanity checks; abort if not given   # sanity checks; abort if not given
# Line 352  install_blockdevices() Line 354  install_blockdevices()
354   # sets fieldseperator to "§" instead of " "   # sets fieldseperator to "§" instead of " "
355   IFS=§   IFS=§
356    
357   while read pathto posix   while read pathto posix user group
358   do   do
359   [ -z "${pathto}" ] && continue   [ -z "${pathto}" ] && continue
360   [[ ${VERBOSE} = on ]] && echo -e "\t>>> PIPE: ${MROOT}${pathto}"   [[ ${VERBOSE} = on ]] && echo -e "\t>>> PIPE: ${MROOT}${pathto}"
361    
362   mkfifo -m "${posix}" "${MROOT}$pathto"   mkfifo -m "${posix}" "${MROOT}${pathto}"
363     chown "${user}:${group}" "${MROOT}${pathto}"
364   done < ${BUILDDIR}/${pkgname}/.pipes   done < ${BUILDDIR}/${pkgname}/.pipes
365    
366   # very important: unsetting the '§' fieldseperator   # very important: unsetting the '§' fieldseperator
# Line 376  install_characterdevices() Line 379  install_characterdevices()
379   local posix   local posix
380   local major   local major
381   local minor   local minor
382     local user
383     local group
384   local IFS   local IFS
385    
386   # sanity checks; abort if not given   # sanity checks; abort if not given
# Line 389  install_characterdevices() Line 394  install_characterdevices()
394   # sets fieldseperator to "§" instead of " "   # sets fieldseperator to "§" instead of " "
395   IFS=§   IFS=§
396    
397   while read pathto posix major minor   while read pathto posix major minor user group
398   do   do
399   [ -z "${pathto}" ] && continue   [ -z "${pathto}" ] && continue
400   [[ ${VERBOSE} = on ]] && echo -e "\t>>> CHAR: ${MROOT}${pathto}"   [[ ${VERBOSE} = on ]] && echo -e "\t>>> CHAR: ${MROOT}${pathto}"
401    
402   mknod -m ${posix} "${MROOT}${pathto}" c ${major} ${minor}   mknod -m ${posix} "${MROOT}${pathto}" c ${major} ${minor}
403     chown "${user}:${group}" "${MROOT}${pathto}"
404   done < ${BUILDDIR}/${pkgname}/.char   done < ${BUILDDIR}/${pkgname}/.char
405    
406   # very important: unsetting the '§' fieldseperator   # very important: unsetting the '§' fieldseperator
407   IFS=$'\n'   IFS=$'\n'
408  }  }
409    
410    ###################################################
411    # function install_fifos                          #
412    # install_fifos $PKGNAME                    #
413    ###################################################
414    install_fifos()
415    {
416     local pkgname="$1"
417     local pathto
418     local posix
419     local user
420     local group
421     local IFS
422    
423     # sanity checks; abort if not given
424     [ -z "${pkgname}" ] && die "install_fifos() \$pkgname not given."
425    
426     # check needed global vars
427     [ -z "${BUILDDIR}" ] && die "install_fifos() \$BUILDDIR not set."
428    
429     [ ! -f ${BUILDDIR}/${pkgname}/.fifo ] && die "install_fifos() .fifo not found"
430    
431     # sets fieldseperator to "§" instead of " "
432     IFS=§
433    
434     while read pathto posix user group
435     do
436     [ -z "${pathto}" ] && continue
437     [[ ${VERBOSE} = on ]] && echo -e "\t>>> FIFO: ${MROOT}${pathto}"
438    
439     mkfifo -m "${posix}" "${MROOT}${pathto}"
440     chown "${user}:${group}" "${MROOT}${pathto}"
441     done < ${BUILDDIR}/${pkgname}/.fifo
442    
443     # very important: unsetting the '§' fieldseperator
444     IFS=$'\n'
445    }
446    
447    
448  ###################################################  ###################################################
449  # function build_doinstall                        #  # function build_doinstall                        #
450  # build_doinstall $PKGNAME                  #  # build_doinstall $PKGNAME                  #
451  # NOTE: this is an wrapper do install packages    #  # NOTE: this is an wrapper to install packages    #
452  ###################################################  ###################################################
453  build_doinstall()  build_doinstall()
454  {  {
# Line 428  build_doinstall() Line 471  build_doinstall()
471   install_symlinks ${pkgname} || die "install symlinks ${pkgname}"   install_symlinks ${pkgname} || die "install symlinks ${pkgname}"
472   install_blockdevices ${pkgname} || die "install blockdevices ${pkgname}"   install_blockdevices ${pkgname} || die "install blockdevices ${pkgname}"
473   install_characterdevices ${pkgname} || die "install chardevices ${pkgname}"   install_characterdevices ${pkgname} || die "install chardevices ${pkgname}"
474     install_fifos ${pkgname} || die "install fifos ${pkgname}"
475  }  }
476    
477    
# Line 489  install_database_entry() Line 533  install_database_entry()
533    
534   # create fake file descriptors   # create fake file descriptors
535   # used by virtual and source packages   # used by virtual and source packages
536   for i in .dirs .symlinks .files .pipes .char   for i in .dirs .symlinks .files .pipes .char .fifo
537   do   do
538   touch ${dbrecorddir}/${i}   touch ${dbrecorddir}/${i}
539   done   done
# Line 507  install_database_entry() Line 551  install_database_entry()
551    
552   # normal packages needs these files   # normal packages needs these files
553   local i   local i
554   for i in .char .dirs .files .pipes .symlinks   for i in .char .dirs .files .pipes .symlinks .fifo
555   do   do
556   install -m 0644 ${BUILDDIR}/${pkgname}/${i} \   install -m 0644 ${BUILDDIR}/${pkgname}/${i} \
557   ${dbrecorddir}/${i}   ${dbrecorddir}/${i}
# Line 785  remove_files() Line 829  remove_files()
829   done   done
830    
831   # sanity checks; abort if not given   # sanity checks; abort if not given
832   [ -z "${pcat}" ] && die "remove_symlinks() \$pcat not given."   [ -z "${pcat}" ] && die "remove_files() \$pcat not given."
833   [ -z "${pname}" ] && die "remove_symlinks() \$pname not given."   [ -z "${pname}" ] && die "remove_files() \$pname not given."
834   [ -z "${pver}" ] && die "remove_symlinks() \$pver not given."   [ -z "${pver}" ] && die "remove_files() \$pver not given."
835   [ -z "${pbuild}" ] && die "remove_symlinks() \$pbuild not given."   [ -z "${pbuild}" ] && die "remove_files() \$pbuild not given."
836   pfull="${pcat}/${pname}-${pver}-${pbuild}"   pfull="${pcat}/${pname}-${pver}-${pbuild}"
837    
838   # check needed global vars   # check needed global vars
# Line 879  remove_blockdevices() Line 923  remove_blockdevices()
923  {  {
924   local pathto   local pathto
925   local posix   local posix
926     local user
927     local group
928   local IFS   local IFS
929   local pcat   local pcat
930   local pname   local pname
# Line 902  remove_blockdevices() Line 948  remove_blockdevices()
948   done   done
949    
950   # sanity checks; abort if not given   # sanity checks; abort if not given
951   [ -z "${pcat}" ] && die "remove_symlinks() \$pcat not given."   [ -z "${pcat}" ] && die "remove_blockdevices() \$pcat not given."
952   [ -z "${pname}" ] && die "remove_symlinks() \$pname not given."   [ -z "${pname}" ] && die "remove_blockdevices() \$pname not given."
953   [ -z "${pver}" ] && die "remove_symlinks() \$pver not given."   [ -z "${pver}" ] && die "remove_blockdevices() \$pver not given."
954   [ -z "${pbuild}" ] && die "remove_symlinks() \$pbuild not given."   [ -z "${pbuild}" ] && die "remove_blockdevices() \$pbuild not given."
955   pfull="${pcat}/${pname}-${pver}-${pbuild}"   pfull="${pcat}/${pname}-${pver}-${pbuild}"
956    
957   # check needed global vars   # check needed global vars
# Line 916  remove_blockdevices() Line 962  remove_blockdevices()
962   # sets fieldseperator to "§" instead of " "   # sets fieldseperator to "§" instead of " "
963   IFS=§   IFS=§
964    
965   while read pathto posix   while read pathto posix user group
966   do   do
967   [ -z "${pathto}" ] && continue   [ -z "${pathto}" ] && continue
968    
# Line 937  remove_characterdevices() Line 983  remove_characterdevices()
983  {  {
984   local pathto   local pathto
985   local posix   local posix
986     local user
987     local group
988   local IFS   local IFS
989   local pcat   local pcat
990   local pname   local pname
# Line 960  remove_characterdevices() Line 1008  remove_characterdevices()
1008   done   done
1009    
1010   # sanity checks; abort if not given   # sanity checks; abort if not given
1011   [ -z "${pcat}" ] && die "remove_symlinks() \$pcat not given."   [ -z "${pcat}" ] && die "remove_characterdevices() \$pcat not given."
1012   [ -z "${pname}" ] && die "remove_symlinks() \$pname not given."   [ -z "${pname}" ] && die "remove_characterdevices() \$pname not given."
1013   [ -z "${pver}" ] && die "remove_symlinks() \$pver not given."   [ -z "${pver}" ] && die "remove_characterdevices() \$pver not given."
1014   [ -z "${pbuild}" ] && die "remove_symlinks() \$pbuild not given."   [ -z "${pbuild}" ] && die "remove_characterdevices() \$pbuild not given."
1015   pfull="${pcat}/${pname}-${pver}-${pbuild}"   pfull="${pcat}/${pname}-${pver}-${pbuild}"
1016    
1017   # check needed global vars   # check needed global vars
# Line 974  remove_characterdevices() Line 1022  remove_characterdevices()
1022   # sets fieldseperator to "§" instead of " "   # sets fieldseperator to "§" instead of " "
1023   IFS=§   IFS=§
1024    
1025   while read pathto posix   while read pathto posix user group
1026   do   do
1027   [ -z "${pathto}" ] && continue   [ -z "${pathto}" ] && continue
1028    
# Line 988  remove_characterdevices() Line 1036  remove_characterdevices()
1036    
1037    
1038  ###################################################  ###################################################
1039    # function remove_fifos                           #
1040    # remove_fifos $PKGNAME                     #
1041    ###################################################
1042    remove_fifos()
1043    {
1044     local pathto
1045     local posix
1046     local user
1047     local group
1048     local IFS
1049     local pcat
1050     local pname
1051     local pver
1052     local pbuild
1053     local i
1054     local pfull
1055    
1056     IFS=$'\n'
1057    
1058     # very basic getops
1059     for i in $*
1060     do
1061     case $1 in
1062     --pcat|-c) shift; pcat="$1" ;;
1063     --pname|-n) shift; pname="$1" ;;
1064     --pver|-v) shift; pver="$1" ;;
1065     --pbuild|-b) shift; pbuild="$1" ;;
1066     esac
1067     shift
1068     done
1069    
1070     # sanity checks; abort if not given
1071     [ -z "${pcat}" ] && die "remove_fifos() \$pcat not given."
1072     [ -z "${pname}" ] && die "remove_fifos() \$pname not given."
1073     [ -z "${pver}" ] && die "remove_fifos() \$pver not given."
1074     [ -z "${pbuild}" ] && die "remove_fifos() \$pbuild not given."
1075     pfull="${pcat}/${pname}-${pver}-${pbuild}"
1076    
1077     # check needed global vars
1078     [ -z "${BUILDDIR}" ] && die "remove_fifos() \$BUILDDIR not set."
1079    
1080     [ ! -f ${MROOT}${INSTALLDB}/${pfull}/.fifo ] && die "remove_fifos() .fifo not found"
1081    
1082     # sets fieldseperator to "§" instead of " "
1083     IFS=§
1084    
1085     while read pathto posix user group
1086     do
1087     [ -z "${pathto}" ] && continue
1088    
1089     [[ ${VERBOSE} = on ]] && echo -e "\t<<< FIFO: ${MROOT}${pathto}"
1090     rm "${MROOT}${pathto}"
1091     done < ${MROOT}${INSTALLDB}/${pfull}/.fifo
1092    
1093     # very important: unsetting the '§' fieldseperator
1094     IFS=$'\n'
1095    }
1096    
1097    
1098    ###################################################
1099  # function remove_direcories                      #  # function remove_direcories                      #
1100  # remove_direcories $PKGNAME                #  # remove_direcories $PKGNAME                #
1101  ###################################################  ###################################################
# Line 1018  remove_directories() Line 1126  remove_directories()
1126   done   done
1127    
1128   # sanity checks; abort if not given   # sanity checks; abort if not given
1129   [ -z "${pcat}" ] && die "remove_symlinks() \$pcat not given."   [ -z "${pcat}" ] && die "remove_directories() \$pcat not given."
1130   [ -z "${pname}" ] && die "remove_symlinks() \$pname not given."   [ -z "${pname}" ] && die "remove_directories() \$pname not given."
1131   [ -z "${pver}" ] && die "remove_symlinks() \$pver not given."   [ -z "${pver}" ] && die "remove_directories() \$pver not given."
1132   [ -z "${pbuild}" ] && die "remove_symlinks() \$pbuild not given."   [ -z "${pbuild}" ] && die "remove_directories() \$pbuild not given."
1133   pfull="${pcat}/${pname}-${pver}-${pbuild}"   pfull="${pcat}/${pname}-${pver}-${pbuild}"
1134    
1135   # check needed global vars   # check needed global vars
# Line 1075  remove_directories() Line 1183  remove_directories()
1183  ###################################################  ###################################################
1184  # function build_douninstall                      #  # function build_douninstall                      #
1185  # build_douninstall $PKGNAME                #  # build_douninstall $PKGNAME                #
1186  # NOTE: this is an wrapper do remove packages     #  # NOTE: this is an wrapper to remove packages     #
1187  ###################################################  ###################################################
1188  build_douninstall()  build_douninstall()
1189  {  {
# Line 1109  build_douninstall() Line 1217  build_douninstall()
1217   # !! we use § as field seperator !!   # !! we use § as field seperator !!
1218   # doing so prevent us to get errors by filenames with spaces   # doing so prevent us to get errors by filenames with spaces
1219    
1220   for i in symlinks files blockdevices characterdevices directories   for i in symlinks files blockdevices characterdevices directories fifos
1221   do   do
1222   remove_${i} \   remove_${i} \
1223   --pcat "${pcat}" \   --pcat "${pcat}" \
# Line 1745  virtuals_add() Line 1853  virtuals_add()
1853    
1854  #deletes pakages from virtual database  #deletes pakages from virtual database
1855  #$1 virtualname; $2 pkgname  #$1 virtualname; $2 pkgname
1856  virtuals_del() {  virtuals_del()
1857    {
1858    
1859   local virtualname="$1"   local virtualname="$1"
1860   local pkgname="$2"   local pkgname="$2"
# Line 2683  mage_uninstall() Line 2792  mage_uninstall()
2792   unset -f postremove   unset -f postremove
2793  }  }
2794    
2795  show_etc_update_mesg() {  show_etc_update_mesg()
2796    {
2797   [ ${MAGE_PROTECT_COUNTER} -eq 0 ] && return 0   [ ${MAGE_PROTECT_COUNTER} -eq 0 ] && return 0
2798    
2799   echo   echo

Legend:
Removed from v.1087  
changed lines
  Added in v.1209