summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-07-29 20:35:37 +0200
committerErich Eckner <git@eckner.net>2017-07-29 20:35:55 +0200
commit40ff3da46482c7a3992096a193bd4f704a65a120 (patch)
tree68f54a859358d5915c76277aa53d61cb5e720c15
parentb224b5ac1dd6f219ac59477d30d84a8732e31b90 (diff)
downloadbuilder-40ff3da46482c7a3992096a193bd4f704a65a120.tar.xz
new routine to find dependencies on the build list: "find_dependencies_on_build_list"
-rwxr-xr-xbin/common-functions28
-rwxr-xr-xbin/get-assignment18
-rwxr-xr-xbin/why_dont_you16
3 files changed, 32 insertions, 30 deletions
diff --git a/bin/common-functions b/bin/common-functions
index d251741..923fbb0 100755
--- a/bin/common-functions
+++ b/bin/common-functions
@@ -642,3 +642,31 @@ extract_source_directory() {
sed -i '/^\$Id\$$/d' "${output}/PKGBUILD"
}
+
+# find_dependencies_on_build_list $package $git_revision $mod_git_revision $repository
+# return a list of packages on the build list which are dependencies of the given package
+
+find_dependencies_on_build_list() {
+
+ local package="$1"
+ local git_revision="$2"
+ local mod_git_revision="$3"
+ local repository="$4"
+
+ generate_package_metadata "${package}" "${git_revision}" "${mod_git_revision}" "${repository}"
+
+ (
+ cat "${work_dir}/package-infos/${package}.${git_revision}.${mod_git_revision}.${repository}.needs"
+ grep -vxF 'break_loops' "${work_dir}/build-list" | \
+ awk '{print $1 "." $2 "." $3 "." $4}' | \
+ sed "
+ s|^|${work_dir}/package-infos/|
+ s|\$|\.builds|
+ " | \
+ xargs -r cat | \
+ sort -u
+ ) | \
+ sort | \
+ uniq -d
+
+}
diff --git a/bin/get-assignment b/bin/get-assignment
index d426988..1b2a00d 100755
--- a/bin/get-assignment
+++ b/bin/get-assignment
@@ -144,21 +144,9 @@ for hand_out_broken in false true; do
continue
fi
- [ -z "$(
- (
- cat "${work_dir}/package-infos/${package}.${git_revision}.${mod_git_revision}.${repository}.needs"
- grep -vxF 'break_loops' "${work_dir}/build-list" | \
- awk '{print $1 "." $2 "." $3 "." $4}' | \
- sed "
- s|^|${work_dir}/package-infos/|
- s|\$|\.builds|
- " | \
- xargs -r cat | \
- sort -u
- ) | \
- sort | \
- uniq -d
- )" ] || continue
+ if [ -n "$(find_dependencies_on_build_list "${package}" "${git_revision}" "${mod_git_revision}" "${repository}")" ]; then
+ continue
+ fi
hand_out_assignment "${package}" "${git_revision}" "${mod_git_revision}" "${repository}"
diff --git a/bin/why_dont_you b/bin/why_dont_you
index 401d1ed..51f2e4a 100755
--- a/bin/why_dont_you
+++ b/bin/why_dont_you
@@ -26,21 +26,7 @@ case "${action}" in
continue
fi
- unmet_dependencies="$(
- (
- cat "${work_dir}/package-infos/${package}.${git_revision}.${mod_git_revision}.${repository}.needs"
- grep -vxF 'break_loops' "${work_dir}/build-list" | \
- awk '{print $1 "." $2 "." $3 "." $4}' | \
- sed "
- s|^|${work_dir}/package-infos/|
- s|\$|\.builds|
- " | \
- xargs -r cat | \
- sort -u
- ) | \
- sort | \
- uniq -d
- )"
+ unmet_dependencies="$(find_dependencies_on_build_list "${package}" "${git_revision}" "${mod_git_revision}" "${repository}")"
if [ -n "${unmet_dependencies}" ]; then
printf '"%s" has unmet dependencies:\n' "${package}"
echo "${unmet_dependencies}" | \