Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rwxr-xr-xlib/common-functions127
1 files changed, 0 insertions, 127 deletions
diff --git a/lib/common-functions b/lib/common-functions
index 9f78550..8fc300f 100755
--- a/lib/common-functions
+++ b/lib/common-functions
@@ -1041,133 +1041,6 @@ shrink_version() {
'
}
-# find_biggest_subset_of_packages $omega $keep $all_builds $all_depends [ $force ]
-
-# Return (to stdout) the biggest subset A of the packages in $omega whose
-# runtime dependencies in $omega \cup $keep are also in A
-
-# $all_builds and $all_depends either point to an empty file - then they will get
-# filled with cached data for subsequent calls - or to the same files of a previous
-# call
-
-# If non-empty, $force contains packages which are assumed to match the above
-# condition without checking.
-
-# The arguments are names of files with one $package.$revision.$mod_revision.$repository
-# per line.
-
-find_biggest_subset_of_packages() {
-
- ( # the new shell is intentional
- omega="$1"
- keep="$2"
- all_builds="$3"
- all_depends="$4"
- if [ $# -eq 4 ]; then
- force='/dev/null'
- elif [ $# -eq 5 ]; then
- force="$5"
- else
- >&2 printf 'find_biggest_subset_of_packages: Wrong number of arguments: %s given, 4 or 5 expected.' "$#"
- return 2
- fi
-
- if [ ! -s "${all_builds}" ]; then
- find "${work_dir}/package-infos/" -maxdepth 1 -name '*.builds' \
- -exec sed '
- s|^|{} |
- s|^\S\+/||
- s|\.builds | |
- ' {} \; | \
- sort -k2,2 > \
- "${all_builds}"
- fi
-
- if [ ! -s "${all_depends}" ]; then
- find "${work_dir}/package-infos/" -maxdepth 1 -name '*.run-depends' \
- -exec sed '
- s|^|{} |
- s|^\S\+/||
- s|\.run-depends | |
- ' {} \; | \
- grep -v ' base$' | \
- sort -k2,2 > \
- "${all_depends}"
- fi
-
- sort -u "${omega}" | \
- sponge "${omega}"
-
- temp_dir=$(mktemp -d 'tmp.common-functions.find_biggest_subset_of_packages.XXXXXXXXXX' --tmpdir)
- trap 'rm -rf --one-file-system "${temp_dir}"' EXIT
-
- {
- sort -u "${keep}"
- cat "${force}" "${force}"
- } | \
- sort | \
- uniq -u > \
- "${temp_dir}/keep.new"
- touch "${temp_dir}/keep"
-
- while [ -s "${temp_dir}/keep.new" ]; do
- cat "${temp_dir}/keep.new" "${temp_dir}/keep" | \
- sort -u | \
- sponge "${temp_dir}/keep"
-
- {
- # we append all packages which are run-dependencies of keep-packages
- # to the keep-list
- sed '
- s|^|'"${work_dir}"'/package-infos/|
- s|$|.run-depends|
- ' "${temp_dir}/keep" | \
- xargs -r grep -HF '' | \
- sed '
- s|^.*/||
- s|\.run-depends:| |
- ' | \
- sort -u | \
- sort -k2,2 | \
- uniq -f1 | \
- join -1 2 -2 2 -o 2.1 - "${all_builds}"
-
- # we append all packages with run-dependencies on the keep-list
- # to the keep-list
- sed '
- s|^|'"${work_dir}"'/package-infos/|
- s|$|.builds|
- ' "${temp_dir}/keep" | \
- xargs -r grep -HF '' | \
- sed '
- s|^.*/||
- s|\.builds:| |
- ' | \
- sort -u | \
- sort -k2,2 | \
- uniq -f1 | \
- join -1 2 -2 2 -o 2.1 - "${all_depends}"
- } | \
- sort -u | \
- join -1 1 -2 1 -o 2.1 - "${omega}" | \
- sort -u > \
- "${temp_dir}/keep.new"
-
- # "new" is only what has not been there before and what is not forced
- cat "${temp_dir}/keep" "${temp_dir}/keep" "${force}" "${force}" "${temp_dir}/keep.new" | \
- sort | \
- uniq -u | \
- sponge "${temp_dir}/keep.new"
- done
-
- cat "${omega}" "${temp_dir}/keep" "${temp_dir}/keep" | \
- sort | \
- uniq -u
-
- )
-
-}
-
# sort_square_bracket_content $file
# sort the content of [] in $file, print to stdout