tazpkg rev 814
tazpkg: add migration to the 9-field installed.info; pkgs.cgi: fix pkgs type in the lists, fix search when undigest DB is incomplete, implement TazPkg title and sub-title, pkg state icon in the pkg info; pkgs.css: move app-icon to the right.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Mon Jun 08 04:07:13 2015 +0300 (2015-06-08) |
parents | 33d93f743150 |
children | a639d8217550 |
files | tazpanel/pkgs.cgi tazpanel/pkgs.css tazpkg |
line diff
1.1 --- a/tazpanel/pkgs.cgi Fri Jun 05 00:37:48 2015 +0300 1.2 +++ b/tazpanel/pkgs.cgi Mon Jun 08 04:07:13 2015 +0300 1.3 @@ -165,8 +165,7 @@ 1.4 1.5 1.6 # xHTML 5 header with special side bar for categories. 1.7 -TITLE=$(TEXTDOMAIN='tazpkg'; _ 'TazPanel - Packages') 1.8 -xhtml_header | sed 's/id="content"/id="content-sidebar"/' 1.9 +TITLE=$(TEXTDOMAIN='tazpkg'; _ 'Packages') 1.10 1.11 1.12 pkg_info_link() { 1.13 @@ -275,20 +274,6 @@ 1.14 # 1.15 1.16 1.17 -# ENTER will search but user may search for a button, so put one. 1.18 - 1.19 -search_form() { 1.20 - cat <<EOT 1.21 -<form class="search"><!-- 1.22 - --><a data-icon="web" href="http://pkg.slitaz.org/" target="_blank" title="$(_n 'Web search tool')"></a> <!-- 1.23 - --><input type="search" name="search" results="5" autosave="pkgsearch" autocomplete="on"><!-- 1.24 - --><button type="submit">$(_n 'Search')</button><!-- 1.25 - --><button name="files" value="yes">$(_n 'Files')</button><!-- 1.26 ---></form> 1.27 -EOT 1.28 -} 1.29 - 1.30 - 1.31 table_head() { 1.32 cat <<EOT 1.33 <table class="wide zebra pkglist" id="head1"> 1.34 @@ -379,7 +364,7 @@ 1.35 1.36 1.37 repo_list() { 1.38 - if [ -n "$(ls $PKGS_DB/undigest/ 2> /dev/null)" ]; then 1.39 + if [ -n "$(ls $PKGS_DB/undigest/ 2>/dev/null)" ]; then 1.40 case "$repo" in 1.41 Public) 1.42 ;; 1.43 @@ -388,11 +373,11 @@ 1.44 [ -d "$i" ] && echo "$i$1" 1.45 done ;; 1.46 *) 1.47 - echo "$PKGS_DB/undigest/$repo$1" 1.48 + ls "$PKGS_DB/undigest/$repo$1" 2>/dev/null 1.49 return ;; 1.50 esac 1.51 fi 1.52 - echo "$PKGS_DB$1" 1.53 + [ -e "$PKGS_DB$1" ] && echo "$PKGS_DB$1" 1.54 } 1.55 1.56 1.57 @@ -456,7 +441,7 @@ 1.58 sed 's|.*|&\ti|' $i/installed.info 1.59 [ "$cat" == 'extra' ] || [ $1 == 'my' ] || cat $i/packages.info 1.60 [ "$cat" == 'extra' ] && 1.61 - sed 's,\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\).*,\1\t\5\textra\t\2\thttp://mirror.slitaz.org/packages/get/\1\t-\t-\t-,' $PKGS_DB/extra.list 1.62 + sed 's,\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\)|\([^|]*\).*,\1\t\5\textra\t\2\thttp://mirror.slitaz.org/packages/get/\1\t-\t-\t-\t-,' $PKGS_DB/extra.list 1.63 } | sort -t$'\t' -k1,1 | sed '/^$/d' | awk -F$'\t' -vc="${cat:--}" -vt="${tag:--}" ' 1.64 { 1.65 if (PKG && PKG != $1) { 1.66 @@ -474,8 +459,8 @@ 1.67 if (NF == 2) { DSCL = $2; next } 1.68 if (c == "all" || $3 == c || index(" "$6" ", " "t" ")) { SEL = 1 } 1.69 if (SEL) { 1.70 - if ($9 == "i") { VER = $2; DSC = $4; WEB = $5; INS = "i"; next} 1.71 - if (! INS) { VER = $2; DSC = $4; WEB = $5 } 1.72 + if ($10 == "i") { VER = $2; DSC = $4; WEB = $5; INS = "i"; next} 1.73 + if (! INS) { VER = $2; DSC = $4; WEB = $5 } 1.74 } 1.75 }' > $cached 1.76 1.77 @@ -547,6 +532,21 @@ 1.78 } 1.79 1.80 1.81 +tazpanel_header() { 1.82 + xhtml_header "$1" | sed 's/id="content"/id="content-sidebar"/' 1.83 + cat <<EOT 1.84 +<form class="search"><!-- 1.85 + --><a data-icon="web" href="http://pkg.slitaz.org/" target="_blank" title="$(_n 'Web search tool')"></a> <!-- 1.86 + --><input type="search" name="search" value="$(GET search)" results="5" autosave="pkgsearch" autocomplete="on"><!-- 1.87 + --><button type="submit">$(_n 'Search')</button><!-- 1.88 + --><button name="files" value="yes">$(_n 'Files')</button><!-- 1.89 +--></form> 1.90 +EOT 1.91 + sidebar 1.92 +} 1.93 + 1.94 + 1.95 + 1.96 1.97 # 1.98 # Commands 1.99 @@ -560,12 +560,10 @@ 1.100 # 1.101 # List linkable packages. 1.102 # 1.103 - search_form; sidebar 1.104 + tazpanel_header "$(_ 'Linkable packages')" 1.105 loading_msg "$(_ 'Listing linkable packages...')" 1.106 1.107 cat <<EOT 1.108 -<h2>$(_ 'Linkable packages')</h2> 1.109 - 1.110 <form class="wide"> 1.111 $(_ 'Selection:') $(show_button do=Link) 1.112 EOT 1.113 @@ -596,9 +594,7 @@ 1.114 # 1.115 # List of all categories. 1.116 # 1.117 - search_form; sidebar 1.118 - 1.119 - echo "<h2>$(_ 'Categories list')</h2>" 1.120 + tazpanel_header "$(_ 'Categories list')" 1.121 1.122 for pkgsinfo in $(repo_list /packages.info); do 1.123 cat <<EOT 1.124 @@ -640,7 +636,7 @@ 1.125 # 1.126 # List all packages by category. 1.127 # 1.128 - search_form; sidebar 1.129 + tazpanel_header "$(_ 'Packages list')" 1.130 loading_msg "$(_ 'Listing packages...')" 1.131 1.132 bcat="<b>$cat</b>"; brepo="<b>$repo</b>" 1.133 @@ -658,9 +654,7 @@ 1.134 esac 1.135 1.136 cat <<EOT 1.137 -<h2>$(_ 'Packages list')</h2> 1.138 <p>$title</p> 1.139 - 1.140 EOT 1.141 1.142 [ ! -f $PKGS_DB/packages.info ] && msg warn \ 1.143 @@ -697,16 +691,13 @@ 1.144 # Search for packages. Here default is to search in packages.desc 1.145 # and so get result including packages names and descriptions 1.146 # 1.147 + tazpanel_header "$(_ 'Search packages')" 1.148 + loading_msg "$(_ 'Searching packages...')" 1.149 + 1.150 pkg=$(GET search); [ -z "$pkg" ] && xhtml_footer && exit 1.151 cd $PKGS_DB 1.152 1.153 - search_form | sed "s|name=\"search\"|& value=\"$pkg\"|" 1.154 - sidebar 1.155 - loading_msg "$(_ 'Searching packages...')" 1.156 - 1.157 cat <<EOT 1.158 -<h2>$(_ 'Search packages')</h2> 1.159 - 1.160 <section> 1.161 <div>$(_ 'Selected packages:') <span id="countSelected"></span></div> 1.162 <footer> 1.163 @@ -761,11 +752,10 @@ 1.164 # 1.165 # Lets recharge the packages list 1.166 # 1.167 - search_form; sidebar 1.168 + tazpanel_header "$(_ 'Recharge')" 1.169 loading_msg "$(_ 'Recharging lists...')" 1.170 1.171 cat <<EOT 1.172 -<h2>$(_ 'Recharge')</h2> 1.173 <p>$(_ 'Recharge checks for new or updated packages')</p> 1.174 1.175 <section> 1.176 @@ -787,12 +777,10 @@ 1.177 # 1.178 # Upgrade packages 1.179 # 1.180 - search_form; sidebar 1.181 + tazpanel_header "$(_ 'Up packages')" 1.182 loading_msg "$(_ 'Checking for upgrades...')" 1.183 1.184 cat <<EOT 1.185 -<h2>$(_ 'Up packages')</h2> 1.186 - 1.187 <section> 1.188 <div>$(_ 'Selected packages:') <span id="countSelected"></span></div> 1.189 <footer> 1.190 @@ -824,7 +812,7 @@ 1.191 # 1.192 # Do an action on one or some packages 1.193 # 1.194 - search_form; sidebar 1.195 + tazpanel_header "TazPkg: $(GET do)" 1.196 loading_msg 1.197 1.198 # Find the command 1.199 @@ -847,8 +835,6 @@ 1.200 esac 1.201 1.202 cat <<EOT 1.203 -<h2>TazPkg: $(GET do)</h2> 1.204 - 1.205 <div>$MSG</div> 1.206 EOT 1.207 # Do the command for all asked packages 1.208 @@ -866,24 +852,33 @@ 1.209 # 1.210 # Packages info 1.211 # 1.212 - pkg=$(GET info) 1.213 - search_form; sidebar 1.214 + tazpanel_header "$(_ 'Package info')" 1.215 loading_msg "$(_ 'Getting package info...')" 1.216 1.217 + pkg="$(GET info)" 1.218 + 1.219 + # Symbolic icon 1.220 + if [ -d "$INSTALLED/$pkg" ]; then 1.221 + if grep -q "^$pkg$" "$PKGS_DB/blocked-packages.list" 1.222 + then icon='pkgib' 1.223 + else icon='pkgi' 1.224 + fi 1.225 + else icon='pkg' 1.226 + fi 1.227 + 1.228 cat <<EOT 1.229 <section> 1.230 <header> 1.231 - $(_ 'Package %s' $pkg) 1.232 + <span data-icon="$icon">$(_ 'Package %s' "$pkg")</span> 1.233 <form> 1.234 <input type="hidden" name="pkg" value="${pkg#get-}"/> 1.235 EOT 1.236 1.237 # Get receipt variables, show Install/Remove buttons 1.238 - if [ -d $INSTALLED/$pkg ]; then 1.239 + if [ -d "$INSTALLED/$pkg" ]; then 1.240 . $INSTALLED/$pkg/receipt 1.241 files=$(wc -l < $INSTALLED/$pkg/files.list) 1.242 - [ "$REMOTE_USER" == "root" ] && 1.243 - show_button do=Remove 1.244 + [ "$REMOTE_USER" == 'root' ] && show_button do=Remove 1.245 else 1.246 cd $PKGS_DB 1.247 eval "$(awk -F$'\t' -vp=$pkg ' 1.248 @@ -898,13 +893,13 @@ 1.249 printf "PACKAGE=\"%s\"; SHORT_DESC=\"%s\"; WEB_SITE=\"%s\"; ", $1, $2, $3 1.250 printf "CATEGORY=\"%s\"; VERSION=\"%s\"; LICENSE=\"%s\"; ", $4, $5, $6 1.251 }' extra.list undigest/*/extra.list)" 1.252 - [ "$CATEGORY" ] || CATEGORY="non-free" 1.253 + [ -z "$CATEGORY" ] && CATEGORY='non-free' 1.254 fi 1.255 PACKED_SIZE=${SIZES% *} 1.256 UNPACKED_SIZE=${SIZES#* } 1.257 - [ "$REMOTE_USER" == "root" ] && 1.258 + [ "$REMOTE_USER" == 'root' ] && 1.259 if [ "${pkg#get-}" != "$pkg" ]; then 1.260 - show_button "do=Install&nf" 1.261 + show_button 'do=Install&nf' 1.262 else 1.263 show_button do=Install 1.264 fi 1.265 @@ -929,24 +924,23 @@ 1.266 </form> 1.267 </header> 1.268 1.269 -<table class="wide summary"> 1.270 - <tr><td id="appImg"><img src="pkgs.cgi?app_img=$PACKAGE"/></td><td> 1.271 <table class="wide zebra summary" id="infoTable"> 1.272 <tbody> 1.273 - <tr><td><b>$(_ 'Name')</b></td><td>$PACKAGE</td></tr> 1.274 - <tr><td><b>$(_ 'Version')</b></td><td>$VERSION</td></tr> 1.275 + <tr><td><b>$(_ 'Name')</b></td><td>$PACKAGE 1.276 + <div id="appImg"><img src="pkgs.cgi?app_img=$PACKAGE"/></div> 1.277 + </td></tr> 1.278 + $([ -n "$VERSION" ] && echo "<tr><td><b>$(_ 'Version')</b></td><td>$VERSION</td></tr>") 1.279 <tr><td><b>$(_ 'Category')</b></td><td><a href="?list&cat=$CATEGORY">$CATEGORY</a></td></tr> 1.280 <tr><td><b>$(_ 'Description')</b></td><td>$SHORT_DESC</td></tr> 1.281 $([ -n "$MAINTAINER" ] && echo "<tr><td><b>$(_ 'Maintainer')</b></td><td>$MAINTAINER</td></tr>") 1.282 $([ -n "$LICENSE" ] && echo "<tr><td><b>$(_ 'License')</b></td><td><a href=\"?license=$pkg\">$LICENSE</a></td></tr>") 1.283 <tr><td><b>$(_ 'Website')</b></td><td><a href="$WEB_SITE" target="_blank">$WEB_SITE</a></td></tr> 1.284 $(show_info_links "$TAGS" "$(_ 'Tags')" 'tag') 1.285 - <tr><td><b>$(_ 'Sizes')</b></td><td>${PACKED_SIZE/.0/}/${UNPACKED_SIZE/.0/}</td></tr> 1.286 + $([ -n "$PACKED_SIZE" ] && echo "<tr><td><b>$(_ 'Sizes')</b></td><td>${PACKED_SIZE/.0/}/${UNPACKED_SIZE/.0/}</td></tr>") 1.287 $(show_info_links "$DEPENDS" "$(_ 'Depends')" 'info') 1.288 $(show_info_links "$SUGGESTED" "$(_ 'Suggested')" 'info') 1.289 </tbody> 1.290 </table> 1.291 -</td></tr></table> 1.292 1.293 <footer> 1.294 <a data-icon="text" href="?show_receipt=$pkg">$(_ 'View receipt')</a> 1.295 @@ -1000,13 +994,14 @@ 1.296 # 1.297 # TazPkg configuration page 1.298 # 1.299 + tazpanel_header "$(_ 'Administration')" 1.300 + loading_msg 1.301 + 1.302 cmd=$(GET admin) 1.303 pager="$(GET pager)"; pager=${pager:-$PAGE_SIZE}; pager=${pager:-100} 1.304 mirror="$(GET mirror)"; mirror="${mirror%/}/" 1.305 repository="$PKGS_DB/undigest/$(GET repository)" 1.306 link="$(GET link)"; link=${link%/} 1.307 - search_form; sidebar 1.308 - loading_msg 1.309 1.310 case "$cmd" in 1.311 clean) 1.312 @@ -1037,8 +1032,6 @@ 1.313 esac 1.314 1.315 cat <<EOT 1.316 -<h2>$(_ 'Administration')</h2> 1.317 - 1.318 <p>$(_ 'TazPkg administration and settings')</p> 1.319 1.320 <form id="actions"> 1.321 @@ -1245,7 +1238,7 @@ 1.322 # 1.323 # Show licenses for installed packages 1.324 # 1.325 - search_form; sidebar 1.326 + tazpanel_header "$(_ 'Administration')" 1.327 1.328 pkg=$(GET license) 1.329 case $pkg in 1.330 @@ -1322,24 +1315,23 @@ 1.331 # 1.332 # Show tag cloud 1.333 # 1.334 - search_form; sidebar 1.335 + tazpanel_header "$(_ 'Tags list')" 1.336 1.337 - echo "<h2>$(_ 'Tags list')</h2>" 1.338 brepo="<b>$repo</b>" 1.339 case $repo in 1.340 Any) title="$(_ 'List of tags in all repositories')" ;; 1.341 *) title="$(_ 'List of tags in repository "%s"' "$brepo")" ;; 1.342 esac 1.343 echo "<p>$title</p><p id=\"tags\">" 1.344 - to_read="" 1.345 - for i in $(repo_list ""); do 1.346 - if [ ! -e $i/packages.info ]; then 1.347 - list=installed 1.348 - else 1.349 - list=packages 1.350 + to_read='' 1.351 + for i in $(repo_list ''); do 1.352 + if [ -e "$i/packages.info" ]; then 1.353 + to_read="$to_read $i/packages.info" 1.354 + elif [ -e "$i/installed.info" ]; then 1.355 + to_read="$to_read $i/installed.info" 1.356 fi 1.357 - to_read="$to_read $i/$list.info" 1.358 done 1.359 + 1.360 TAGS="$(awk -F$'\t' '{if($6){print $6}}' $to_read | tr ' ' $'\n' | sort | uniq -c)" 1.361 MAX="$(echo "$TAGS" | awk '{if ($1 > MAX) MAX = $1} END{print MAX}')" 1.362 echo "$TAGS" | awk -vMAX="$MAX" '{ 1.363 @@ -1353,13 +1345,10 @@ 1.364 # 1.365 # Show packages with matching tag 1.366 # 1.367 - search_form; sidebar 1.368 + tag=$(GET tag) 1.369 + tazpanel_header "$(_ 'Tag "%s"' $tag)" 1.370 1.371 - tag=$(GET tag) 1.372 - cat <<EOT 1.373 -<h2 data-icon="tag">$(_ 'Tag "%s"' $tag)</h2> 1.374 -EOT 1.375 - [ "$REMOTE_USER" == "root" ] && cat <<EOT 1.376 + [ "$REMOTE_USER" == 'root' ] && cat <<EOT 1.377 <section> 1.378 <div>$(_ 'Selected packages:') <span id="countSelected"></span></div> 1.379 <footer> 1.380 @@ -1385,11 +1374,9 @@ 1.381 # 1.382 # Show blocked packages list 1.383 # 1.384 - search_form; sidebar 1.385 + tazpanel_header "$(_ 'Blocked packages list')" 1.386 1.387 cat <<EOT 1.388 -<h2>$(_ 'Blocked packages list')</h2> 1.389 - 1.390 <section> 1.391 <div>$(_ 'Selected packages:') <span id="countSelected"></span></div> 1.392 <footer> 1.393 @@ -1420,10 +1407,11 @@ 1.394 # 1.395 # Improving packages by the community effort 1.396 # 1.397 - search_form; sidebar 1.398 + pkg=$(GET improve) 1.399 + tazpanel_header "$(_ 'Improve package "%s"' $pkg)" 1.400 + 1.401 msg warn 'Under construction!<br/>It is only imitation of working' 1.402 1.403 - pkg=$(GET improve) 1.404 user=$(POST user); type=$(POST type); text="$(POST text)" 1.405 login=$(POST login); password=$(POST password) 1.406 1.407 @@ -1464,6 +1452,8 @@ 1.408 <tr><td>$(_ 'Password:')</td> 1.409 <td><input type="password" name="password"/></td></tr> 1.410 <tr><td colspan="2"> 1.411 + <label><input type="checkbox" name="rememberme"/>$(_ 'Remember me')</label></td></tr> 1.412 + <tr><td colspan="2"> 1.413 <button type="submit" data-icon="user">$(_ 'Log in')</button></td></tr> 1.414 </table> 1.415 </form> 1.416 @@ -1542,7 +1532,9 @@ 1.417 </table> 1.418 1.419 <textarea name="text" id="improveText" style="width:100%; resize: vertical; min-height:10rem"></textarea> 1.420 - <button type="submit" data-icon="slitaz">$(_ 'Send')</button> 1.421 + <footer> 1.422 + <button type="submit" data-icon="slitaz">$(_ 'Send')</button> 1.423 + </footer> 1.424 </form> 1.425 </section> 1.426 EOT 1.427 @@ -1569,7 +1561,8 @@ 1.428 # 1.429 # Default to summary 1.430 # 1.431 - search_form; sidebar; loading_msg 1.432 + tazpanel_header 1.433 + loading_msg 1.434 1.435 cat <<EOT 1.436 <form>
2.1 --- a/tazpanel/pkgs.css Fri Jun 05 00:37:48 2015 +0300 2.2 +++ b/tazpanel/pkgs.css Mon Jun 08 04:07:13 2015 +0300 2.3 @@ -162,7 +162,11 @@ 2.4 section .hborders thead tr { border-top: none; border-bottom: 1pt solid #DDD; } 2.5 2.6 2.7 -#appImg { vertical-align: top; width: 48px; padding: 0; margin: 0; } 2.8 +#appImg { 2.9 + display: inline-block; 2.10 + position: absolute; right: 0.6rem; 2.11 + vertical-align: top; width: 48px; padding: 0; margin: 0; 2.12 +} 2.13 #appImg img { height: 48px !important; width: 48px !important; } 2.14 2.15
3.1 --- a/tazpkg Fri Jun 05 00:37:48 2015 +0300 3.2 +++ b/tazpkg Mon Jun 08 04:07:13 2015 +0300 3.3 @@ -357,7 +357,7 @@ 3.4 info_path="$ROOT$PKGS_DB/installed.info" 3.5 if [ ! -f "$info_path" ]; then 3.6 if [ "$(id -u)" == '0' ]; then 3.7 - _ 'File "%s" generated. Please wait...' installed.info 3.8 + _ 'File "%s" generated. Please wait...' 'installed.info' 3.9 for pkg in $ROOT$PKGS_DB/installed/*/receipt; do 3.10 unset_receipt 3.11 . $pkg 3.12 @@ -376,8 +376,21 @@ 3.13 fi 3.14 fi 3.15 3.16 - # Check for md5 field in the installed.info 3.17 - 3.18 + # Check for md5 field (#9) in the installed.info 3.19 + if [ -n "$(awk -F$'\t' 'BEGIN{ n = "" } { if(NF != 9){ n = "o"; } } END{ print n }' $info_path)" ]; then 3.20 + _n 'File "%s" generated. Please wait...' 'installed.info.new' 3.21 + awk -F$'\t' -vm="$ROOT$PKGS_DB/installed.md5" 'BEGIN{OFS="\t"} 3.22 + { 3.23 + if (NF != 9) { 3.24 + pkg = $1 "-" $2 ".tazpkg"; 3.25 + "fgrep " pkg " " m " | cut -c-32" | getline $9; 3.26 + $9 = ($9 == "") ? "00000000000000000000000000000000" : $9; 3.27 + } 3.28 + print; 3.29 + }' $info_path > $info_path.new 3.30 + mv -f $info_path.new $info_path 3.31 + status 3.32 + fi 3.33 } 3.34 3.35 3.36 @@ -570,12 +583,12 @@ 3.37 extract_package() { 3.38 action 'Extracting package...' 3.39 cpio -idm --quiet < "${PACKAGE_FILE##*/}" && rm -f "${PACKAGE_FILE##*/}" 3.40 - status 3.41 if [ -f fs.cpio.lzma ]; then 3.42 unlzma -c fs.cpio.lzma | cpio -idm --quiet && rm fs.cpio.lzma 3.43 elif [ -f fs.cpio.gz ]; then 3.44 zcat fs.cpio.gz | cpio -idm --quiet && rm fs.cpio.gz 3.45 fi 3.46 + status 3.47 } 3.48 3.49 3.50 @@ -641,8 +654,7 @@ 3.51 cp $TMP_DIR/modifiers "$ROOT$INSTALLED/$PACKAGE" 2>/dev/null 3.52 cp $TMP_DIR/files.list "$ROOT$INSTALLED/$PACKAGE" 2>/dev/null 3.53 rm -rf $TMP_DIR 2> /dev/null 3.54 - sed -i "/ $(basename "$PACKAGE_FILE")$/d" \ 3.55 - $ROOT$PKGS_DB/installed.$SUM 2> /dev/null 3.56 + sed -i "/ $(basename "$PACKAGE_FILE")$/d" $ROOT$PKGS_DB/installed.$SUM 2>/dev/null 3.57 cd "$(dirname "$PACKAGE_FILE")" 3.58 $CHECKSUM "$(basename "$PACKAGE_FILE")" >> $ROOT$PKGS_DB/installed.$SUM 3.59 } 3.60 @@ -834,11 +846,13 @@ 3.61 check_for_installed_info 3.62 SIZES=$(echo $PACKED_SIZE $UNPACKED_SIZE | sed 's|\.0||g') 3.63 DEPENDS=$(echo $DEPENDS) # remove newlines from some receipts 3.64 + PKG_SUM="$(fgrep "$(basename "$PACKAGE_FILE")" "$ROOT$PKGS_DB/installed.$SUM" | cut -d' ' -f1)" 3.65 II=$ROOT$PKGS_DB/installed.info 3.66 sed -i "/^$PACKAGE /d" $II # remove old entry 3.67 cat >> $II <<EOT 3.68 -$PACKAGE $VERSION$EXTRAVERSION $CATEGORY $SHORT_DESC $WEB_SITE $TAGS $SIZES $DEPENDS 3.69 +$PACKAGE $VERSION$EXTRAVERSION $CATEGORY $SHORT_DESC $WEB_SITE $TAGS $SIZES $DEPENDS $PKG_SUM 3.70 EOT 3.71 + #awk -F$'\t' -vp="$PACKAGE" '$1==p' $ROOT$PKGS_DB/packages.info > $II 3.72 TEMP_FILE=$(mktemp) 3.73 sort $II > $TEMP_FILE; mv -f $TEMP_FILE $II; chmod a+r $II; unset II 3.74