tazpkg rev 588
tazpkg: Add support for new slitaz.conf. Changed md5sum to $CHECKSUM thats in the new slitaz.conf. Add update_kernel_modules function so we can update kernel modules.dep file if /sbin/depmod exist and /lib/modules path is in package.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Thu Apr 12 17:49:54 2012 +0000 (2012-04-12) |
parents | e90081a98354 |
children | 59ac27af090d |
files | tazpkg tazpkg.conf |
line diff
1.1 --- a/tazpkg Thu Apr 12 22:57:33 2012 +0200 1.2 +++ b/tazpkg Thu Apr 12 17:49:54 2012 +0000 1.3 @@ -22,8 +22,7 @@ 1.4 # TazPKG version 1.5 VERSION=4.9.2 1.6 1.7 -source /usr/lib/slitaz/libtaz 1.8 -source_lib commons 1.9 +. /etc/slitaz/slitaz.conf 1.10 . /etc/slitaz/tazpkg.conf 1.11 1.12 # Include gettext helper script. 1.13 @@ -54,11 +53,10 @@ 1.14 SAVE_CACHE_DIR="$CACHE_DIR" 1.15 1.16 # Path to tazpkg used dir and configuration files 1.17 -INSTALLED=$LOCALSTATE/installed 1.18 MIRROR=$LOCALSTATE/mirror 1.19 BLOCKED=$LOCALSTATE/blocked-packages.list 1.20 UP_LIST=$LOCALSTATE/packages.up 1.21 -DEFAULT_MIRROR="http://mirror.slitaz.org/packages/`cat /etc/slitaz-release`/" 1.22 +DEFAULT_MIRROR="$ONLINE_PKGS" 1.23 1.24 # Need by check_depends 1.25 TMPLOCALSTATE= 1.26 @@ -107,7 +105,7 @@ 1.27 extract `gettext \"Extract a (*.tazpkg) package into a directory.\"` 1.28 pack `gettext \"Pack an unpacked or prepared package tree.\"` 1.29 recharge `gettext \"Recharge your packages.list from the mirror.\"` 1.30 - up|--help-up `gettext \"Check packages md5sum to list and install latest upgrades.\"` 1.31 + up|--help-up `gettext \"Check packages $CHECKSUM to list and install latest upgrades.\"` 1.32 repack `gettext \"Create a package archive from an installed package.\"` 1.33 repack-config `gettext \"Create a package archive with configuration files.\"` 1.34 recompress `gettext \"Rebuild a package with a better compression ratio.\"` 1.35 @@ -410,7 +408,7 @@ 1.36 { 1.37 local extra 1.38 [ "$1" = "Installed" ] && \ 1.39 - extra=" - $(fgrep $PACKAGE-$VERSION $LOCALSTATE/installed.md5 | awk '{ print $1 }')" 1.40 + extra=" - $(fgrep $PACKAGE-$VERSION $LOCALSTATE/installed.$SUM | awk '{ print $1 }')" 1.41 [ -e $LOG ] || touch $LOG 1.42 DATE=`date +'%F %T'` 1.43 [ -w $LOG ] && 1.44 @@ -514,9 +512,9 @@ 1.45 cp $TMP_DIR/files.list $ROOT$INSTALLED/$PACKAGE 2> /dev/null 1.46 rm -rf $TMP_DIR 2> /dev/null 1.47 sed -i "/ $(basename $PACKAGE_FILE)$/d" \ 1.48 - $ROOT$LOCALSTATE/installed.md5 2> /dev/null 1.49 + $ROOT$LOCALSTATE/installed.$SUM 2> /dev/null 1.50 cd $(dirname $PACKAGE_FILE) 1.51 - md5sum $(basename $PACKAGE_FILE) >> $ROOT$LOCALSTATE/installed.md5 1.52 + $CHECKSUM $(basename $PACKAGE_FILE) >> $ROOT$LOCALSTATE/installed.$SUM 1.53 } 1.54 # Resolve package deps. 1.55 check_for_deps $ROOT 1.56 @@ -608,8 +606,8 @@ 1.57 cp description.txt $ROOT$INSTALLED/$PACKAGE 1.58 fi 1.59 # Copy the md5sum if found. 1.60 - if [ -f "md5sum" ]; then 1.61 - cp md5sum $ROOT$INSTALLED/$PACKAGE 1.62 + if [ -f "$CHECKSUM" ]; then 1.63 + cp $CHECKSUM $ROOT$INSTALLED/$PACKAGE 1.64 fi 1.65 # Pre install commands. 1.66 if grep -q ^pre_install $ROOT$INSTALLED/$PACKAGE/receipt; then 1.67 @@ -666,6 +664,10 @@ 1.68 if [ "$(fgrep /usr/share/glib-2.0/schemas $ROOT$INSTALLED/$PACKAGE/files.list)" ]; then 1.69 compile_schemas=yes 1.70 fi 1.71 + # Update depmod list 1.72 + if [ "$(fgrep /lib/modules $ROOT$INSTALLED/$PACKAGE/files.list") ]; then 1.73 + updatedepmod=yes 1.74 + fi 1.75 cd $TOP_DIR 1.76 separator 1.77 eval_gettext "\$PACKAGE (\$VERSION\$EXTRAVERSION) is installed."; echo 1.78 @@ -1435,6 +1437,13 @@ 1.79 fi 1.80 } 1.81 1.82 +update_kernel_modules() 1.83 +{ 1.84 + if [ -f $1/sbin/depmod ] && [ -n "$updatedepmod" ]; then 1.85 + chroot "$1/" /sbin/depmod -a 1.86 + fi 1.87 +} 1.88 + 1.89 translate_category() 1.90 { 1.91 case $1 in 1.92 @@ -2002,7 +2011,7 @@ 1.93 rm -rf $ROOT$INSTALLED/$PACKAGE 1.94 status 1.95 sed -i "/ $PACKAGE-$VERSION$EXTRAVERSION$/d" \ 1.96 - $LOCALSTATE/installed.md5 2> /dev/null 1.97 + $LOCALSTATE/installed.$SUM 2> /dev/null 1.98 # Log this activity 1.99 log Removed 1.100 if [ "$ALTERED" ]; then 1.101 @@ -2212,10 +2221,10 @@ 1.102 . $INSTALLED/$PACKAGE/receipt 1.103 repack_cleanup fs 1.104 fi 1.105 - if [ -f $INSTALLED/$PACKAGE/md5sum ]; then 1.106 - sed 's, , fs,' < $INSTALLED/$PACKAGE/md5sum | \ 1.107 - md5sum -s -c || { 1.108 - gettext "Can't repack, md5sum error."; echo 1.109 + if [ -f $INSTALLED/$PACKAGE/$CHECKSUM ]; then 1.110 + sed 's, , fs,' < $INSTALLED/$PACKAGE/$CHECKSUM | \ 1.111 + $CHECKSUM -s -c || { 1.112 + gettext "Can't repack, $CHECKSUM error."; echo 1.113 cd $TOP_DIR 1.114 rm -rf $TMP_DIR 1.115 exit 1 1.116 @@ -2246,17 +2255,17 @@ 1.117 find . -type l -print >> ../files.list 1.118 cd .. && sed -i s/'^.'/''/ files.list 1.119 status 1.120 - gettext "Creating md5sum of files..." 1.121 + gettext "Creating $CHECKSUM of files..." 1.122 while read file; do 1.123 [ -L "fs$file" ] && continue 1.124 [ -f "fs$file" ] || continue 1.125 case "$file" in 1.126 /lib/modules/*/modules.*|*.pyc) continue;; 1.127 esac 1.128 - md5sum "fs$file" | sed 's/ fs/ /' 1.129 - done < files.list > md5sum 1.130 + $CHECKSUM "fs$file" | sed 's/ fs/ /' 1.131 + done < files.list > $CHECKSUM 1.132 status 1.133 - UNPACKED_SIZE=$(du -chs fs receipt files.list md5sum \ 1.134 + UNPACKED_SIZE=$(du -chs fs receipt files.list $CHECKSUM \ 1.135 description.txt 2> /dev/null | awk \ 1.136 '{ sz=$1 } END { print sz }') 1.137 # Build cpio archives. 1.138 @@ -2265,7 +2274,7 @@ 1.139 rm -rf fs 1.140 status 1.141 PACKED_SIZE=$(du -chs fs.cpio.lzma receipt files.list \ 1.142 - md5sum description.txt 2> /dev/null | awk \ 1.143 + $CHECKSUM description.txt 2> /dev/null | awk \ 1.144 '{ sz=$1 } END { print sz }') 1.145 gettext "Updating receipt sizes..." 1.146 sed -i s/^PACKED_SIZE.*$// receipt 1.147 @@ -2342,7 +2351,7 @@ 1.148 1.149 if [ -f "packages.list" ]; then 1.150 gettext "Creating backup of the last packages list..." 1.151 - for i in packages.desc packages.md5 packages.txt \ 1.152 + for i in packages.desc packages.$SUM packages.txt \ 1.153 packages.list packages.equiv files.list.lzma \ 1.154 mirrors 1.155 do 1.156 @@ -2406,7 +2415,7 @@ 1.157 install="n" ;; 1.158 esac 1.159 done 1.160 - installed_md5=$LOCALSTATE/installed.md5 1.161 + installed_sum=$LOCALSTATE/installed.$SUM 1.162 look_for_priority 1.163 for repo in $priority; do 1.164 pkg_list=$repo/packages.list 1.165 @@ -2434,13 +2443,13 @@ 1.166 unset VERSION EXTRAVERSION 1.167 . $pkg/receipt 1.168 md5=$(fgrep " $PACKAGE-${VERSION}$EXTRAVERSION.tazpkg" \ 1.169 - $installed_md5 | awk '{print $1}') 1.170 + $installed_sum | awk '{print $1}') 1.171 for repo in $priority; do 1.172 pkg_desc=$repo/packages.desc 1.173 pkg_list=$repo/packages.list 1.174 - pkg_md5=$repo/packages.md5 1.175 + pkg_sum=$repo/packages.$SUM 1.176 1.177 - if ! fgrep -q "$md5 $PACKAGE-" $pkg_md5; then 1.178 + if ! fgrep -q "$md5 $PACKAGE-" $pkg_sum; then 1.179 # Jump to next repository in priority if pkg doesn't exists 1.180 # in this one. 1.181 grep -q ^$PACKAGE- $pkg_list || continue 1.182 @@ -2570,7 +2579,7 @@ 1.183 gettext "Looking for known bugs... "; echo 1.184 tazpkg bugs 1.185 if [ "$PACKAGE_FILE" = "--full" ]; then 1.186 - for file in */md5sum; do 1.187 + for file in */$CHECKSUM; do 1.188 CONFIG_FILES="" 1.189 . $(dirname "$file")/receipt 1.190 [ -s "$file" ] || continue 1.191 @@ -2582,8 +2591,8 @@ 1.192 esac 1.193 done 1.194 echo "$md5 $f" 1.195 - done < "$file" | md5sum -c - 2> /dev/null | \ 1.196 - grep -v OK$ | sed 's/FAILED$/MD5SUM MISMATCH/' 1.197 + done < "$file" | $CHECKSUM -c - 2> /dev/null | \ 1.198 + grep -v OK$ | sed 's/FAILED$/$CHECKSUM MISMATCH/' 1.199 done 1.200 FILES=" " 1.201 for file in $(cat */files.list); do 1.202 @@ -2684,7 +2693,7 @@ 1.203 eval_gettext "Continuing \$PACKAGE download"; echo 1.204 download $PACKAGE.tazpkg 1.205 } 1.206 - if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.md5)" ]; then 1.207 + if [ "$($CHECKSUM $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then 1.208 rm -f $PACKAGE.tazpkg 1.209 download $PACKAGE.tazpkg 1.210 fi 1.211 @@ -2755,7 +2764,7 @@ 1.212 eval_gettext "Continuing \$PACKAGE download"; echo 1.213 download $PACKAGE.tazpkg 1.214 } 1.215 - if [ "$(md5sum $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.md5)" ]; then 1.216 + if [ "$($CHECKSUM $PACKAGE.tazpkg)" != "$(fgrep " $PACKAGE.tazpkg" $rep/packages.$SUM)" ]; then 1.217 rm -f $PACKAGE.tazpkg 1.218 download $PACKAGE.tazpkg 1.219 fi
2.1 --- a/tazpkg.conf Thu Apr 12 22:57:33 2012 +0200 2.2 +++ b/tazpkg.conf Thu Apr 12 17:49:54 2012 +0000 2.3 @@ -5,7 +5,7 @@ 2.4 AUTO_INSTALL_DEPS="yes" 2.5 2.6 # Path to Tazpkg log file. 2.7 -LOG="/var/log/tazpkg.log" 2.8 +LOG="$SLITAZ_LOGS/tazpkg.log" 2.9 2.10 # Packages cache directory. 2.11 CACHE_DIR="/var/cache/tazpkg"