Check-in [5d6118ef94]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

SHA1 Hash:5d6118ef94be5d33d8c82dee27ba795e33851419
Date: 2012-08-13 13:30:30
User: BarryK
Comment:fixes for optional subcategory in db category field, and display in ppm

Tags And Properties
Changes

Changes to woof-code/0pre

@@ -80,11 +80,11 @@
  DEPS="`cat $T2PATH/build/$T2PROFILE/var/adm/dependencies/$DB_nameonly | grep -v '00-dirtree' | tr '\t' ' ' | tr -s ' '`"
  DB_dependencies="`echo "$DEPS" | grep "^${DB_nameonly}:" | tr -s ' ' | cut -f 2 -d ' ' | tr '\n' ' ' | sed -e 's% $%%' -e 's% %,+%g' -e 's%^%+%'`"
 
  xDB_description="$DB_description"
  [ "$DB_description" = "" ] && xDB_description="nothing"
- DB_category="`${FIND_CAT} $DB_nameonly "$xDB_description"`"
+ DB_category="`${FIND_CAT} $DB_nameonly "$xDB_description"`" #120812 see updated find_cat
 
  echo "$DB_pkgname|$DB_nameonly|$DB_version|$DB_pkgrelease|$DB_category|$DB_size|$DB_path|$DB_fullfilename|$DB_dependencies|$DB_description|$DISTRO_BINARY_COMPAT|$DISTRO_COMPAT_VERSION||" >> $ONE_PKGLISTS_COMPAT
 
 done
 echo

Changes to woof-code/0setup

@@ -10,10 +10,11 @@
 #120126 mavrothal: offer option to skip specific repos. refer http://bkhome.org/blog/?viewDetailed=02650
 #120315 pkg list entries may have optional forced repo field. Ref: http://bkhome.org/blog/?viewDetailed=02414
 #120515 build from "gentoo" binary tarballs (refer support/gentoo). --no need to modify anything in 0setup.
 #120719 support raspbian. fix debian db format change.
 #120804 fix when only have pkgname_DEV, no pkgname.
+#120812 db category now allows optional subcategory (for which an icons exists in /usr/local/lib/X11/mini-icons).
 
 export LANG=C #faster.
 
 if [ -f ./DISTRO_SPECS ];then
 . ./DISTRO_SPECS
@@ -277,11 +278,12 @@
 
 v1PATTERN="s%\\-[0-9.]*${DISTRO_BINARY_COMPAT}[0-9.]*$%%"
 v2PATTERN="s%\\+[0-9.]*${DISTRO_BINARY_COMPAT}[0-9.]*$%%"
 
 #w008 convert pkg database ${PKGLISTFILE}pre to a standard format...
-#each line: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|
+#120812 subcategory...
+#each line: pkgname|nameonly|version|pkgrelease|category[;subcategory]|size|path|fullfilename|dependencies|description|
 #ex: abiword-1.2.4|abiword|1.2.4|5|Document|999K|slackware/ab|abiword-1.2.4-5-i486.tgz|+aiksausus,+gtk2|a nice wordprocessor|
 PKGLISTS_COMPAT="`echo "$PKG_DOCS_DISTRO_COMPAT" | tr ' ' '\n' | cut -f 3 -d '|' | tr '\n' ' '`" #see file DISTRO_PKGS_SPECS-ubuntu
 #...format ex: 'Packages-ubuntu-intrepid-main Packages-ubuntu-intrepid-universe'
 for ONE_PKGLISTS_COMPAT in $PKGLISTS_COMPAT
 do
@@ -309,11 +311,11 @@
      DB_fullfilename="`echo -n "$Filename" | rev | cut -f 1 -d '/' | rev`"
      DB_path="`echo -n "$Filename" | rev | cut -f 2-9 -d '/' | rev`"
      DB_version="`echo -n "$Version" | sed -e 's%^[0-9]:%%' -e "$v1PATTERN" -e "$v2PATTERN"`"
      DB_pkgrelease="`echo -n "$Version" | sed -e 's%^[0-9]:%%' -e "s%${DB_version}%%" -e 's%^\\-%%' -e 's%^\\+%%'`"
      DB_pkgname="${Package}_${DB_version}"
