diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2022-09-19 01:08:18 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2023-12-14 17:13:11 -0500 |
commit | 87ba2c3a652472ed97e3221cca12dba8c5c667a1 (patch) | |
tree | 558c64e780d319a6b83678d79f6bf9e271ef3615 | |
parent | adc943085f66e40cc19c0aa11c3e39803d49a5e6 (diff) |
[parabola-dependents]: print arch abs makedepends
-rwxr-xr-x | parabola-dependents | 56 |
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() |