common/hooks: use file for managing provides
python packages use this to automatically generate provides for each module installed by the package.
This commit is contained in:
parent
a4b74b62a1
commit
232221efaf
@ -40,6 +40,9 @@ genpkg() {
|
||||
if [ -s ${XBPS_STATEDIR}/${pkgname}${suffix}-shlib-provides ]; then
|
||||
_shprovides="$(<${XBPS_STATEDIR}/${pkgname}${suffix}-shlib-provides)"
|
||||
fi
|
||||
if [ -s ${XBPS_STATEDIR}/${pkgname}${suffix}-provides ]; then
|
||||
_provides="$(<${XBPS_STATEDIR}/${pkgname}${suffix}-provides)"
|
||||
fi
|
||||
if [ -s ${XBPS_STATEDIR}/${pkgname}${suffix}-shlib-requires ]; then
|
||||
_shrequires="$(<${XBPS_STATEDIR}/${pkgname}${suffix}-shlib-requires)"
|
||||
fi
|
||||
@ -48,7 +51,6 @@ genpkg() {
|
||||
fi
|
||||
|
||||
# Stripping whitespaces
|
||||
local _provides="$(echo $provides)"
|
||||
local _conflicts="$(echo $conflicts)"
|
||||
local _replaces="$(echo $replaces)"
|
||||
local _reverts="$(echo $reverts)"
|
||||
|
29
common/hooks/pre-pkg/04-generate-provides.sh
Normal file
29
common/hooks/pre-pkg/04-generate-provides.sh
Normal file
@ -0,0 +1,29 @@
|
||||
# vim: set ts=4 sw=4 et:
|
||||
#
|
||||
# This hook executes the following tasks:
|
||||
# - Generates provides file with provides entries for xbps-create(1)
|
||||
|
||||
generate_python_provides() {
|
||||
local py3_bin="${XBPS_MASTERDIR}/usr/bin/python3"
|
||||
|
||||
if [ -z "$nopyprovides" ] && [ -d "${PKGDESTDIR}/${py3_sitelib}" ] && [ -x "${py3_bin}" ]; then
|
||||
PYTHONPATH="${XBPS_MASTERDIR}/${py3_sitelib}-bootstrap" "${py3_bin}" \
|
||||
"${XBPS_COMMONDIR}"/scripts/parse-py-metadata.py \
|
||||
-S "${PKGDESTDIR}/${py3_sitelib}" -v "${pkgver}" provides
|
||||
fi
|
||||
}
|
||||
|
||||
hook() {
|
||||
local -a _provides=()
|
||||
|
||||
# include explicit values from the template
|
||||
read -r -a _provides <<< "$provides"
|
||||
|
||||
# get the canonical python package names for each python module
|
||||
mapfile -t _provides -O "${#_provides[@]}" < <( generate_python_provides )
|
||||
|
||||
if [ "${#_provides[@]}" -gt 0 ]; then
|
||||
echo " ${_provides[*]}"
|
||||
echo "${_provides[*]}" > "${XBPS_STATEDIR}/${pkgname}-provides"
|
||||
fi
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user