Magellan Linux

Diff of /branches/mage-next/src/magequery.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 33 by niro, Thu Jan 6 02:57:12 2005 UTC revision 304 by niro, Mon Dec 26 23:12:44 2005 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2    
3  #query mage database for installed packages  #query mage database for installed packages
4  # version: 0.3.6-r9  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/magequery.sh,v 1.11 2005-12-26 23:12:44 niro Exp $
5    
6  print_usage()  print_usage()
7  {  {
# Line 10  print_usage() Line 10  print_usage()
10   echo "    -n NAME   searches for name NAME"   echo "    -n NAME   searches for name NAME"
11   echo "    -v VER    searches for version VER, needs -n"   echo "    -v VER    searches for version VER, needs -n"
12   echo "    -b BUILD  searches for build number BUILD, needs -n -v"   echo "    -b BUILD  searches for build number BUILD, needs -n -v"
13     echo "    -i        shows an inventory of all installed packages"
14     echo "    -f        searches packages name in given path"
15   echo   echo
16   echo " Examples:"   echo " Examples:"
17   echo   echo
# Line 18  print_usage() Line 20  print_usage()
20   echo   echo
21  }  }
22    
23  while getopts "n:v:b:h-" opt ; do  # default args:
24    GET_INVENTORY=false
25    SEARCH_ONLY_PATH=false
26    
27    while getopts "n:v:b:f:hi-" opt ; do
28   case "${opt}" in   case "${opt}" in
29   n)   n)
30   S_PNAME="${OPTARG}"   S_PNAME="${OPTARG}"
# Line 31  while getopts "n:v:b:h-" opt ; do Line 37  while getopts "n:v:b:h-" opt ; do
37   b)   b)
38   S_PBUILD="${OPTARG}"   S_PBUILD="${OPTARG}"
39   ;;   ;;
40     i)
41     GET_INVENTORY="true"
42     ;;
43     f)
44     SEARCH_ONLY_PATH="true"
45     SEARCH_PATH="${OPTARG}"
46     ;;
47   h)   h)
48   print_usage   print_usage
49   exit 0   exit 0
# Line 47  while getopts "n:v:b:h-" opt ; do Line 60  while getopts "n:v:b:h-" opt ; do
60  done  done
61  shift $(($OPTIND - 1))  shift $(($OPTIND - 1))
62    
63    source /etc/mage.rc.global
64  source /etc/mage.rc  source /etc/mage.rc
65  RETVAL=1  RETVAL=1
66    
67  for i in ${INSTALLDB}/*/*  if [[ ${SEARCH_ONLY_PATH} = true ]]
68    then
69     unset S_PACKAGES
70     unset i pkg
71     for i in $(grep -irl "${SEARCH_PATH}" ${INSTALLDB})
72     do
73     pkg="$(basename $(dirname ${i}))"
74     if [[ -z $(echo ${S_PACKAGES} | grep ${pkg}) ]]
75     then
76     S_PACKAGES="${S_PACKAGES} ${pkg}"
77     fi
78     done
79    
80     # show packages
81     for pkg in ${S_PACKAGES}
82     do
83     echo "${pkg}"
84     done
85    
86     exit 0
87    fi
88    
89    if [[ ${GET_INVENTORY} = true ]]
90    then
91     for package in $(find ${MROOT}${INSTALLDB} -mindepth 2 -maxdepth 2 -type d -printf "%h,%f\n" | sort)
92     do
93     pcat="$(basename $(echo ${package} | cut -d, -f1))"
94     pname="$(echo ${package} | cut -d, -f2)"
95     if [ -z "${invlist}" ]
96     then
97     invlist="${pcat}/${pname}"
98     else
99     invlist="${invlist}
100    ${pcat}/${pname}"
101     fi
102     done
103    
104     # now show the list
105     echo "${invlist}"
106     exit 0
107    fi
108    
109    for i in ${MROOT}${INSTALLDB}/*/*
110  do  do
111   INST_PNAME=no   INST_PNAME=no
112   INST_PVER=no   INST_PVER=no

Legend:
Removed from v.33  
changed lines
  Added in v.304