-     DB_category="`${FIND_CAT} $Package "$Description"`"
+     DB_category="`${FIND_CAT} $Package "$Description"`" #120812 find_cat now returns category[;subcategory], ex: Document;edit
      DB_dependencies="`echo -n "$Depends" | sed -e 's%, %\n%g' | cut -f 1 -d ' ' | tr '\n' ' ' | sed -e 's% $%%' -e 's% %,+%g' -e 's%,$%%'`"
      [ "$DB_dependencies" != "" ] && DB_dependencies='+'"$DB_dependencies"
      echo "$DB_pkgname|$Package|$DB_version|$DB_pkgrelease|$DB_category|${InstalledSize}K|$DB_path|$DB_fullfilename|$DB_dependencies|$Description|" >> $ONE_PKGLISTS_COMPAT
      echo -n "$Package "
      Description=''; Filename=''; Package=''; InstalledSize=''; Architecture=''; Version=''
@@ -357,11 +359,11 @@
     fi
     #get the category...
     #w015 find_cat_func replaced by compiled app...
     xDB_description="$DB_description"
     [ "$DB_description" = "" ] && xDB_description="nothing"
-    DB_category="`${FIND_CAT} $DB_nameonly "$xDB_description"`"
+    DB_category="`${FIND_CAT} $DB_nameonly "$xDB_description"`" #120812 see updated find_cat
     #pkgname, version...
     DB_pkgname="`echo -n "$DB_fullfilename" | sed -e 's%-i[3456]86.*%%' | sed -e 's%-noarch.*%%'`"
     noPATTERN="s%${DB_nameonly}%%"
     DB_version="`echo -n "$DB_pkgname" | sed -e "$noPATTERN" | sed -e 's%^\-%%'`"
     #add support for .txz pkgs...

Changes to woof-code/1download

@@ -18,10 +18,11 @@
 #111121 noryb009: improve arch linux support, patched: 0setup, 1download, 2createpackages, 3builddistro, DISTRO_COMPAT_REPOS-arch, support/arch/runDotInstalls
 #111127 no longer check if host has 'printcols', 'vercmp', it is done in 'merge2out' script.
 #120501 support arm build.
 #120515 build from "gentoo" binary tarballs (refer support/gentoo).
 #120719 support raspbian.
+#120812 db category now allows optional subcategory (for which an icons exists in /usr/local/lib/X11/mini-icons).
 
 export LANG=C #faster.
 
 . ./DISTRO_SPECS
 if [ -f ./DISTRO_COMPAT_REPOS-${DISTRO_BINARY_COMPAT}-${DISTRO_COMPAT_VERSION} ];then
@@ -322,11 +323,12 @@
 echo "Downloading packages..."
 LINECNT=1
 cat status/findpkgs_FINAL_PKGS-${DISTRO_BINARY_COMPAT}-${DISTRO_COMPAT_VERSION} |
 while read ONEDBENTRY
 do
- #ONEDBENTRY=:GENERICNAME:|PETorCOMPAT|DBFILE|pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
+ #120812 optional subcategory...
+ #ONEDBENTRY=:GENERICNAME:|PETorCOMPAT|DBFILE|pkgname|nameonly|version|pkgrelease|category[;subcategory]|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
  #...pkgname onwards is the full db entry for a package.
  LINECNT=$(($LINECNT + 1))
  PETorCOMPAT="`echo -n "$ONEDBENTRY" | cut -f 2 -d '|'`" #ex: compat
  if [ "$PETorCOMPAT" != "pet" -a "$PETorCOMPAT" != "compat" ];then
   echo

Changes to woof-code/2createpackages

