summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2022-09-19 01:08:18 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2023-12-14 17:13:11 -0500
commit87ba2c3a652472ed97e3221cca12dba8c5c667a1 (patch)
tree558c64e780d319a6b83678d79f6bf9e271ef3615
parentadc943085f66e40cc19c0aa11c3e39803d49a5e6 (diff)
[parabola-dependents]: print arch abs makedepends
-rwxr-xr-xparabola-dependents56
1 files changed, 38 insertions, 18 deletions
diff --git a/parabola-dependents b/parabola-dependents
index 00b3dfc..9944198 100755
--- a/parabola-dependents
+++ b/parabola-dependents
@@ -1,6 +1,8 @@
#!/bin/bash
-readonly ABS_DIR=/packages/abslibre
+readonly ABSLIBRE_DIR=/packages/abslibre
+readonly ABS_PACKAGES_DIR=/packages/arch/packages
+readonly ABS_COMMUNITY_DIR=/packages/arch/community
readonly DEBUG=0
readonly BE_VERBOSE=$( [[ "${1}" == '-v' ]] && echo 1 || echo 0 ) ; (( $BE_VERBOSE )) && shift ;
@@ -68,7 +70,8 @@ PACTREE_OPTS='' # Init()
ParabolaDependents=() # CollectResults()
ArchDependents=() # CollectResults()
-Makedependents=() # CollectResults()
+ParabolaMakedependents=() # CollectResults()
+ArchMakedependents=() # CollectResults()
declare -A HiorderDependents # CollectResults()
@@ -105,6 +108,22 @@ LogScriptError() # (source_file func_name line_n)
LogError "in ${func_name}\n${line_n}: ${err_loc=}\n"
}
+ParsePkgbuilds() # ("abs_dir")
+{
+ local abs_dir="$1"
+ local pkgbuild repo pkgbase
+
+ cd "${abs_dir}"
+ for pkgbuild in $(find . -name PKGBUILD)
+ do if git ls-tree master ${pkgbuild} | grep -E '/PKGBUILD$' > /dev/null &&
+ ( source ${pkgbuild} ; grep ${DEP} <<<${makedepends[*]} > /dev/null )
+ then repo=$( sed -E "${PKGBUILD_SED_RX}" <<<${pkgbuild} | cut -d ' ' -f 1)
+ pkgbase=$(sed -E "${PKGBUILD_SED_RX}" <<<${pkgbuild} | cut -d ' ' -f 2)
+ echo ${repo}/${pkgbase}
+ fi
+ done
+}
+
IsArchRepo() # (repo)
{
local repo=$1 ; [[ "${repo}" =~ ^(community|core|extra|multilib|testing)$ ]]
@@ -185,7 +204,7 @@ export PATH="/code/pacman-contrib/src:${PATH}"
CollectResults()
{
- local dep_chains pkgbuild repo pkgbase n_results dep_chain dep_pkg via_pkg repos
+ local dep_chains n_results dep_chain dep_pkg via_pkg repos repo
# query database for dependents
Log "querying database ...."
@@ -193,18 +212,14 @@ CollectResults()
# parse PKGBUILDs for makedepends
Log "searching abslibre ...."
- cd ${ABS_DIR}
- for pkgbuild in $(find . -name PKGBUILD)
- do if git ls-tree master ${pkgbuild} | grep -E '/PKGBUILD$' > /dev/null &&
- ( source ${pkgbuild} ; grep ${DEP} <<<${makedepends[*]} > /dev/null )
- then repo=$( sed -E "${PKGBUILD_SED_RX}" <<<${pkgbuild} | cut -d ' ' -f 1)
- pkgbase=$(sed -E "${PKGBUILD_SED_RX}" <<<${pkgbuild} | cut -d ' ' -f 2)
- Makedependents+=( ${repo}/${pkgbase} )
- fi
- done
+ ParabolaMakedependents+=( $(ParsePkgbuilds "${ABSLIBRE_DIR}") )
+ Log "searching abs ...."
+ ArchMakedependents+=( $(ParsePkgbuilds "${ABS_PACKAGES_DIR}" ) )
+ ArchMakedependents+=( $(ParsePkgbuilds "${ABS_COMMUNITY_DIR}") )
# compile results
- n_results=$(( ${#Makedependents[*]} + ${#dep_chains[@]} ))
+ n_results=$(( ${#dep_chains[@]} + ${#ParabolaMakedependents[*]} + \
+ ${#ArchMakedependents[*]} ))
Log "compiling results for (${n_results}) dependents ...."
for dep_chain in "${dep_chains[@]}"
do dep_pkg=$(sed 's|.*<- ||' <<<${dep_chain})
@@ -248,14 +263,19 @@ PrintReport()
# report parabola abslibre packages with direct build-time dependency
# on the input package or sodep
- # TODO: report parabola abslibre packages with some degree of run-time dependency
- if (( ${#Makedependents[*]} ))
- then Log "\nbuild dependents:"
- printf " %s\n" ${Makedependents[*]}
+ # TODO: report parabola abslibre packages with some degree of build-time dependency
+ if (( ${#ParabolaMakedependents[*]} ))
+ then Log "\nparabola build dependents:"
+ printf " %s\n" ${ParabolaMakedependents[*]}
fi
- # TODO: report arch abs packages with some degree of build-time dependency
+ # report arch abs packages with direct build-time dependency
# on the input package or sodep
+ # TODO: report arch abs packages with some degree of build-time dependency
+ if (( ${#ArchMakedependents[*]} ))
+ then Log "\narch build dependents:"
+ printf " %s\n" ${ArchMakedependents[*]}
+ fi
}
Cleanup()