260 |
sql "select pcat,pname from virtual_defaults where vcat='${vcat}' and vname='${vname}'" |
sql "select pcat,pname from virtual_defaults where vcat='${vcat}' and vname='${vname}'" |
261 |
} |
} |
262 |
|
|
|
ALLDEPS="" |
|
|
#ALREADY_PROCESSED="" |
|
|
resolv_pkgs() |
|
|
{ |
|
|
local method="$1" |
|
|
local pname="$2" |
|
|
local state="$3" |
|
|
local depcat |
|
|
local depname |
|
|
local depver |
|
|
local depbuild |
|
|
local highest |
|
|
local fullname |
|
|
local searchcmd |
|
|
local searchcmd2 |
|
|
local pkgid |
|
|
#local ALL_DEPS |
|
|
|
|
|
case ${method} in |
|
|
--install) |
|
|
searchcmd="all_depends ${pname} ${state}" |
|
|
searchcmd2="" |
|
|
;; |
|
|
--src-install) |
|
|
searchcmd="all_depends ${pname} ${state}" |
|
|
searchcmd2="all_sdepends ${pname} ${state}" |
|
|
;; |
|
|
esac |
|
|
|
|
|
[[ -z ${pname} ]] && return 1 |
|
|
|
|
|
echo |
|
|
echo "processing pname=${pname}" |
|
|
echo "before ALL_DEPS=${ALL_DEPS[*]}" |
|
|
read |
|
|
|
|
|
ALL_DEPS+=($(${searchcmd})) |
|
|
ALL_DEPS+=($(${searchcmd2})) |
|
|
|
|
|
echo "after ALL_DEPS=${ALL_DEPS[*]}" |
|
|
read |
|
|
|
|
|
for line in ${ALL_DEPS[${i}]} |
|
|
do |
|
|
# for (( i=0; i<count; i++)) |
|
|
# do |
|
|
# echo "i=${i}" |
|
|
# read |
|
|
|
|
|
line="${ALL_DEPS[${i}]}" |
|
|
# while read line |
|
|
# do |
|
|
[[ -z ${line} ]] && continue |
|
|
|
|
|
depcat="${line%%|*}" |
|
|
depname="${line#*|}" |
|
|
depname="${depname%%|*}" |
|
|
|
|
|
# check processed pnames, to speed things up |
|
|
# local i |
|
|
# for i in ${ALREADY_PROCESSED} |
|
|
# do |
|
|
# [[ ${depname} = ${i} ]] && continue |
|
|
# done |
|
|
|
|
|
# hotfix |
|
|
if [[ ${depcat} = virtual ]] |
|
|
then |
|
|
case ${depname} in |
|
|
x11) |
|
|
depcat=x11-base |
|
|
depname=xorg |
|
|
;; |
|
|
glibc) |
|
|
depcat=sys-libs |
|
|
depname=glibc-nptl |
|
|
;; |
|
|
kernel) |
|
|
depcat=sys-kernel |
|
|
depname=kernel26-magellan |
|
|
;; |
|
|
kernel-headers) |
|
|
depcat=sys-kernel |
|
|
depname=linux-libc-headers |
|
|
;; |
|
|
kernel-sources) |
|
|
depcat=sys-kernel |
|
|
depname=kernel26-sources-magellan |
|
|
;; |
|
|
java) |
|
|
depcat=dev-java |
|
|
depname=sun-jdk |
|
|
;; |
|
|
mta) |
|
|
depcat=net-mail |
|
|
depname=ssmtp |
|
|
;; |
|
|
editor) |
|
|
depcat=app-editors |
|
|
depname=nano |
|
|
;; |
|
|
cron) |
|
|
depcat=sys-apps |
|
|
depname=fcron |
|
|
;; |
|
|
syslog) |
|
|
depcat=app-admin |
|
|
depname=syslog-ng |
|
|
;; |
|
|
alsa-drivers) |
|
|
depcat=sys-kernel |
|
|
depname=kernel26-magellan |
|
|
;; |
|
|
nvidia-drivers) |
|
|
depcat=sys-kernel |
|
|
depname=kernel26-magellan |
|
|
;; |
|
|
ati-drivers) |
|
|
depcat=sys-kernel |
|
|
depname=kernel26-magellan |
|
|
;; |
|
|
opengl) |
|
|
depcat=media-libs |
|
|
depname=mesa |
|
|
;; |
|
|
esac |
|
|
fi |
|
|
|
|
|
highest=$(highest_pkg ${depname} ${state}) |
|
|
depver="${highest%|*}" |
|
|
depbuild="${highest##*|}" |
|
|
|
|
|
fullname="${depcat}/${depname}-${depver}-${depbuild}" |
|
|
|
|
|
echo "DEBUG: depcat='${depcat}'" |
|
|
echo "DEBUG: depname='${depname}'" |
|
|
echo "DEBUG: fullname='${fullname}'" |
|
|
|
|
|
#### check ob DFILE schon installiert ist #### |
|
|
is_installed --pcat "${depcat}" --pname "${depname}" --pver "${depver}" --pbuild "${depbuild}" && continue |
|
|
|
|
|
## check ob schon in ALLDEPS enthalten dann mach weiter |
|
|
if [[ -z $(echo ${ALLDEPS} | fgrep "${fullname}") ]] |
|
|
then |
|
|
echo "DEBUG: next loop! -> ${depname}" |
|
|
resolv_pkgs "${method}" "${depname}" "${state}" |
|
|
ALLDEPS="${ALLDEPS} ${fullname}" |
|
|
fi |
|
|
|
|
|
# list of all processed pnames, to speed things up |
|
|
# ALREADY_PROCESSED="${ALREADY_PROCESSED} ${depname}" |
|
|
|
|
|
# unset all vars |
|
|
unset depname |
|
|
unset depcat |
|
|
unset depver |
|
|
unset depbuild |
|
|
unset fullname |
|
|
unset shighest |
|
|
# done << EOF |
|
|
#$(${searchcmd}) |
|
|
#$(${searchcmd2}) |
|
|
#EOF |
|
|
# done |
|
|
done |
|
|
} |
|
|
|
|
|
# start_depwanderer pname state |
|
|
start_depwanderer() |
|
|
{ |
|
|
local highest |
|
|
local method="$1" |
|
|
local pname="$2" |
|
|
local pver |
|
|
local pbuild |
|
|
local pcat |
|
|
local state="$3" |
|
|
local x i |
|
|
|
|
|
# get some suitable pkg info |
|
|
highest=$(highest_pkg "${pname}" "${state}") |
|
|
pver="${highest%|*}" |
|
|
pbuild="${highest##*|}" |
|
|
pcat=$(sql "select categories.pcat |
|
|
from packages |
|
|
inner join categories |
|
|
on packages.pcat_id=categories.id |
|
|
where packages.pname='${pname}' |
|
|
and packages.pver='${pver}' |
|
|
and packages.pbuild='${pbuild}'") |
|
|
|
|
|
# already installed ?? |
|
|
if is_installed --pcat "${pcat}" --pname "${pname}" --pver "${pver}" --pbuild "${pbuild}" |
|
|
then |
|
|
echo "Package ${pcat}/${pname}-${pver}-${pbuild} already installed." |
|
|
return 2 |
|
|
fi |
|
|
|
|
|
resolv_pkgs "${method}" "${pname}" "${state}" |
|
|
declare -i x=1 |
|
|
for i in ${ALLDEPS} |
|
|
do |
|
|
#echo "${x}: ${i}" |
|
|
echo "${i}" |
|
|
((x++)) |
|
|
done |
|
|
|
|
|
# add the package itself to the dependencies |
|
|
#echo "$((x++)): ${pcat}/${pname}-${pver}-${pbuild}" |
|
|
echo "${pcat}/${pname}-${pver}-${pbuild}" |
|
|
} |
|
|
|
|
|
|
|
263 |
# fetch_packages /path/to/mage/file1 /path/to/mage/file2 |
# fetch_packages /path/to/mage/file1 /path/to/mage/file2 |
264 |
fetch_packages() |
fetch_packages() |
265 |
{ |
{ |