# HG changeset patch # User Christophe Lincoln # Date 1305567519 -7200 # Node ID 447bc4d632977888f072486f05ab894cd89863ed # Parent c790b4c6612690cae17a2e0b88a237adbc031d1a Move tazpkgbox to oldstuff diff -r c790b4c66126 -r 447bc4d63297 Makefile --- a/Makefile Mon May 16 19:27:47 2011 +0200 +++ b/Makefile Mon May 16 19:38:39 2011 +0200 @@ -2,7 +2,6 @@ # PREFIX?=/usr DOCDIR?=$(PREFIX)/share/doc -LIBDIR?=$(PREFIX)/lib/slitaz SYSCONFDIR?=/etc/slitaz DESTDIR?= LINGUAS?=fr pt @@ -59,10 +58,7 @@ install -m 0777 tazpkg $(DESTDIR)$(PREFIX)/bin # Tazpkgbox GUI install -m 0777 tazpkg-notify $(DESTDIR)$(PREFIX)/bin - install -m 0777 tazpkgbox $(DESTDIR)$(PREFIX)/bin install -m 0777 tazpkgbox-install $(DESTDIR)$(PREFIX)/bin - install -m 0755 -d $(DESTDIR)$(LIBDIR) - install -m 0777 lib/libtazpkgbox $(DESTDIR)$(LIBDIR) # Configuration files install -m 0755 -d $(DESTDIR)$(SYSCONFDIR) install -m 0644 tazpkg.conf $(DESTDIR)$(SYSCONFDIR) @@ -83,8 +79,8 @@ uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/tazpkg rm -f $(DESTDIR)$(PREFIX)/bin/tazpkgbox - rm -rf $(DESTDIR)$(LIBDIR)/tazpkgbox - rm -f $(DESTDIR)$(LIBDIR)/libtazpkgbox + rm -rf $(DESTDIR)$(PREFIX)/tazpkg-notify + rm -f $(DESTDIR)$(PREFIX)/tazpkgbox-install rm -rf $(DESTDIR)$(DOCDIR)/tazpkg rm -f $(DESTDIR)$(SYSCONFDIR)/tazpkg.conf rm -rf $(DESTDIR)$(PREFIX)/share/locale/*/LC_MESSAGES/tazpkg*.mo diff -r c790b4c66126 -r 447bc4d63297 applications/tazpkgbox.desktop --- a/applications/tazpkgbox.desktop Mon May 16 19:27:47 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Name=Package manager -Name[fr]=Gestionnaire de paquets -Comment=Manage software packages -Exec=subox tazpkgbox -Icon=tazpkg -Type=Application -Categories=System; diff -r c790b4c66126 -r 447bc4d63297 lib/libtazpkgbox --- a/lib/libtazpkgbox Mon May 16 19:27:47 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,708 +0,0 @@ -#!/bin/sh -# The libtazpkgbox - Libraries used by tazpkg GUI box. -# -# These are functions to list installed packages in a suitable format for a -# GTK tree and list mirrored packages using the packages.desc file. The libs -# also provide functions to search packages and files, and the GUI box for -# package information. -# -# (C) 2010 SliTaz - GNU General Public License v3. -# - -# Include gettext helper script. -. /usr/bin/gettext.sh - -# Export package name for gettext. -TEXTDOMAIN='libtazpkgbox' -export TEXTDOMAIN - -# Dont hardcore path, use $LIB -export LIB=/usr/lib/slitaz/libtazpkgbox - -usage() -{ - [ "$1" ] && echo "??? $0 $@" - echo -e "\nTazpkgbox library\n -Usage : $0 [function] [pkg|args] [pkg] -Functions: - list-all List all packages. - list-undigest List undigest packages. - list-blocked List blocked packages. - list-upgradeable List all upgradable packages. - search-packages Search for packages. - search-files Search for files. - search-tags Search for TAGS. - package-infos Display box with pkg information." -} - -# List functions. -undigest_list() -{ - IFS="|" - if [ "$1" -a "$1" != "all" ]; then - cut -f 1,2,3,4 -d "|" undigest/$1/packages.desc - else - cut -f 1,2,3,4 -d "|" undigest/*/packages.desc | sort - fi 2> /dev/null | while read PACKAGE VERSION SHORT_DESC CATEGORY; do - [ $CAT = all -o $CATEGORY = " $CAT " ] || continue - ICON=tazpkg - PACKAGE=${PACKAGE%% *} - if [ -d installed/$PACKAGE ]; then - [ "$2" = "installable" ] && continue - ICON=tazpkg-installed - if grep -qs "^$PACKAGE$" blocked-packages.list; then - ICON=stop - fi - else - [ "$2" = "installed" ] && continue - fi - [ "$2" = "blocked" -a "$ICON" != "stop" ] && continue - [ "$2" = "upgradeable" ] && - ! grep -q ^$PACKAGE$ upgradeable-packages.list && continue - echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" - done - unset IFS -} - -installable_list() -{ - local cache - cache=packages.installable_list.$CAT - if [ -s $cache -a $cache -nt packages.desc -a $cache -nt installed ]; then - cat $cache - return - fi - IFS="|" - cut -f 1,2,3,4 -d "|" packages.desc undigest/*/packages.desc 2> /dev/null | sort | \ - while read PACKAGE VERSION SHORT_DESC CATEGORY; do - # Check first for category for more speed. - [ $CAT = all -o $CATEGORY = " $CAT " ] || continue - [ -d installed/${PACKAGE% } ] && continue - ICON=tazpkg - grep -qs "^$PACKAGE" undigest/*/packages.desc && ICON=add - echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" - done | tee $cache - unset IFS -} - -installed_list() -{ - for pkg in ${1}installed/* - do - [ "$1" -a -s installed/$(basename $pkg)/receipt ] && continue - . $pkg/receipt - ICON=tazpkg-installed - [ $CAT = all -o $CATEGORY = $CAT ] || continue - if [ "$1" -o -L $pkg ]; then - ICON=media-flash - else - grep -qs "^$PACKAGE" undigest/*/packages.desc && ICON=add - fi - grep -qs "^$PACKAGE$" blocked-packages.list && ICON=stop - echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" - done -} - -all_list() -{ - local cache - cache=packages.all_list.$CAT - if [ -s $cache -a $cache -nt packages.desc -a $cache -nt installed ]; then - cat $cache - return - fi - { installable_list ; installed_list; } | sort -t \| -k 2 -u | tee $cache -} - -blocked_list() -{ - ICON=tazpkg-installed - [ "$1" = "blocked" ] && ICON=stop - for pkg in $(cat $1-packages.list 2> /dev/null); do - [ -f installed/$pkg/receipt ] || continue - . installed/$pkg/receipt - [ $CAT = all -o $CATEGORY = $CAT ] || continue - AVAILABLE=$(grep -s "^$pkg " packages.desc \ - undigest/*/packages.desc | awk '{ print $3 }') - echo "$ICON|$PACKAGE|$VERSION (Available: $AVAILABLE)|$SHORT_DESC" - done -} - -# Search functions - -clean_search() -{ - # Clean preview results. - rm -f /tmp/tazpkgbox/search - touch /tmp/tazpkgbox/search -} - -list_files() -{ - sed -e "/^$/d" -e "1,/^=*$/d" -e "/^=*$/,/EOT/d" | while read input; do - if [ "$input" = "${input/ :/}" ]; then - # Input is a file. - if [ "$ICON" = tazpkg ]; then - echo "add|$PACKAGE| |$input" - else - if [ -d $input ] ; then - echo "folder|$PACKAGE| |$input" - elif [ -x $input ]; then - echo "exec|$PACKAGE| |$input" - elif [ -f $input ]; then - echo "txt|$PACKAGE| |$input" - else - # Missing installed file. - echo "dialog-warning|$PACKAGE| |$input" - fi - fi - else - # Input contains package name, don't refer to Package word as - # tazpkg can use other languages. - PACKAGE=$(echo $input | sed 's/^.* \(.*\) :.*$/\1/') - ICON=tazpkg - [ -d /var/lib/tazpkg/installed/$PACKAGE ] && ICON=tazpkg-installed - echo "$ICON|$PACKAGE |$(grep -hs "^$PACKAGE " /var/lib/tazpkg/packages.desc \ - /var/lib/tazpkg/undigest/*/packages.desc | cut -f2,3 -d '|' | head -1)" - fi - done -} - -list_package() -{ - if [ -d /var/lib/tazpkg/installed/$1 ]; then - . /var/lib/tazpkg/installed/$1/receipt - echo "tazpkg-installed|$PACKAGE|$VERSION|$SHORT_DESC" - else - echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC" - fi -} - -search_package() -{ - IFS="|" - cut -f1,2,3 -d '|' /var/lib/tazpkg/packages.desc \ - /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \ - while read PACKAGE VERSION SHORT_DESC; do - [ "$PACKAGE" = "${PACKAGE/$SEARCH/}" -a "$SHORT_DESC" = "${SHORT_DESC/$SEARCH/}" ] \ - && continue - list_package ${PACKAGE% } - done - unset IFS -} - -case "$1" in - list-all) - cd /var/lib/tazpkg - CAT=`cat /tmp/tazpkgbox/category` - STATUS=`cat /tmp/tazpkgbox/status` - case $STATUS in - blocked|upgradeable) - blocked_list $STATUS;; - linkable) - [ -d fslink ] && installed_list \ - $(readlink fslink)/var/lib/tazpkg/;; - installed) - installed_list ;; - installable) - installable_list ;; - *) - all_list ;; - esac ;; - list-undigest) - cd /var/lib/tazpkg - set -- `cat /tmp/tazpkgbox/undigest-category` - CAT="${1:-all}" - undigest_list $2 $3 ;; - list-blocked|list-upgradeable) - cd /var/lib/tazpkg - CAT=`cat /tmp/tazpkgbox/category` - blocked_list $1 ;; - search-files) - # Search for files - clean_search - tazpkg search-file "$SEARCH" --mirror | list_files > \ - /tmp/tazpkgbox/search ;; - search-packages) - clean_search - { search_package ; - for i in $(grep ^$SEARCH= /var/lib/tazpkg/packages.equiv | \ - cut -d= -f2); do - SEARCH=${i#*:} - search_package - done; } > /tmp/tazpkgbox/search ;; - search-tags) - clean_search - fgrep -ls TAGS /home/slitaz/wok/*/receipt | while read file; do - TAGS="" - . $file - case "$TAGS" in - *$SEARCH*) list_package $PACKAGE ;; - esac - done > /tmp/tazpkgbox/search ;; - package-infos) - # Dialog box to provide package info and actions - XTERM_OPTS="-geometry 80x16+120+120" - PKG=`cat /tmp/tazpkgbox/pkg | sed s/" "/""/g` - ROOT=/var/lib/tazpkg - if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then - ROOT=$(readlink /var/lib/tazpkg/fslink)$ROOT - fi - TMP_DIR=/tmp/tazpkg-$$-$RANDOM - if [ "$2" = "sizes" ]; then - cat < /dev/null ) - fi - cat $ROOT/installed/$3/files.list | grep ^/ | while read file; do - realfile="$file" - if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then - realfile="$(readlink /var/lib/tazpkg/fslink)$file" - fi - echo -n "$(stat -c "%A|%U|%G|%s|$file|" "$realfile" || \ - echo "File lost !||||$file|")" - if [ -L "$realfile" ]; then - echo -n "$(readlink "$realfile")" - elif [ -f "$file" ]; then - case "$CONF_FILES" in - *$file*) - if cmp $file $TMP_DIR$file > /dev/null 2>&1; then - echo -n "[configuration]" - else - echo -n "$(stat -c "[configuration: %.16y]" $file)" - fi;; - #* if [ "$(tazpkg check-file $file $2)" = "failure" ]; then - # echo -n "Invalid md5" - # fi;; - esac - fi - echo "" - done - [ "$CONF_FILES" ] && rm -rf $TMP_DIR - exit 0 - fi - - if [ "$2" = "list_files_mirror" ]; then - for i in /var/lib/tazpkg/files.list.lzma \ - /var/lib/tazpkg/undigest/*/files.list.lzma ; do - [ -f $i ] || continue - unlzma -c $i - done | grep -- "^$3:" | awk '{ print substr($0,index($0,":")+2) }' - exit 0 - fi - - if [ "$2" = "list_packages" ]; then - PKG="$3" - if [ "$4" ]; then - shift - export LIST_PKGS=' - - - - 600160 - - PKG - ' - for i in "$@"; do - if [ -d $ROOT/installed/$i ]; then - . $ROOT/installed/$i/receipt - LIST_PKGS="$LIST_PKGS - $i|$VERSION|Installed|$SHORT_DESC - " - else - RES=`grep -sh "^$i " \ - /var/lib/tazpkg/packages.desc \ - /var/lib/tazpkg/undigest/*/packages.desc` - PACKAGE=`echo "$RES" | cut -d "|" -f 1` - VERSION=`echo "$RES" | cut -d "|" -f 2` - SHORT_DESC=`echo "$RES" | cut -d "|" -f 3` - SIZE=`grep -sh -A 3 "^$(echo $PACKAGE)$" \ - /var/lib/tazpkg/packages.txt \ - /var/lib/tazpkg/undigest/*/packages.txt | \ - tail -1 | sed 's/.*(\(.*\) .*/\1/'` - LIST_PKGS="$LIST_PKGS - $i|$VERSION|$SIZE|$SHORT_DESC - " - fi - done - LIST_PKGS="$LIST_PKGS - echo "\$PKG" > /tmp/tazpkgbox/pkg - $0 package-infos - refresh:PKG - refresh:PKG_STATS - refresh:CACHE_STATS - - - - - - - - " - eval `gtkdialog --center --program=LIST_PKGS` - [ "$EXIT" = "OK" ] || exit 0 - fi - fi - - export LIST_FILES=" - - - - FILE - 600160 - - $0 package-infos list_files $PKG - tazpkg list-config $PKG | grep -q ^\$FILE$ && leafpad \$FILE - - - - - - - " - - export LIST_FILES_MIRROR=" - - - - 300160 - - $0 package-infos list_files_mirror $PKG - - - - - - - " - - # Installed or not installed, that is the question! - if [ -d $ROOT/installed/$PKG ]; then - PACKED_SIZE="" - DEPENDS="" - MAINTAINER="" - BUGS="" - TAGS="" - . $ROOT/installed/$PKG/receipt - MAINTAINER=$(echo "$MAINTAINER" | sed 's/[<>|]/ /g') - upgrade_version="$(cat /var/lib/tazpkg/packages.desc \ - /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | \ - awk "/^$PACKAGE / { print \$3 }" | head -1 )" - UPGRADE="" - if [ "$upgrade_version" ]; then - if [ "$upgrade_version" != "$VERSION" ]; then - UPGRADE="$upgrade_version" - else - cur_md5="$(awk "/ $PACKAGE-$VERSION/ { print \$1 }" \ - $ROOT/installed.md5)" - new_md5="$(cat /var/lib/tazpkg/packages.md5 \ - /var/lib/tazpkg/undigest/*/packages.md5 \ - 2> /dev/null | awk "/ $PACKAGE-$VERSION/ { print \$1 }")" - if [ "$cur_md5" -a "$new_md5" -a \ - "$cur_md5" != "$new_md5" ]; then - UPGRADE="build" - fi - fi - fi - PACKAGE_INFOS=" - - - - - 460200 - - FIELD - Version: | $VERSION - Category: | $CATEGORY" - [ "$UPGRADE" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Upgrade: | $(echo $UPGRADE)" - [ "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Depends: | $(echo $DEPENDS)" - [ "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Suggested: | $(echo $SUGGESTED)" - [ "$PACKED_SIZE" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Size: | $PACKED_SIZE ($UNPACKED_SIZE installed)" - [ "$MAINTAINER" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Maintainer: | $MAINTAINER" - [ "$BUGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Bugs: | $BUGS" - [ "$HANDBOOK_URL" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Handbook: | $HANDBOOK_URL" - [ "$TAGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Tags: | $TAGS" - [ "$CONFIG_FILES" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Config files: | $CONFIG_FILES" - [ -f $ROOT/installed/$PKG/modifiers ] && - PACKAGE_INFOS="$PACKAGE_INFOS - Modified by: | $(xargs echo < $ROOT/installed/$PKG/modifiers)" - PACKAGE_INFOS="$PACKAGE_INFOS - Website: | $WEB_SITE - Tip: | double-click any item for more information - $0 package-infos info \"\$FIELD\" $PKG - - - " - [ -s $ROOT/installed/$PACKAGE/description.txt ] && - PACKAGE_INFOS="$PACKAGE_INFOS - " - if [ ! -d /var/lib/tazpkg/fslink ]; then - [ ${PKG%%-*} = get -a ! -d $ROOT/installed/${PKG#get-} ] && PACKAGE_INFOS="$PACKAGE_INFOS - " - [ "$UPGRADE" ] && PACKAGE_INFOS="$PACKAGE_INFOS - " - fgrep -q post_install $ROOT/installed/$PKG/receipt && PACKAGE_INFOS="$PACKAGE_INFOS - " - if grep -qs ^$PKG$ /var/lib/tazpkg/blocked-packages.list; then - PACKAGE_INFOS="$PACKAGE_INFOS - " - else - PACKAGE_INFOS="$PACKAGE_INFOS - " - fi - fi - if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then - PACKAGE_INFOS="$PACKAGE_INFOS - " - elif [ ! -s $ROOT/installed/$PKG/modifiers ]; then - [ -L $ROOT/installed/$PKG ] || PACKAGE_INFOS="$PACKAGE_INFOS - - " - PACKAGE_INFOS="$PACKAGE_INFOS - - " - else - PACKAGE_INFOS="$PACKAGE_INFOS - - - " - fi - PACKAGE_INFOS="$PACKAGE_INFOS - - - - - - - " - export PACKAGE_INFOS - else - RES=`grep -sh "^$PKG " /var/lib/tazpkg/packages.desc \ - /var/lib/tazpkg/undigest/*/packages.desc` - PACKAGE=`echo "$RES" | cut -d "|" -f 1` - VERSION=`echo "$RES" | cut -d "|" -f 2` - SHORT_DESC=`echo "$RES" | cut -d "|" -f 3` - CATEGORY=`echo "$RES" | cut -d "|" -f 4` - WEB_SITE=`echo "$RES" | cut -d "|" -f 5` - SIZES=`grep -sh -A 3 "^$(echo $PACKAGE)$" /var/lib/tazpkg/packages.txt \ - /var/lib/tazpkg/undigest/*/packages.txt | tail -1` - DEPENDS="" - SUGGESTED="" - MAINTAINER="" - BUGS="" - HANDBOOK_URL="" - TAGS="" - CONFIG_FILES="" - height=160 - if [ -s /home/slitaz/wok/$PKG/receipt ]; then - . /home/slitaz/wok/$PKG/receipt - height=200 - fi - PACKAGE_INFOS=" - - - - - 460$height - - FIELD2 - Version: | $VERSION - Category: | $CATEGORY" - [ "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Depends: | $(echo $DEPENDS)" - [ "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Suggested: | $(echo $SUGGESTED)" - [ "$SIZES" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Size: | $SIZES" - [ "$MAINTAINER" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Maintainer: | $MAINTAINER" - [ "$BUGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Bugs: | $BUGS" - [ "$HANDBOOK_URL" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Handbook: | $HANDBOOK_URL" - [ "$TAGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Tags: | $TAGS" - [ "$CONFIG_FILES" ] && PACKAGE_INFOS="$PACKAGE_INFOS - Config files: | $CONFIG_FILES" - PACKAGE_INFOS="$PACKAGE_INFOS - Website: | $WEB_SITE - Receipt: | double-click to view receipt - case \$FIELD2 in Web*) browser $WEB_SITE &;; esac - case \$FIELD2 in Rec*) browser http://hg.slitaz.org/wok/raw-file/tip/$PACKAGE/receipt &;; esac - - - - " - [ ${PACKAGE%%-*} = get ] && PACKAGE_INFOS="$PACKAGE_INFOS - - - AUTO_EXEC - true - " - PACKAGE_INFOS="$PACKAGE_INFOS - - - AUTO_DEPENDS - true - - - - - - - - - - " - export PACKAGE_INFOS - fi - gtkdialog --center --program=PACKAGE_INFOS ;; - - *) - usage $@ ;; -esac - -exit 0 diff -r c790b4c66126 -r 447bc4d63297 oldstuff/libtazpkgbox --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oldstuff/libtazpkgbox Mon May 16 19:38:39 2011 +0200 @@ -0,0 +1,708 @@ +#!/bin/sh +# The libtazpkgbox - Libraries used by tazpkg GUI box. +# +# These are functions to list installed packages in a suitable format for a +# GTK tree and list mirrored packages using the packages.desc file. The libs +# also provide functions to search packages and files, and the GUI box for +# package information. +# +# (C) 2010 SliTaz - GNU General Public License v3. +# + +# Include gettext helper script. +. /usr/bin/gettext.sh + +# Export package name for gettext. +TEXTDOMAIN='libtazpkgbox' +export TEXTDOMAIN + +# Dont hardcore path, use $LIB +export LIB=/usr/lib/slitaz/libtazpkgbox + +usage() +{ + [ "$1" ] && echo "??? $0 $@" + echo -e "\nTazpkgbox library\n +Usage : $0 [function] [pkg|args] [pkg] +Functions: + list-all List all packages. + list-undigest List undigest packages. + list-blocked List blocked packages. + list-upgradeable List all upgradable packages. + search-packages Search for packages. + search-files Search for files. + search-tags Search for TAGS. + package-infos Display box with pkg information." +} + +# List functions. +undigest_list() +{ + IFS="|" + if [ "$1" -a "$1" != "all" ]; then + cut -f 1,2,3,4 -d "|" undigest/$1/packages.desc + else + cut -f 1,2,3,4 -d "|" undigest/*/packages.desc | sort + fi 2> /dev/null | while read PACKAGE VERSION SHORT_DESC CATEGORY; do + [ $CAT = all -o $CATEGORY = " $CAT " ] || continue + ICON=tazpkg + PACKAGE=${PACKAGE%% *} + if [ -d installed/$PACKAGE ]; then + [ "$2" = "installable" ] && continue + ICON=tazpkg-installed + if grep -qs "^$PACKAGE$" blocked-packages.list; then + ICON=stop + fi + else + [ "$2" = "installed" ] && continue + fi + [ "$2" = "blocked" -a "$ICON" != "stop" ] && continue + [ "$2" = "upgradeable" ] && + ! grep -q ^$PACKAGE$ upgradeable-packages.list && continue + echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" + done + unset IFS +} + +installable_list() +{ + local cache + cache=packages.installable_list.$CAT + if [ -s $cache -a $cache -nt packages.desc -a $cache -nt installed ]; then + cat $cache + return + fi + IFS="|" + cut -f 1,2,3,4 -d "|" packages.desc undigest/*/packages.desc 2> /dev/null | sort | \ + while read PACKAGE VERSION SHORT_DESC CATEGORY; do + # Check first for category for more speed. + [ $CAT = all -o $CATEGORY = " $CAT " ] || continue + [ -d installed/${PACKAGE% } ] && continue + ICON=tazpkg + grep -qs "^$PACKAGE" undigest/*/packages.desc && ICON=add + echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" + done | tee $cache + unset IFS +} + +installed_list() +{ + for pkg in ${1}installed/* + do + [ "$1" -a -s installed/$(basename $pkg)/receipt ] && continue + . $pkg/receipt + ICON=tazpkg-installed + [ $CAT = all -o $CATEGORY = $CAT ] || continue + if [ "$1" -o -L $pkg ]; then + ICON=media-flash + else + grep -qs "^$PACKAGE" undigest/*/packages.desc && ICON=add + fi + grep -qs "^$PACKAGE$" blocked-packages.list && ICON=stop + echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" + done +} + +all_list() +{ + local cache + cache=packages.all_list.$CAT + if [ -s $cache -a $cache -nt packages.desc -a $cache -nt installed ]; then + cat $cache + return + fi + { installable_list ; installed_list; } | sort -t \| -k 2 -u | tee $cache +} + +blocked_list() +{ + ICON=tazpkg-installed + [ "$1" = "blocked" ] && ICON=stop + for pkg in $(cat $1-packages.list 2> /dev/null); do + [ -f installed/$pkg/receipt ] || continue + . installed/$pkg/receipt + [ $CAT = all -o $CATEGORY = $CAT ] || continue + AVAILABLE=$(grep -s "^$pkg " packages.desc \ + undigest/*/packages.desc | awk '{ print $3 }') + echo "$ICON|$PACKAGE|$VERSION (Available: $AVAILABLE)|$SHORT_DESC" + done +} + +# Search functions + +clean_search() +{ + # Clean preview results. + rm -f /tmp/tazpkgbox/search + touch /tmp/tazpkgbox/search +} + +list_files() +{ + sed -e "/^$/d" -e "1,/^=*$/d" -e "/^=*$/,/EOT/d" | while read input; do + if [ "$input" = "${input/ :/}" ]; then + # Input is a file. + if [ "$ICON" = tazpkg ]; then + echo "add|$PACKAGE| |$input" + else + if [ -d $input ] ; then + echo "folder|$PACKAGE| |$input" + elif [ -x $input ]; then + echo "exec|$PACKAGE| |$input" + elif [ -f $input ]; then + echo "txt|$PACKAGE| |$input" + else + # Missing installed file. + echo "dialog-warning|$PACKAGE| |$input" + fi + fi + else + # Input contains package name, don't refer to Package word as + # tazpkg can use other languages. + PACKAGE=$(echo $input | sed 's/^.* \(.*\) :.*$/\1/') + ICON=tazpkg + [ -d /var/lib/tazpkg/installed/$PACKAGE ] && ICON=tazpkg-installed + echo "$ICON|$PACKAGE |$(grep -hs "^$PACKAGE " /var/lib/tazpkg/packages.desc \ + /var/lib/tazpkg/undigest/*/packages.desc | cut -f2,3 -d '|' | head -1)" + fi + done +} + +list_package() +{ + if [ -d /var/lib/tazpkg/installed/$1 ]; then + . /var/lib/tazpkg/installed/$1/receipt + echo "tazpkg-installed|$PACKAGE|$VERSION|$SHORT_DESC" + else + echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC" + fi +} + +search_package() +{ + IFS="|" + cut -f1,2,3 -d '|' /var/lib/tazpkg/packages.desc \ + /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \ + while read PACKAGE VERSION SHORT_DESC; do + [ "$PACKAGE" = "${PACKAGE/$SEARCH/}" -a "$SHORT_DESC" = "${SHORT_DESC/$SEARCH/}" ] \ + && continue + list_package ${PACKAGE% } + done + unset IFS +} + +case "$1" in + list-all) + cd /var/lib/tazpkg + CAT=`cat /tmp/tazpkgbox/category` + STATUS=`cat /tmp/tazpkgbox/status` + case $STATUS in + blocked|upgradeable) + blocked_list $STATUS;; + linkable) + [ -d fslink ] && installed_list \ + $(readlink fslink)/var/lib/tazpkg/;; + installed) + installed_list ;; + installable) + installable_list ;; + *) + all_list ;; + esac ;; + list-undigest) + cd /var/lib/tazpkg + set -- `cat /tmp/tazpkgbox/undigest-category` + CAT="${1:-all}" + undigest_list $2 $3 ;; + list-blocked|list-upgradeable) + cd /var/lib/tazpkg + CAT=`cat /tmp/tazpkgbox/category` + blocked_list $1 ;; + search-files) + # Search for files + clean_search + tazpkg search-file "$SEARCH" --mirror | list_files > \ + /tmp/tazpkgbox/search ;; + search-packages) + clean_search + { search_package ; + for i in $(grep ^$SEARCH= /var/lib/tazpkg/packages.equiv | \ + cut -d= -f2); do + SEARCH=${i#*:} + search_package + done; } > /tmp/tazpkgbox/search ;; + search-tags) + clean_search + fgrep -ls TAGS /home/slitaz/wok/*/receipt | while read file; do + TAGS="" + . $file + case "$TAGS" in + *$SEARCH*) list_package $PACKAGE ;; + esac + done > /tmp/tazpkgbox/search ;; + package-infos) + # Dialog box to provide package info and actions + XTERM_OPTS="-geometry 80x16+120+120" + PKG=`cat /tmp/tazpkgbox/pkg | sed s/" "/""/g` + ROOT=/var/lib/tazpkg + if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then + ROOT=$(readlink /var/lib/tazpkg/fslink)$ROOT + fi + TMP_DIR=/tmp/tazpkg-$$-$RANDOM + if [ "$2" = "sizes" ]; then + cat < /dev/null ) + fi + cat $ROOT/installed/$3/files.list | grep ^/ | while read file; do + realfile="$file" + if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then + realfile="$(readlink /var/lib/tazpkg/fslink)$file" + fi + echo -n "$(stat -c "%A|%U|%G|%s|$file|" "$realfile" || \ + echo "File lost !||||$file|")" + if [ -L "$realfile" ]; then + echo -n "$(readlink "$realfile")" + elif [ -f "$file" ]; then + case "$CONF_FILES" in + *$file*) + if cmp $file $TMP_DIR$file > /dev/null 2>&1; then + echo -n "[configuration]" + else + echo -n "$(stat -c "[configuration: %.16y]" $file)" + fi;; + #* if [ "$(tazpkg check-file $file $2)" = "failure" ]; then + # echo -n "Invalid md5" + # fi;; + esac + fi + echo "" + done + [ "$CONF_FILES" ] && rm -rf $TMP_DIR + exit 0 + fi + + if [ "$2" = "list_files_mirror" ]; then + for i in /var/lib/tazpkg/files.list.lzma \ + /var/lib/tazpkg/undigest/*/files.list.lzma ; do + [ -f $i ] || continue + unlzma -c $i + done | grep -- "^$3:" | awk '{ print substr($0,index($0,":")+2) }' + exit 0 + fi + + if [ "$2" = "list_packages" ]; then + PKG="$3" + if [ "$4" ]; then + shift + export LIST_PKGS=' + + + + 600160 + + PKG + ' + for i in "$@"; do + if [ -d $ROOT/installed/$i ]; then + . $ROOT/installed/$i/receipt + LIST_PKGS="$LIST_PKGS + $i|$VERSION|Installed|$SHORT_DESC + " + else + RES=`grep -sh "^$i " \ + /var/lib/tazpkg/packages.desc \ + /var/lib/tazpkg/undigest/*/packages.desc` + PACKAGE=`echo "$RES" | cut -d "|" -f 1` + VERSION=`echo "$RES" | cut -d "|" -f 2` + SHORT_DESC=`echo "$RES" | cut -d "|" -f 3` + SIZE=`grep -sh -A 3 "^$(echo $PACKAGE)$" \ + /var/lib/tazpkg/packages.txt \ + /var/lib/tazpkg/undigest/*/packages.txt | \ + tail -1 | sed 's/.*(\(.*\) .*/\1/'` + LIST_PKGS="$LIST_PKGS + $i|$VERSION|$SIZE|$SHORT_DESC + " + fi + done + LIST_PKGS="$LIST_PKGS + echo "\$PKG" > /tmp/tazpkgbox/pkg + $0 package-infos + refresh:PKG + refresh:PKG_STATS + refresh:CACHE_STATS + + + + + + + + " + eval `gtkdialog --center --program=LIST_PKGS` + [ "$EXIT" = "OK" ] || exit 0 + fi + fi + + export LIST_FILES=" + + + + FILE + 600160 + + $0 package-infos list_files $PKG + tazpkg list-config $PKG | grep -q ^\$FILE$ && leafpad \$FILE + + + + + + + " + + export LIST_FILES_MIRROR=" + + + + 300160 + + $0 package-infos list_files_mirror $PKG + + + + + + + " + + # Installed or not installed, that is the question! + if [ -d $ROOT/installed/$PKG ]; then + PACKED_SIZE="" + DEPENDS="" + MAINTAINER="" + BUGS="" + TAGS="" + . $ROOT/installed/$PKG/receipt + MAINTAINER=$(echo "$MAINTAINER" | sed 's/[<>|]/ /g') + upgrade_version="$(cat /var/lib/tazpkg/packages.desc \ + /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | \ + awk "/^$PACKAGE / { print \$3 }" | head -1 )" + UPGRADE="" + if [ "$upgrade_version" ]; then + if [ "$upgrade_version" != "$VERSION" ]; then + UPGRADE="$upgrade_version" + else + cur_md5="$(awk "/ $PACKAGE-$VERSION/ { print \$1 }" \ + $ROOT/installed.md5)" + new_md5="$(cat /var/lib/tazpkg/packages.md5 \ + /var/lib/tazpkg/undigest/*/packages.md5 \ + 2> /dev/null | awk "/ $PACKAGE-$VERSION/ { print \$1 }")" + if [ "$cur_md5" -a "$new_md5" -a \ + "$cur_md5" != "$new_md5" ]; then + UPGRADE="build" + fi + fi + fi + PACKAGE_INFOS=" + + + + + 460200 + + FIELD + Version: | $VERSION + Category: | $CATEGORY" + [ "$UPGRADE" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Upgrade: | $(echo $UPGRADE)" + [ "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Depends: | $(echo $DEPENDS)" + [ "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Suggested: | $(echo $SUGGESTED)" + [ "$PACKED_SIZE" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Size: | $PACKED_SIZE ($UNPACKED_SIZE installed)" + [ "$MAINTAINER" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Maintainer: | $MAINTAINER" + [ "$BUGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Bugs: | $BUGS" + [ "$HANDBOOK_URL" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Handbook: | $HANDBOOK_URL" + [ "$TAGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Tags: | $TAGS" + [ "$CONFIG_FILES" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Config files: | $CONFIG_FILES" + [ -f $ROOT/installed/$PKG/modifiers ] && + PACKAGE_INFOS="$PACKAGE_INFOS + Modified by: | $(xargs echo < $ROOT/installed/$PKG/modifiers)" + PACKAGE_INFOS="$PACKAGE_INFOS + Website: | $WEB_SITE + Tip: | double-click any item for more information + $0 package-infos info \"\$FIELD\" $PKG + + + " + [ -s $ROOT/installed/$PACKAGE/description.txt ] && + PACKAGE_INFOS="$PACKAGE_INFOS + " + if [ ! -d /var/lib/tazpkg/fslink ]; then + [ ${PKG%%-*} = get -a ! -d $ROOT/installed/${PKG#get-} ] && PACKAGE_INFOS="$PACKAGE_INFOS + " + [ "$UPGRADE" ] && PACKAGE_INFOS="$PACKAGE_INFOS + " + fgrep -q post_install $ROOT/installed/$PKG/receipt && PACKAGE_INFOS="$PACKAGE_INFOS + " + if grep -qs ^$PKG$ /var/lib/tazpkg/blocked-packages.list; then + PACKAGE_INFOS="$PACKAGE_INFOS + " + else + PACKAGE_INFOS="$PACKAGE_INFOS + " + fi + fi + if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then + PACKAGE_INFOS="$PACKAGE_INFOS + " + elif [ ! -s $ROOT/installed/$PKG/modifiers ]; then + [ -L $ROOT/installed/$PKG ] || PACKAGE_INFOS="$PACKAGE_INFOS + + " + PACKAGE_INFOS="$PACKAGE_INFOS + + " + else + PACKAGE_INFOS="$PACKAGE_INFOS + + + " + fi + PACKAGE_INFOS="$PACKAGE_INFOS + + + + + + + " + export PACKAGE_INFOS + else + RES=`grep -sh "^$PKG " /var/lib/tazpkg/packages.desc \ + /var/lib/tazpkg/undigest/*/packages.desc` + PACKAGE=`echo "$RES" | cut -d "|" -f 1` + VERSION=`echo "$RES" | cut -d "|" -f 2` + SHORT_DESC=`echo "$RES" | cut -d "|" -f 3` + CATEGORY=`echo "$RES" | cut -d "|" -f 4` + WEB_SITE=`echo "$RES" | cut -d "|" -f 5` + SIZES=`grep -sh -A 3 "^$(echo $PACKAGE)$" /var/lib/tazpkg/packages.txt \ + /var/lib/tazpkg/undigest/*/packages.txt | tail -1` + DEPENDS="" + SUGGESTED="" + MAINTAINER="" + BUGS="" + HANDBOOK_URL="" + TAGS="" + CONFIG_FILES="" + height=160 + if [ -s /home/slitaz/wok/$PKG/receipt ]; then + . /home/slitaz/wok/$PKG/receipt + height=200 + fi + PACKAGE_INFOS=" + + + + + 460$height + + FIELD2 + Version: | $VERSION + Category: | $CATEGORY" + [ "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Depends: | $(echo $DEPENDS)" + [ "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Suggested: | $(echo $SUGGESTED)" + [ "$SIZES" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Size: | $SIZES" + [ "$MAINTAINER" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Maintainer: | $MAINTAINER" + [ "$BUGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Bugs: | $BUGS" + [ "$HANDBOOK_URL" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Handbook: | $HANDBOOK_URL" + [ "$TAGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Tags: | $TAGS" + [ "$CONFIG_FILES" ] && PACKAGE_INFOS="$PACKAGE_INFOS + Config files: | $CONFIG_FILES" + PACKAGE_INFOS="$PACKAGE_INFOS + Website: | $WEB_SITE + Receipt: | double-click to view receipt + case \$FIELD2 in Web*) browser $WEB_SITE &;; esac + case \$FIELD2 in Rec*) browser http://hg.slitaz.org/wok/raw-file/tip/$PACKAGE/receipt &;; esac + + + + " + [ ${PACKAGE%%-*} = get ] && PACKAGE_INFOS="$PACKAGE_INFOS + + + AUTO_EXEC + true + " + PACKAGE_INFOS="$PACKAGE_INFOS + + + AUTO_DEPENDS + true + + + + + + + + + + " + export PACKAGE_INFOS + fi + gtkdialog --center --program=PACKAGE_INFOS ;; + + *) + usage $@ ;; +esac + +exit 0 diff -r c790b4c66126 -r 447bc4d63297 oldstuff/tazpkgbox --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oldstuff/tazpkgbox Mon May 16 19:38:39 2011 +0200 @@ -0,0 +1,636 @@ +#!/bin/sh +# +# GTKdialog interface to SliTaz Packages Manager aka Tazpkg. Note: +# Notebook tabs are . Tabs are used to indent and functions are +# split and found in libtazpkgbox. +# +# (C) GNU gpl v3 - SliTaz GNU/Linux 2010-2011. +# + +# Functions path. +export LIB=/usr/lib/slitaz/libtazpkgbox + +# Tazpkgbox is only for root. +if test $(id -u) != 0 ; then + exec subox tazpkgbox + exit 0 +fi + +# Include gettext helper script. +. /usr/bin/gettext.sh + +# Export package name for gettext. +TEXTDOMAIN='tazpkgbox' +export TEXTDOMAIN + +# We need at least a mirror URL. +if [ ! -f /var/lib/tazpkg/mirror ]; then + tazpkg >/dev/null +fi + +RELEASE=$(cat /etc/slitaz-release) +case "$1" in +dliso) + echo "Downloading packages-$RELEASE.iso into $2..." + cd $2 + for i in $(cat /var/lib/tazpkg/mirror) ; do + wget ${i%packages*}/iso/$RELEASE/packages-$RELEASE.iso && break + done + exit 0;; +instiso) + PKGSIGN="LABEL=\"packages-$RELEASE\" TYPE=\"iso9660\"" + PKGDEV=$(blkid $2 | grep "$PKGSIGN" | cut -d: -f1) + [ -z "$PKGDEV$2" -a -L /dev/cdrom ] && PKGDEV=$(blkid /dev/cdrom | grep "$PKGSIGN" | cut -d: -f1) + if [ -n "$PKGDEV" ]; then + mkdir /packages 2> /dev/null + mount -t iso9660 -o ro $PKGDEV /packages + /packages/install.sh + fi + exit 0;; +esac +# Tmp dir and files used to get pkgs info on the fly. Clean also +# lists and searches for files to load less data and have a faster start. +mkdir -p /tmp/tazpkgbox +echo "all" > /tmp/tazpkgbox/status +echo "all" > /tmp/tazpkgbox/category +echo "all" > /tmp/tazpkgbox/undigest-category +echo "" > /tmp/tazpkgbox/search + +# English/French help dialog. +export HELP=' + + + + + + + + + + + + + + + + + + + + + + + +' + +FILES="$2" +[ "$1" = "list_config" ] || FILES="" + +export SETUP_DVD=" + + + + + + + + + + + + + + + + + + + + + + + PKGISO + + + + + + + + + + + + + +" + +export LIST_CONFIG_FILES=" + + + + 560160 + CONF_FILE + + tazpkg list-config --box $FILES + leafpad \$CONF_FILE + + + + + + + + + +" +if [ "$1" = "list_config" ]; then + gtkdialog --center --program=LIST_CONFIG_FILES >/dev/null + exit 0 +fi + +export SETUP_UNDIGEST=' + + + + 560160 + UNDIGEST_LIST + + tazpkg list-undigest --box + xterm -T "Remove undigest" -geometry 80x16+120+120 -e "tazpkg remove-undigest $UNDIGEST_LIST; sleep 2" + + + + + + + UNDIGEST_URL + + + + + + + + UNDIGEST_NAME + + + + + + + + +' + +# Scan notification +desktopbox notify "Scanning packages database" 6 & + +# Main dialog +export TAZPKG_DIALOG=' + + + + + + + + + /usr/share/pixmaps/tazpkg.png + + + + + + + + 620240 + PKG + + $LIB list-all + echo "$PKG" > /tmp/tazpkgbox/pkg + $LIB package-infos + refresh:PKG + refresh:PKG_STATS + refresh:CACHE_STATS + + + + + + + STATUS + all + installed + installable + blocked + upgradeable + linkable + + + + + + CAT + all + base-system + x-window + utilities + network + graphics + multimedia + office + development + system-tools + security + games + misc + meta + non-free + + + + + + + + 620120 + RESULT + + cat /tmp/tazpkgbox/search + echo "$RESULT" > /tmp/tazpkgbox/pkg + $LIB package-infos + $LIB search-packages + refresh:RESULT + refresh:PKG + refresh:PKG_STATS + refresh:CACHE_STATS + + + + + + + SEARCH + + + +' +tmp=' + +' +[ -d /home/slitaz/wok ] && TAZPKG_DIALOG="$TAZPKG_DIALOG $tmp" +tmp=' + + + + + + 620240 + DEV + + $LIB list-undigest + echo "$DEV" > /tmp/tazpkgbox/pkg + $LIB package-infos + refresh:PKG + refresh:PKG_STATS + refresh:CACHE_STATS + + + + + + + + + + + + + UNDIGEST_ENTRY +' +TAZPKG_DIALOG="$TAZPKG_DIALOG $tmp" +for i in all $(ls /var/lib/tazpkg/undigest 2> /dev/null); do + TAZPKG_DIALOG="$TAZPKG_DIALOG $i " +done +tmp=' + + + + + + UNDIGEST_STATUS + all + installed + installable + blocked + upgradeable + + + + + + + + UNDIGEST_CAT + all + base-system + x-window + utilities + network + graphics + multimedia + office + development + system-tools + security + games + misc + meta + non-free + + + + + + + + + + + + + + + + + + cd /var/cache/tazpkg; echo "Packages: `ls | wc -l`, size: `du -sh $PWD`" + CACHE_STATS + + + + + + + + readlink /var/lib/tazpkg/fslink + FSLINK + + + + + + + + + + head -n 1 /var/lib/tazpkg/mirror + MIRROR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + installed=`ls /var/lib/tazpkg/installed | wc -l`; mirrored=`cat /var/lib/tazpkg/packages.list | wc -l`; undigest=`cat /var/lib/tazpkg/undigest/*/packages.list 2> /dev/null | wc -l`; blocked=`cat /var/lib/tazpkg/blocked-packages.list 2> /dev/null | wc -l`; installable=$(($mirrored + $undigest - $installed)); [ $installable -lt 0 ] && installable=0; echo -n "Packages statistics: $installed installed, $blocked blocked, $installable installable, $undigest undigest, $mirrored mirrored, `cat /var/lib/tazpkg/upgradeable-packages.list 2> /dev/null | wc -l` to upgrade " + PKG_STATS + + + + + + + + + + + + + + +' +TAZPKG_DIALOG="$TAZPKG_DIALOG$tmp" + +gtkdialog --center --program=TAZPKG_DIALOG #>/dev/null + +exit 0 diff -r c790b4c66126 -r 447bc4d63297 oldstuff/tazpkgbox.desktop --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oldstuff/tazpkgbox.desktop Mon May 16 19:38:39 2011 +0200 @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Package manager +Name[fr]=Gestionnaire de paquets +Comment=Manage software packages +Exec=subox tazpkgbox +Icon=tazpkg +Type=Application +Categories=System; diff -r c790b4c66126 -r 447bc4d63297 tazpkgbox --- a/tazpkgbox Mon May 16 19:27:47 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,636 +0,0 @@ -#!/bin/sh -# -# GTKdialog interface to SliTaz Packages Manager aka Tazpkg. Note: -# Notebook tabs are . Tabs are used to indent and functions are -# split and found in libtazpkgbox. -# -# (C) GNU gpl v3 - SliTaz GNU/Linux 2010-2011. -# - -# Functions path. -export LIB=/usr/lib/slitaz/libtazpkgbox - -# Tazpkgbox is only for root. -if test $(id -u) != 0 ; then - exec subox tazpkgbox - exit 0 -fi - -# Include gettext helper script. -. /usr/bin/gettext.sh - -# Export package name for gettext. -TEXTDOMAIN='tazpkgbox' -export TEXTDOMAIN - -# We need at least a mirror URL. -if [ ! -f /var/lib/tazpkg/mirror ]; then - tazpkg >/dev/null -fi - -RELEASE=$(cat /etc/slitaz-release) -case "$1" in -dliso) - echo "Downloading packages-$RELEASE.iso into $2..." - cd $2 - for i in $(cat /var/lib/tazpkg/mirror) ; do - wget ${i%packages*}/iso/$RELEASE/packages-$RELEASE.iso && break - done - exit 0;; -instiso) - PKGSIGN="LABEL=\"packages-$RELEASE\" TYPE=\"iso9660\"" - PKGDEV=$(blkid $2 | grep "$PKGSIGN" | cut -d: -f1) - [ -z "$PKGDEV$2" -a -L /dev/cdrom ] && PKGDEV=$(blkid /dev/cdrom | grep "$PKGSIGN" | cut -d: -f1) - if [ -n "$PKGDEV" ]; then - mkdir /packages 2> /dev/null - mount -t iso9660 -o ro $PKGDEV /packages - /packages/install.sh - fi - exit 0;; -esac -# Tmp dir and files used to get pkgs info on the fly. Clean also -# lists and searches for files to load less data and have a faster start. -mkdir -p /tmp/tazpkgbox -echo "all" > /tmp/tazpkgbox/status -echo "all" > /tmp/tazpkgbox/category -echo "all" > /tmp/tazpkgbox/undigest-category -echo "" > /tmp/tazpkgbox/search - -# English/French help dialog. -export HELP=' - - - - - - - - - - - - - - - - - - - - - - - -' - -FILES="$2" -[ "$1" = "list_config" ] || FILES="" - -export SETUP_DVD=" - - - - - - - - - - - - - - - - - - - - - - - PKGISO - - - - - - - - - - - - - -" - -export LIST_CONFIG_FILES=" - - - - 560160 - CONF_FILE - - tazpkg list-config --box $FILES - leafpad \$CONF_FILE - - - - - - - - - -" -if [ "$1" = "list_config" ]; then - gtkdialog --center --program=LIST_CONFIG_FILES >/dev/null - exit 0 -fi - -export SETUP_UNDIGEST=' - - - - 560160 - UNDIGEST_LIST - - tazpkg list-undigest --box - xterm -T "Remove undigest" -geometry 80x16+120+120 -e "tazpkg remove-undigest $UNDIGEST_LIST; sleep 2" - - - - - - - UNDIGEST_URL - - - - - - - - UNDIGEST_NAME - - - - - - - - -' - -# Scan notification -desktopbox notify "Scanning packages database" 6 & - -# Main dialog -export TAZPKG_DIALOG=' - - - - - - - - - /usr/share/pixmaps/tazpkg.png - - - - - - - - 620240 - PKG - - $LIB list-all - echo "$PKG" > /tmp/tazpkgbox/pkg - $LIB package-infos - refresh:PKG - refresh:PKG_STATS - refresh:CACHE_STATS - - - - - - - STATUS - all - installed - installable - blocked - upgradeable - linkable - - - - - - CAT - all - base-system - x-window - utilities - network - graphics - multimedia - office - development - system-tools - security - games - misc - meta - non-free - - - - - - - - 620120 - RESULT - - cat /tmp/tazpkgbox/search - echo "$RESULT" > /tmp/tazpkgbox/pkg - $LIB package-infos - $LIB search-packages - refresh:RESULT - refresh:PKG - refresh:PKG_STATS - refresh:CACHE_STATS - - - - - - - SEARCH - - - -' -tmp=' - -' -[ -d /home/slitaz/wok ] && TAZPKG_DIALOG="$TAZPKG_DIALOG $tmp" -tmp=' - - - - - - 620240 - DEV - - $LIB list-undigest - echo "$DEV" > /tmp/tazpkgbox/pkg - $LIB package-infos - refresh:PKG - refresh:PKG_STATS - refresh:CACHE_STATS - - - - - - - - - - - - - UNDIGEST_ENTRY -' -TAZPKG_DIALOG="$TAZPKG_DIALOG $tmp" -for i in all $(ls /var/lib/tazpkg/undigest 2> /dev/null); do - TAZPKG_DIALOG="$TAZPKG_DIALOG $i " -done -tmp=' - - - - - - UNDIGEST_STATUS - all - installed - installable - blocked - upgradeable - - - - - - - - UNDIGEST_CAT - all - base-system - x-window - utilities - network - graphics - multimedia - office - development - system-tools - security - games - misc - meta - non-free - - - - - - - - - - - - - - - - - - cd /var/cache/tazpkg; echo "Packages: `ls | wc -l`, size: `du -sh $PWD`" - CACHE_STATS - - - - - - - - readlink /var/lib/tazpkg/fslink - FSLINK - - - - - - - - - - head -n 1 /var/lib/tazpkg/mirror - MIRROR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - installed=`ls /var/lib/tazpkg/installed | wc -l`; mirrored=`cat /var/lib/tazpkg/packages.list | wc -l`; undigest=`cat /var/lib/tazpkg/undigest/*/packages.list 2> /dev/null | wc -l`; blocked=`cat /var/lib/tazpkg/blocked-packages.list 2> /dev/null | wc -l`; installable=$(($mirrored + $undigest - $installed)); [ $installable -lt 0 ] && installable=0; echo -n "Packages statistics: $installed installed, $blocked blocked, $installable installable, $undigest undigest, $mirrored mirrored, `cat /var/lib/tazpkg/upgradeable-packages.list 2> /dev/null | wc -l` to upgrade " - PKG_STATS - - - - - - - - - - - - - - -' -TAZPKG_DIALOG="$TAZPKG_DIALOG$tmp" - -gtkdialog --center --program=TAZPKG_DIALOG #>/dev/null - -exit 0