3 #2011 Raminos production (raminux.sf.net)
7 pacman
-Sy > /dev
/null
2>&1
8 newmd5
=`md5sum /var/lib/pacman/sync/core.db | cut -d ' ' -f 1`
10 DATABASE
=/var
/lib
/instpkg
/packages.data
11 CFG
=/var
/lib
/instpkg
/settings.include
13 [ ! -d /var
/lib
/instpkg
] && mkdir
-p /var
/lib
/instpkg
14 [ ! -f $CFG ] && touch $CFG
15 grep -q "md5sum=" $CFG ||
echo "md5sum=" >> $CFG
16 grep -q "bysize=" $CFG ||
echo "bysize=" >> $CFG
17 grep -q "showsize=" $CFG ||
echo "showsize=true" >> $CFG
18 grep -q "infobutton=" $CFG ||
echo "infobutton=" >> $CFG
19 grep -q "selectall=" $CFG ||
echo "selectall=" >> $CFG
22 if [ "$newmd5" != "$md5sum" ]; then
23 sed -i "s/md5sum=.*/md5sum=$newmd5/" $CFG
24 $HOME/manage
/update_pkgdb
27 [ ! -f $DATABASE ] && $HOME/manage
/update_pkgdb
29 tempfile
=`mktemp 2> /dev/null` || tempfile
=/tmp
/tmpfile$$
30 trap "rm -f $tempfile" 0 1 2 5 15
34 if [ $showsize ]; then
36 grep "^${GRPPAIR/,/ } " $DATABASE | cut
-d ' ' -f 3-5 |
sort -n -k 3 -r | \
37 while read NAME VER SIZE
; do
38 if [ $selectall ]; then
39 [ -d /var
/lib
/pacman
/local
/$NAME-$VER ] && \
40 echo "$NAME $(expr $SIZE / 1024)KB(*) on" || \
41 echo "$NAME $(expr $SIZE / 1024)KB(-) on"
43 [ -d /var
/lib
/pacman
/local
/$NAME-$VER ] && \
44 echo "$NAME $(expr $SIZE / 1024)KB(*) off" || \
45 echo "$NAME $(expr $SIZE / 1024)KB(-) off"
49 grep "^${GRPPAIR/,/ } " $DATABASE | cut
-d ' ' -f 3-5 | \
50 while read NAME VER SIZE
; do
51 if [ $selectall ]; then
52 [ -d /var
/lib
/pacman
/local
/$NAME-$VER ] && \
53 echo "$NAME $(expr $SIZE / 1024)KB(*) on" || \
54 echo "$NAME $(expr $SIZE / 1024)KB(-) on"
56 [ -d /var
/lib
/pacman
/local
/$NAME-$VER ] && \
57 echo "$NAME $(expr $SIZE / 1024)KB(*) off" || \
58 echo "$NAME $(expr $SIZE / 1024)KB(-) off"
63 grep "^${GRPPAIR/,/ } " $DATABASE | cut
-d ' ' -f 3,4 | \
64 while read NAME VER
; do
65 if [ $selectall ]; then
66 [ -d /var
/lib
/pacman
/local
/$NAME-$VER ] && \
67 echo "$NAME $VER(*) on" || \
68 echo "$NAME $VER(-) on"
70 [ -d /var
/lib
/pacman
/local
/$NAME-$VER ] && \
71 echo "$NAME $VER(*) off" || \
72 echo "$NAME $VER(-) off"
80 choice
=`$DIALOG --backtitle "Install packages" --stdout \
81 --title "" --ok-label "Add" --cancel-label "Back" \
82 --checklist "Select packages" 20 61 15 \
83 $(pkgmenu) 2> /dev/null`
87 if [ ! -z "$choice" ]; then
88 echo -n "$choice " >> $tempfile
98 choice
=`$DIALOG --backtitle "Install packages" --stdout \
99 --title "" --default-item "${choice//\"/}" --ok-label "Add" \
100 --extra-button --extra-label "Info" --cancel-label "Back" \
101 --checklist "Select packages" 20 61 15 \
102 $(pkgmenu) 2> /dev/null`
106 if [ ! -z "$choice" ]; then
107 echo -n "$choice " >> $tempfile
112 if [ ! -z "$choice" ]; then
114 $DIALOG --title "${i//\"/}" --msgbox "Description:\n\n$(grep "^${GRPPAIR/,/ } ${i//\"/} " $DATABASE | cut
-d " " -f 6-)" 10 61 2> /dev/null
124 choice=`$DIALOG --backtitle "instpkg settings
" --stdout \
125 --title "" --checklist "Setup options
" 20 61 15 \
126 infobutton - $([ $infobutton ] && echo on || echo off) \
127 showsize - $([ $showsize ] && echo on || echo off) \
128 bysize - $([ $bysize ] && echo on || echo off) \
129 selectall - $([ $selectall ] && echo on || echo off) 2> /dev/null`
133 for i in infobutton showsize bysize selectall; do
134 [ "$choice" != "${choice/"$i"/}" ] && sed -i "s
/$i=.
*/$i=true
/" $CFG || sed -i "s
/$i=.
*/$i=/" $CFG
141 GRPMENU=`cut -d ' ' -f 1,2 $DATABASE | sort -u | tr ' ' ',' | sed 's/.*/& -/'`
143 GRPPAIR=`$DIALOG --backtitle "Install packages
" --stdout \
144 --title "" --clear --default-item "$GRPPAIR" \
145 --extra-button --extra-label "Install
" \
146 --menu "Select packages
" 20 61 15 \
147 $GRPMENU "<setup
>" - 2> /dev/null`
151 if [ "$GRPPAIR" = "<setup
>" ]; then
155 if [ ! -z "$GRPPAIR" ]; then
157 if [ $infobutton ]; then
166 [ ! -z "$
(cat $tempfile)" ] && pacman -Sf $(cat $tempfile | tr -d '"' | tr '/' ' ')
168 #extra button pressed