@@ -32,10 +32,11 @@
 #120517 export DISTRO_BINARY_COMPAT so can reference in FIXUPHACK scripts.
 #120628 fix Categories= assignment in .desktop files. see also usr/local/petget/installpkg.sh.
 #120719 support raspbian.
 #120720 raspbian wheezy has files in /lib/arm-linux-gnueabihf and /usr/lib/arm-linux-gnueabihf
 #120721 support ubuntu and debian arm multiarch.
+#120812 db category now allows optional subcategory (for which an icons exists in /usr/local/lib/X11/mini-icons).
 
 export LANG=C #faster.
 
 . /etc/xdg/menus/hierarchy #w478 has PUPHIERARCHY variable.
 
@@ -283,11 +284,12 @@
  fi
  #no, inject $FNDIT at end of do-done, runs faster...
  # echo "${FNDIT}" |
  while read ONEDBENTRY
  do
-  #ONEDBENTRY=:GENERICNAME:|PETorCOMPAT|DBFILE|pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
+  #120812 category now allows optional subcategory...
+  #ONEDBENTRY=:GENERICNAME:|PETorCOMPAT|DBFILE|pkgname|nameonly|version|pkgrelease|category[;subcategory]|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
   #...pkgname onwards is the full db entry for a package.
   PETorCOMPAT="`echo -n "$ONEDBENTRY" | cut -f 2 -d '|'`" #ex: compat
   if [ "$PETorCOMPAT" != "pet" -a "$PETorCOMPAT" != "compat" ];then
    echo "
 Syntax ERROR in status/findpkgs_FINAL_PKGS-${DISTRO_BINARY_COMPAT}-${DISTRO_COMPAT_VERSION}:
@@ -550,11 +552,11 @@
   DEFICON='Executable.xpm'
   FULLPKGNAME="`basename $ONEBINARYPKG`"
   fnPATTERN='|'"$FULLPKGNAME"'|'
   #DB_ENTRY="`cat $PKGLISTS_COMPAT | grep "$fnPATTERN" | head -n 1`"
   DB_ENTRY="`echo -n "$ONEDBENTRY" | cut -f 4-19 -d '|'`" #take GENERICNAME|PETorCOMPAT|DBFILE| off start.
-  CATEGORY="`echo -n "$DB_ENTRY" | cut -f 5 -d '|'`"
+  CATEGORY="`echo -n "$DB_ENTRY" | cut -f 5 -d '|' | cut -f 1 -d ';'`" #120812
   #see also /usr/local/petget/installpkg.sh...
   case $CATEGORY in
    Desktop)    xCATEGORY='X-Desktop' ; DEFICON='mini.window3d.xpm' ;;
    System)     xCATEGORY='System' ; DEFICON='mini-term.xpm' ;;
    Setup)      xCATEGORY='X-SetupEntry' ; DEFICON='so.xpm' ;;

Changes to woof-code/rootfs-skeleton/usr/local/petget/filterpkgs.sh

@@ -18,10 +18,11 @@
 #120504b improved dev,doc,nls,exe pkg selection.
 #120515 dev,doc,exe selection for Mageia .rpm pkgs, fix for 120504b.
 #120515 common code from pkg_chooser.sh, findnames.sh, filterpkgs.sh, extracted to /usr/local/petget/postfilterpkgs.sh.
 #120719 support raspbian.
 #120811 category field now supports sub-category |category;subcategory|, use as icon in ppm main window.
+#120813 fix search pattern for optional subcategory. 120813 fix.
 
 export TEXTDOMAIN=petget___filterpkgs.sh
 export OUTPUT_CHARSET=UTF-8
 
 #export LANG=C
@@ -57,11 +58,12 @@
  echo "$1" > /tmp/petget_filtercategory
 else
  #or, a selection was made in the main gui (pkg_chooser.sh)...
  [ -f /tmp/petget_filtercategory ] && fltrCATEGORY="`cat /tmp/petget_filtercategory`"
 fi
