mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
- For pkg run-depends dir listing, consider deps recursively.
pkg_install already did this. - Speedup the pkg_install run-depends listing by processing unique packages. With hat: portmgr Reported by: antoine
This commit is contained in:
parent
f1fdb34f7c
commit
a12e34d03e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=351830
1 changed files with 21 additions and 7 deletions
|
@ -169,11 +169,25 @@ fi
|
||||||
fi
|
fi
|
||||||
} >${WRKDIR}/.mtree
|
} >${WRKDIR}/.mtree
|
||||||
|
|
||||||
|
pkg_get_recursive_deps() {
|
||||||
|
echo "$@"
|
||||||
|
PKG_CHECKED="${PKG_CHECKED} $@"
|
||||||
|
for depends in $(${PKG_QUERY} '%do' $@ | sort -u); do
|
||||||
|
[ -z "${depends}" ] && return
|
||||||
|
case " ${PKG_CHECKED} " in
|
||||||
|
*\ ${depends}\ *) continue ;;
|
||||||
|
esac
|
||||||
|
pkg_get_recursive_deps "${depends}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
### GATHER DIRS OWNED BY RUN-DEPENDS. WHY ARE WE SCREAMING?
|
### GATHER DIRS OWNED BY RUN-DEPENDS. WHY ARE WE SCREAMING?
|
||||||
: >${WRKDIR}/.run-depends-dirs
|
: >${WRKDIR}/.run-depends-dirs
|
||||||
if [ -n "${WITH_PKGNG}" ]; then
|
if [ -n "${WITH_PKGNG}" ]; then
|
||||||
echo "${PACKAGE_DEPENDS}" | xargs ${PKG_QUERY} "%D" | \
|
echo "${PACKAGE_DEPENDS}" | while read pkg; do \
|
||||||
sed -e 's,/$,,' | sort -u >>${WRKDIR}/.run-depends-dirs
|
PKG_CHECKED= pkg_get_recursive_deps "${pkg}"; done | sort -u | \
|
||||||
|
xargs ${PKG_QUERY} "%D" | sed -e 's,/$,,' | sort -u \
|
||||||
|
>>${WRKDIR}/.run-depends-dirs
|
||||||
else
|
else
|
||||||
# Evaluate ACTUAL-PACKAGE-DEPENDS
|
# Evaluate ACTUAL-PACKAGE-DEPENDS
|
||||||
packagelist=
|
packagelist=
|
||||||
|
@ -190,11 +204,11 @@ else
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
echo "${package_depends}" | while read line; do
|
echo "${package_depends}" | tr ' ' '\n' | cut -d : -f 1 | \
|
||||||
${PKG_QUERY} -f ${line%%:*} | \
|
sort -u | xargs -n 1 ${PKG_QUERY} -f | \
|
||||||
awk "${awk_script}" | \
|
awk "${awk_script}" | \
|
||||||
sed -e "/^[^/]/s,^,${LOCALBASE}/,"
|
sed -e "/^[^/]/s,^,${LOCALBASE}/," | sort -u \
|
||||||
done | sort -u >>${WRKDIR}/.run-depends-dirs
|
>>${WRKDIR}/.run-depends-dirs
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
unset PACKAGE_DEPENDS PKG_QUERY
|
unset PACKAGE_DEPENDS PKG_QUERY
|
||||||
|
|
Loading…
Add table
Reference in a new issue