/usr/sbin/dbconfig-load-include is in dbconfig-common 1.8.47+nmu1+deb7u1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | #!/bin/sh
# set some defaults
dbuser_varname="dbuser"
dbpass_varname="dbpass"
dbname_varname="dbname"
dbserver_varname="dbserver"
dbport_varname="dbport"
dbtype_varname="dbtype"
basepath_varname="basepath"
# the version will always be < the package version
VERSION="$Revision$"
version(){
prog=`basename $0`
cat << EOF
$prog v$VERSION
copyright (c) 2005 sean finney <seanius@debian.org>
EOF
}
usage(){
version
cat << EOF
usage: $prog [-hv] [-a] [-d[varname]] [-u[varname]] [-p[varname]] [-s[varname]] [-P[varname]] [-t[varname]] -f format infile
infile use the given dbconfig-common config file as input
-f|--format use the given output format (must be specified)
-a|--all include all information in output (default)
-b|--basepath include the basepath in the output
-d|--dbname include the dbname in the output
-p|--dbpass include the dbpass in the output
-s|--dbserver include the dbserver in the output
-P|--dbport include the dbport in the output
-u|--dbuser include the dbuser in the output
-t|--dbtype include the dbtype in the output
-h|--help display this helpful message
-v|--version output the version and exit
format is one of a list of include-file style formats for various
programming languages. the current list includes:
sh - /bin/sh style include file
perl - perl parseable include file
php - php parseable include file
exec - run the file as a script and interpret its output.
EOF
}
TEMP=`getopt -o af:hb::d::p::u::s::t::P::v -l help,dbuser::,dbname::,dbpass::,dbport::,dbserver::,dbtype::,basepath::,format:,version -n $0 -- "$@"`
if [ $? != 0 ] ; then usage >&2 ; exit 1 ; fi
eval set -- "$TEMP"
while true; do
case "$1" in
-a|--all)
use_all="yes"
shift
;;
-b|--basepath)
use_basepath="yes"
if [ ! -z "$2" ]; then
basepath_varname="$2"
fi
shift 2
;;
-d|--dbname)
use_dbname="yes"
if [ ! -z "$2" ]; then
dbname_varname="$2"
fi
shift 2
;;
-u|--dbuser)
use_dbuser="yes"
if [ ! -z "$2" ]; then
dbuser_varname="$2"
fi
shift 2
;;
-p|--dbpass)
use_dbpass="yes"
if [ ! -z "$2" ]; then
dbpass_varname="$2"
fi
shift 2
;;
-s|--dbserver)
use_dbserver="yes"
if [ ! -z "$2" ]; then
dbserver_varname="$2"
fi
shift 2
;;
-P|--dbport)
use_dbport="yes"
if [ ! -z "$2" ]; then
dbport_varname="$2"
fi
shift 2
;;
-t|--dbtype)
use_dbtype="yes"
if [ ! -z "$2" ]; then
dbtype_varname="$2"
fi
shift 2
;;
-f|--format)
format="$2"
shift 2
;;
-h|--help)
usage
exit
;;
-v|--version)
version
exit
;;
--)
shift
break
;;
*)
echo "eh? $1" >&2
exit 1
;;
esac
done
# if they asked for all vars, or didn't ask for anything (which defaults to all)
if [ "$use_all" ] || [ ! "${use_dbuser}${use_dbpass}${use_basepath}${use_dbname}${use_dbserver}${use_dbtype}${use_dbport}" ]; then
use_dbuser="yes"
use_dbpass="yes"
use_basepath="yes"
use_dbname="yes"
use_dbserver="yes"
use_dbport="yes"
use_dbtype="yes"
fi
inputfile=$1
rv=0
if [ ! "$inputfile" ]; then
echo "error: you must specify an inputfile" >&2
usage >&2
exit 1
fi
if [ ! -f "$inputfile" ] || [ ! -r "$inputfile" ]; then
echo "unable to read input file $inputfile" >&2
exit 1
fi
if [ ! "$format" ]; then
echo "error: you must specify a format!" >&2
usage >&2
exit 1
fi
case $format in
sh)
cat << EOF | sh
. $inputfile
use_dbuser="$use_dbuser";
use_dbpass="$use_dbpass";
use_basepath="$use_basepath";
use_dbname="$use_dbname";
use_dbserver="$use_dbserver";
use_dbport="$use_dbport";
use_dbtype="$use_dbtype";
[ "$use_dbuser" ] && cat << FOO
dbc_dbuser='\$$dbuser_varname'
FOO
[ "$use_dbpass" ] && cat << FOO
dbc_dbpass='\$$dbpass_varname'
FOO
[ "$use_basepath" ] && echo "dbc_basepath='\$$basepath_varname'"
[ "$use_dbname" ] && echo "dbc_dbname='\$$dbname_varname'"
[ "$use_dbserver" ] && echo "dbc_dbserver='\$$dbserver_varname'"
[ "$use_dbport" ] && echo "dbc_dbport='\$$dbport_varname'"
[ "$use_dbtype" ] && echo "dbc_dbtype='\$$dbtype_varname'"
EOF
;;
php)
if ! which php > /dev/null; then
echo "error: php format but i can't find a php binary!" >&2
exit 1
fi
cat << EOF | php
<?php
require_once "$inputfile";
\$use_dbuser="$use_dbuser";
\$use_dbpass="$use_dbpass";
\$use_basepath="$use_basepath";
\$use_dbname="$use_dbname";
\$use_dbserver="$use_dbserver";
\$use_dbport="$use_dbport";
\$use_dbtype="$use_dbtype";
if(!empty(\$use_dbuser) && isset(\$$dbuser_varname))
echo "dbc_dbuser='\$$dbuser_varname';\n";
if(!empty(\$use_dbpass) && isset(\$$dbpass_varname))
echo "dbc_dbpass='\$$dbpass_varname';\n";
if(!empty(\$use_basepath) && isset(\$$basepath_varname))
echo "dbc_basepath='\$$basepath_varname';\n";
if(!empty(\$use_dbname) && isset(\$$dbname_varname))
echo "dbc_dbname='\$$dbname_varname';\n";
if(!empty(\$use_dbserver) && isset(\$$dbserver_varname))
echo "dbc_dbserver='\$$dbserver_varname';\n";
if(!empty(\$use_dbport) && isset(\$$dbport_varname))
echo "dbc_dbport='\$$dbport_varname';\n";
if(!empty(\$use_dbtype) && isset(\$$dbtype_varname))
echo "dbc_dbtype='\$$dbtype_varname';\n";
EOF
;;
perl)
( cat $inputfile; cat << EOF ) | perl
print "dbc_dbuser='\$$dbuser_varname'\n" if("$use_dbuser");
print "dbc_dbpass='\$$dbpass_varname'\n" if("$use_dbpass");
print "dbc_basepath='\$$basepath_varname'\n" if("$use_basepath");
print "dbc_dbname='\$$dbname_varname'\n" if("$use_dbname");
print "dbc_dbserver='\$$dbserver_varname'\n" if("$use_dbserver");
print "dbc_dbport='\$$dbport_varname'\n" if("$use_dbport");
print "dbc_dbtype='\$$dbtype_varname'\n" if("$use_dbtype");
EOF
;;
exec)
sh -c $inputfile
rv="$?"
;;
esac
exit $rv
|