-categoryPATTERN="|${fltrCATEGORY}|"
+#120813 there may be optional subcategory, put ; into pattern...
+categoryPATTERN="|${fltrCATEGORY}[;|]"
 [ "$fltrCATEGORY" = "ALL" ] && categoryPATTERN="|" #let everything through.
 
 #find pkgs in db starting with $PKG_FIRST_CHAR and by distro and category...
 #each line: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|
 #optionally on the end: compileddistro|compiledrelease|repo| (fields 11,12,13)
@@ -125,22 +127,23 @@
 #filter out installed pkgs from the repo pkg list...
 #ALIASES_PATTERNS="`echo -n "$PKG_ALIASES_INSTALLED" | tr -s ' ' | sed -e 's%^ %%' -e 's% $%%' | tr ' ' '\n' | sed -e 's%^%|%' -e 's%$%|%'`"
 #echo "$ALIASES_PATTERNS" >> /tmp/petget_installed_patterns
 fprPTN="s%$%|${fltrREPO_TRIAD}%" #120504 append repo-triad on end of each line.
 #FPR="`grep --file=/tmp/petget_installed_patterns -v /tmp/petget_fltrd_repo_${PKG_FIRST_CHAR}_${fltrCATEGORY}_Packages-${fltrREPO_TRIAD} | cut -f 1,5 -d '|' | sed -e "$fprPTN"`"
-#120811 keep subcategory for icon (if no subcategory, will use category)...
-FPR="`grep --file=/tmp/petget_installed_patterns -v /tmp/petget_fltrd_repo_${PKG_FIRST_CHAR}_${fltrCATEGORY}_Packages-${fltrREPO_TRIAD} | cut -f 1,4,5 -d '|' | cut -f 2-99 -d ';' | sed -e "$fprPTN"`"
+#120811 keep subcategory for icon (if no subcategory, will use category)... 120813 fix...
+#120813 pick subcategory if it exists...
+FPR="`grep --file=/tmp/petget_installed_patterns -v /tmp/petget_fltrd_repo_${PKG_FIRST_CHAR}_${fltrCATEGORY}_Packages-${fltrREPO_TRIAD} | cut -f 1,4,5 -d '|' | sed -e 's%|Document;%|%' -e 's%|Desktop;%|%' -e 's%|System;%|%' -e 's%|Setup;%|%' -e 's%|Utility;%|%' -e 's%|Filesystem;%|%' -e 's%|Graphic;%|%' -e 's%|Business;%|%' -e 's%|Personal;%|%' -e 's%|Network;%|%' -e 's%|Internet;%|%' -e 's%|Multimedia;%|%' -e 's%|Fun;%|%' | sed -e "$fprPTN"`"
 if  [ "$FPR" = "|${fltrREPO_TRIAD}" ];then
  echo -n "" > /tmp/petget/filterpkgs.results #nothing.
 else
  echo "$FPR" > /tmp/petget/filterpkgs.results
 fi
-#...'pkgname|description|repo-triad' has been written to /tmp/petget/filterpkgs.results for main gui.
+#...'pkgname|category|description|repo-triad' has been written to /tmp/petget/filterpkgs.results for main gui.
 
 #120515 post-filter /tmp/petget/filterpkgs.results.post according to EXE,DEV,DOC,NLS checkboxes...
 /usr/local/petget/postfilterpkgs.sh
 #...main gui will read /tmp/petget/filterpkgs.results.post (actually that happens in ui_Classic or ui_Ziggy, which is included in pkg_chooser.sh).
 
 [ $X1PID -ne 0 ] && kill $X1PID
 
 ###END###
 

Changes to woof-code/rootfs-skeleton/usr/local/petget/finduserinstalledpkgs.sh

@@ -1,23 +1,24 @@
 #!/bin/sh
 #(c) Copyright Barry Kauler 2009, puppylinux.com
 #2009 Lesser GPL licence v2 (http://www.fsf.org/licensing/licenses/lgpl.html).
 #called from /usr/local/petget/pkg_chooser.sh (actually, from ui_Classic and ui_Ziggy, which are embedded in pkg_chooser.sh)
 #find all pkgs that have been user-installed, format for display.
