LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 865|回复: 0

slackpkg 的两个补丁(current)

[复制链接]
发表于 2009-8-22 14:36:32 | 显示全部楼层 |阅读模式
声明: slackpkg 算是很关键的程序,所以打补丁之前您需要知道您在做什么。欢迎提意见和建议~;)

#1: 以前 slackpkg upgrade-all 找要更新的包需要等个几分钟,现在一眨眼就 OK 了~;)

  1. --- /ext4/slackware_rsync/slackware64-current/slackware64/ap/slackpkg-2.80.2-noarch-3/usr/libexec/slackpkg/core-functions.sh  2009-07-27 09:33:49.000000000 +0800
  2. +++ /usr/libexec/slackpkg/core-functions.sh     2009-08-22 07:41:30.106445523 +0800
  3. @@ -567,7 +567,11 @@
  4.                         done
  5.                 ;;
  6.                 upgrade-all)
  7. -                       for i in $(cut -f2 -d\  ${TMPDIR}/tmplist); do
  8. +                       cut -f2-6 -d\  ${TMPDIR}/tmplist > ${TMPDIR}/lpkg
  9. +                       cut -f2-6 -d\  ${TMPDIR}/pkglist > ${TMPDIR}/spkg
  10. +                       potential=$(cat ${TMPDIR}/{s,l}pkg | sort | uniq -u | cut -f1 -d\  - | uniq -d )
  11. +                       #for i in $(cut -f2 -d\  ${TMPDIR}/tmplist); do
  12. +                       for i in $potential; do

  13.                                 givepriority ${i}
  14.                                 [ ! "$FULLNAME" ] && continue
复制代码


#2: slackpkg new-config 不能找到 /etc 以外的 .new 文件,有时候这会令人很头疼,打这个补丁就好了:

  1. --- a/usr/libexec/slackpkg/functions.d/post-functions.sh       2009-07-27 09:33:49.000000000 +0800                                                                           
  2. +++ b/usr/libexec/slackpkg/functions.d/post-functions.sh 2009-08-18 01:45:33.706801788 +0800                                    
  3. @@ -113,21 +113,27 @@                                                                                                         
  4.                                                                                                                               
  5. looknew() {                                                                                                                  
  6.                                                                                                                               
  7. -       # with ONLY_NEW_DOTNEW set, slackpkg will search only for                                                              
  8. -       # .new files installed in actual slackpkg's execution                                                                  
  9. -       if [ "$ONLY_NEW_DOTNEW" = "on" ]; then                                                                                 
  10. -               ONLY_NEW_DOTNEW="-cnewer $TMPDIR/timestamp"                                                                    
  11. -       else                                                                                                                  
  12. -               ONLY_NEW_DOTNEW=""                                                                                             
  13. -       fi                                                                                                                     
  14. -                                                                                                                              
  15.         echo -e "\nSearching for NEW configuration files"
  16. -       FILES=$(find /etc -name "*.new" ${ONLY_NEW_DOTNEW} \
  17. -               -not -name "rc.inet1.conf.new" \
  18. -               -not -name "group.new" \
  19. -               -not -name "passwd.new" \
  20. -               -not -name "shadow.new" \
  21. -               -not -name "gshadow.new" 2>/dev/null)
  22. +       #DOTNEWFILES=$(gzip -cd ${WORKDIR}/*-dotnew-filelist.gz)
  23. +       DOTNEWFILES=$(cat /var/log/packages/* | \
  24. +               grep -Eo '[^ ]*\.new$' | \
  25. +               sed -e '/etc\/group.new$/d' -e '/etc\/passwd.new$/d' -e '/etc\/shadow.new$/d' \
  26. +                   -e '/etc\/gshadow.new$/d' -e '/etc\/rc.d\/rc.inet1.conf.new$/d')
  27. +
  28. +       FILES=''
  29. +       for i in $DOTNEWFILES; do
  30. +               # with ONLY_NEW_DOTNEW set, slackpkg will search only for .new
  31. +               # files installed in actual slackpkg's execution
  32. +               if [ "$ONLY_NEW_DOTNEW" = "on" ]; then
  33. +                       if [ "/${i}" -nt "$TMPDIR/timestamp" ]; then
  34. +                               FILES=$FILES' /'${i}
  35. +                       fi
  36. +               else
  37. +                       if [ -e "/${i}" ]; then
  38. +                               FILES=$FILES' /'${i}
  39. +                       fi
  40. +               fi
  41. +       done
  42.         if [ "$FILES" != "" ]; then
  43.                 echo -e "\n\
  44. Some packages had new configuration files installed.
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表