1#!/bin/sh 2 3pkg_admin=@PKG_ADMIN@ 4 5usage() { 6 echo 'Usage: audit-packages [-deqsVv] [-c config_file] [-F file]' >& $2 7 echo ' [-g file] [-h file]' >& $2 8 echo ' [-K pkg_dbdir] [-n package] [-p package]' >& $2 9 echo ' [-Q varname] [-t type]' >& $2 10 echo "Please use the audit, audit-pkg, audit-batch and fetch-pkg-vulnerabilities" >& $2 11 echo "commands of pkg_admin instead." >& $2 12 exit $1 13} 14 15do_pkgdb= 16do_eol= 17do_fetch= 18do_quiet= 19do_sign= 20do_verbose= 21do_check_file= 22do_check_pattern= 23do_check_installed= 24do_check_vul_file= 25do_limit_type= 26do_print_var= 27 28args=`getopt F:K:Q:Vc:deg:h:n:p:qst:v $*` 29if [ $? -ne 0 ]; then 30 usage 1 2 31fi 32 33set -- $args 34 35while [ $# -gt 0 ]; do 36 case "$1" in 37 -F) 38 do_check_file=$2 39 shift 40 ;; 41 -K) 42 do_pkgdb="$1 $2" 43 shift 44 ;; 45 -Q) 46 do_print_var="$2" 47 shift 48 ;; 49 -V) 50 exec ${pkg_admin} -V 51 ;; 52 -c) 53 echo "The audit-packages wrapper does not support -c" >&2 54 echo "Please use the audit, audit-pkg, audit-batch and fetch-pkg-vulnerabilities" >& 2 55 echo "commands of pkg_admin instead." >& 2 56 exit 1 57 ;; 58 -d) 59 do_fetch=1 60 ;; 61 -e) 62 do_eol=-e 63 ;; 64 -g) 65 echo "The audit-packages wrapper does not support -g" >&2 66 echo "Please switch to \`\`pkg_admin fetch-pkg-vulnerabilities''." >&2 67 exit 1 68 ;; 69 -h) 70 do_check_vul_file=$2 71 shift 72 ;; 73 -n) 74 do_check_pattern=$2 75 shift 76 ;; 77 -p) 78 do_check_installed=$2 79 shift 80 ;; 81 -q) 82 do_quiet=-q 83 ;; 84 -s) 85 do_sign=-s 86 ;; 87 -t) 88 do_limit_type="-t $2" 89 shift 90 ;; 91 -v) 92 do_verbose="$do_verbose -v" 93 ;; 94 esac 95 shift 96done 97 98if [ -n "${do_fetch}" ]; then 99 exec ${pkg_admin} ${do_pkgdb} fetch-pkg-vulnerabilities ${do_sign} 100fi 101 102if [ -n "${do_check_vul_file}" ]; then 103 exec ${pkg_admin} ${do_pkgdb} check-pkg-vulnerabilities ${do_sign} "${do_check_vul_file}" 104fi 105 106if [ -n "${do_print_var}" ]; then 107 exec ${pkg_admin} ${do_pkgdb} config-var "${do_print_var}" 108fi 109 110if [ -n "${do_check_file}" ]; then 111 if [ -n "${do_check_pattern}" -o -n "${do_check_installed}" ]; then 112 echo "Only one of -F, -n or -p is interpreted at a time." >& 2 113 usage 1 2 114 fi 115 exec ${pkg_admin} ${do_pkgdb} ${do_verbose} ${do_quiet} audit-pkg \ 116 ${do_eol} ${do_limit_type} ${do_check_file} 117fi 118 119if [ -n "${do_check_pattern}" ]; then 120 if [ -n "${do_check_installed}" ]; then 121 echo "Only one of -F, -n or -p is interpreted at a time." >& 2 122 usage 1 2 123 fi 124 exec ${pkg_admin} ${do_pkgdb} ${do_verbose} ${do_quiet} audit-pkg \ 125 ${do_eol} ${do_limit_type} ${do_check_pattern} 126fi 127 128# If do_check_installed is empty, all packages are checked. 129exec ${pkg_admin} ${do_pkgdb} ${do_verbose} ${do_quiet} audit \ 130 ${do_eol} ${do_limit_type} ${do_check_installed} 131