-
+#120813 no longer using /var/local/petget/flg_appicons
 
 #/root/.packages/usr-installed-packages has the list of installed pkgs...
 touch /root/.packages/user-installed-packages
 cut -f 1,10 -d '|' /root/.packages/user-installed-packages > /tmp/petget/installedpkgs.results
 
 #120529 may have app icons displayed in main window...
 cp -f /tmp/petget/installedpkgs.results /tmp/petget/installedpkgs.results.post-noicons
-FLG_APPICONS="`cat /var/local/petget/flg_appicons`"
-if [ "$FLG_APPICONS" = "true" ];then
- #note, for main tree, this is done in postfilterpkgs.sh.
- #ex: 'abiword0-1.2.3|description of abiword|stuff' becomes 'abiword|abiword0-1.2.3|description of abiword|stuff'
- sed -r -e 's%(^[a-zA-Z]*)%\1|\1%' /tmp/petget/installedpkgs.results > /tmp/petget/installedpkgs.results.post
-else
+#120813 remove...
+#FLG_APPICONS="`cat /var/local/petget/flg_appicons`"
+#if [ "$FLG_APPICONS" = "true" ];then
+# #note, for main tree, this is done in postfilterpkgs.sh.
+# #ex: 'abiword0-1.2.3|description of abiword|stuff' becomes 'abiword|abiword0-1.2.3|description of abiword|stuff'
+# sed -r -e 's%(^[a-zA-Z]*)%\1|\1%' /tmp/petget/installedpkgs.results > /tmp/petget/installedpkgs.results.post
+#else
  cp -f /tmp/petget/installedpkgs.results /tmp/petget/installedpkgs.results.post
-fi
+#fi
 
 ###END###

Changes to woof-code/rootfs-skeleton/usr/local/petget/postfilterpkgs.sh

@@ -4,10 +4,11 @@
 #120515 script created, common code extracted from above 3 scripts.
 #120525 fix post-filtering.
 #120529 prefix an icon to each line of results.
 #120719 support raspbian.
 #120811 category field now supports sub-category |category;subcategory|, use as icon in ppm main window.
+#120813 fix subcategory icon.
 
 #ui_Ziggy and ui_Classic pass in two params, ex: EXE true
 [ $2 ] && echo -n "$2" > /var/local/petget/postfilter_${1}
 
 #101129 postprocess, show EXE, DEV, DOC, NLS...
@@ -42,11 +43,14 @@
 # #ex: 'abiword0-1.2.3|description of abiword|stuff' becomes 'abiword|abiword0-1.2.3|description of abiword|stuff'
 # sed -i -r -e 's%(^[a-zA-Z]*)%\1|\1%' /tmp/petget/filterpkgs.results.post
 #fi
 
 #120811 icon name is now 2nd field, want append "mini-"...
+##120813 also append "mini-" to subcategory, ex: Document;edit becomes mini-Document;mini-edit
 #ex line: htop-0.9-i486|System|View Running Processes|puppy-wary5-official
 #so, get "mini-System", which is name of an icon in /usr/local/lib/X11/mini-icons
 sed -i -e 's%|%|mini-%' /tmp/petget/filterpkgs.results.post
+##120813 finds first ; followed by a character, appends "mini-" before the char...
+#sed -i -e 's%|%|mini-%' -r -e 's%;([a-z])%;mini-\1%' /tmp/petget/filterpkgs.results.post
 
 
 ###END###

Changes to woof-code/support/findpkgs

@@ -9,10 +9,11 @@
 #111128 checking fields 11,12,13 of db now much faster.
 #111204 do not use /var/local/woof, instead 'status' directory (better for running from different save-files).
 #111204 use md5sum for all checking whether to rerun this script.
 #120515 build from "gentoo" binary tarballs (refer support/gentoo).
 #120719 support raspbian.
+#120812 db category now allows optional subcategory (for which an icons exists in /usr/local/lib/X11/mini-icons).
 
 #variable PKGS_SPECS_TABLE in file DISTRO_PKGS_SPECS-* to have optional values in 5th field:
 #yes|915resolution||exe,dev,doc,nls|[pet[:<repo>]] or yes|915resolution||exe,dev,doc,nls|[compat[:<repo>]]
 #exs: yes|915resolution||exe,dev,doc,nls|compat yes|915resolution|915resolution|exe,dev,doc,nls|compat:core
 #...'compat' means pkg from compatible-distro, 'core' is a specific repo, 3rd or 4rd field in 'Packages-mageia-1-core'
@@ -231,11 +232,11 @@
  [ -f ${STATUSDIR}/MODIFY_DATE_${ADBFILE} ] && OLDSUM="`cat ${STATUSDIR}/MODIFY_DATE_${ADBFILE}`"
  if [ "$NEWSUM" != "$OLDSUM" ];then
   DB_compileddistro="`echo -n "$ADBFILE" | cut -f 2 -d '-'`" #ex: puppy
   DB_compiledrelease="`echo -n "$ADBFILE" | cut -f 3 -d '-'`" #ex: 4
   DB_repo="`echo -n "$ADBFILE" | cut -f 4 -d '-'`" #ex: official
-  #db fields: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
+  #db fields: pkgname|nameonly|version|pkgrelease|category[;subcategory]|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
   echo "Fixing compileddistro|compiledrelease| fields in $ADBFILE"
   FIELD11PTN="s%VERTBARCHAR$%VERTBARCHAR${DB_compileddistro}VERTBARCHAR%"
   FIELD12PTN="s%VERTBARCHAR$%VERTBARCHAR${DB_compiledrelease}VERTBARCHAR%"
   sed -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e 's%|%VERTBARCHAR%' -e "${FIELD11PTN}" -e "${FIELD12PTN}" -e 's%VERTBARCHAR$%VERTBARCHARVERTBARCHAR%' -e 's%\(VERTBARCHAR[^|]*|[^|]*|$\)%\1|%'  -e 's%VERTBARCHAR%|%g' ${ADBFILE} > /tmp/findpkgs_tmp/dbfilefixed
   REALNEWSUM="`md5sum /tmp/findpkgs_tmp/dbfilefixed | cut -f 1 -d ' '`"

Changes to woof-code/support/rationalize_categories

@@ -5,10 +5,12 @@
 #maybe each being in a different category. see info:
 #puppy package database format:
 #pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
 #...'compileddistro|compiledrelease' (fields 11,12) identify where the package was compiled.
 #in the PPM it is better if they are grouped in same category.
+#120812 db category now allows optional subcategory (for which an icons exists in /usr/local/lib/X11/mini-icons).
+#ie: pkgname|nameonly|version|pkgrelease|category[;category]|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
 
 #ex: before:
 #homebank-4.3-w5|homebank|4.3-w5||Business|604K||homebank-4.3-w5.pet|+gtk+|HomeBank finance management|puppy|wary5||
 #homebank_DOC-4.3-w5|homebank_DOC|4.3-w5||BuildingBlock|1892K||homebank_DOC-4.3-w5.pet||personal finance||||
 #homebank_NLS-4.3-w5|homebank_NLS|4.3-w5||BuildingBlock|1972K||homebank_NLS-4.3-w5.pet|+homebank|personal finance||||
@@ -28,11 +30,11 @@
 while read ONEDBENTRY
 do
  ENTRYfixed="$ONEDBENTRY"
  DB_nameonly="`echo -n "$ONEDBENTRY" | cut -f 2 -d '|'`"
  if [ "`echo -n "$DB_nameonly" | grep -E '_DEV|_DOC|_NLS'`" = "" ];then
-  DB_category="`echo -n "$ONEDBENTRY" | cut -f 5 -d '|'`"
+  DB_category="`echo -n "$ONEDBENTRY" | cut -f 5 -d '|' | cut -f 1 -d ';'`" #120812
   nameonlyref="$DB_nameonly"
  else
   #big assumption that these are listed in db afterward...
   nameonlybase="`echo -n "$DB_nameonly" | rev | cut -c 5-999 | rev`" #remove the '_DEV' part.
   #echo "nameonlyref=$nameonlyref nameonlybase=$nameonlybase" #TEST

Changes to woof-code/support/upgrade-wary-pkgs-from-t2

@@ -1,10 +1,11 @@
 #!/bin/sh
 #sept 2011. creating wary 5.2pre, with new pkgs compiled in t2, need to upgrade all the existing ones.
 #note, i previously setup woof for building a t2 system and ran 0pre, 0setup and 2createpackages,
 #which created 'packages-t2test' (the same thing as 'packages-wary'), then i changed back to a wary build.
 #the t2 setup also created 'Packages-t2-9-official'.
+#120812 db category now allows optional subcategory (for which an icons exists in /usr/local/lib/X11/mini-icons).
 
 echo "Need to manually check contents again originals..." > WARNING_NEW_VERSIONS
 
 echo "deleting prior ../pet-construction/pet_packages-wary5-WARY52 ..."
 rm -rf ../pet-construction/pet_packages-wary5-WARY52 2>/dev/null
@@ -19,11 +20,12 @@
 sync
 echo "...done"
 
 cp -f Packages-puppy-wary5-official Packages-puppy-wary5-official-WARY52
 
-#db fields: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
+#120812 subcategory...
+#db fields: pkgname|nameonly|version|pkgrelease|category[;subcategory]|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
 
 rm -f t2laterversions 2>/dev/null
 
 cat Packages-t2-9-official |
 while read ALINE
@@ -87,14 +89,14 @@
 
       #copy the t2 pkg to a new place...
       mv -f ../pet-construction/pet_packages-wary5-WARY52/${DB_fullfilenamex} ../pet-construction/pet_packages-wary5-WARY52/${DB_fullfilenamex}OLDWARY5PKG #rename the old one. kept for manual comparison.
       cp -a packages-t2test/${NAMEONLY} ../pet-construction/pet_packages-wary5-WARY52/${NEWNAME}
 
-      #db fields: pkgname|nameonly|version|pkgrelease|category|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
+      #db fields: pkgname|nameonly|version|pkgrelease|category[;subcategory]|size|path|fullfilename|dependencies|description|compileddistro|compiledrelease|repo|
       #the t2 spec is $ALINE, however, get it from old wary...
       OLDSPEC="`grep "$nPTN1" Packages-puppy-wary5-official | tail -n 1`"
-      DB_category="`echo -n "$OLDSPEC" | cut -f 5 -d '|'`"
+      DB_category="`echo -n "$OLDSPEC" | cut -f 5 -d '|' | cut -f 1 -d ';'`" #120812
       DB_size="`echo -n "$ALINE" | cut -f 6 -d '|'`"
       DB_dependencies="`echo -n "$OLDSPEC" | cut -f 9 -d '|'`"
       DB_description="`echo -n "$OLDSPEC" | cut -f 10 -d '|'`"
       NEWSPECS="${NEWNAME}|${NEWNAMEONLY}|${NEWVERSION}||${DB_category}|${DB_size}||${NEWPET}|${DB_dependencies}|${DB_description}|puppy|wary5||"
       grep -v "$nPTN1" Packages-puppy-wary5-official-WARY52 > /tmp/ppwo52

Changes to woof-distro/x86/ubuntu/precise/DISTRO_SPECS

@@ -1,9 +1,9 @@
 #One or more words that identify this distribution:
 DISTRO_NAME='Precise Puppy'
 #version number of this distribution:
-DISTRO_VERSION=5.2.60
+DISTRO_VERSION=5.2.65
 #The distro whose binary packages were used to build this distribution:
 DISTRO_BINARY_COMPAT='ubuntu'
 #Prefix for some filenames: exs: precisesave.2fs, precise-4.99.0.sfs
 DISTRO_FILE_PREFIX='precise'
 #The version of the distro whose binary packages were used to build this distro: