aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rwxr-xr-xfind-requires.in20
2 files changed, 22 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 29cd47f..772e53a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+- drop automatically generated dependencies on interpreters we either don't
+ need dependencies on or that we have other dedicated dependency generators
+ for making them duplicate, reducing ~5K packages' dependencies at
+ next rebuild. (Per Oyvind, mdv)
- drop automatically generated rtld(GNU_HASH) dependencies, it's been provided
by glibc for five years now and can safely be assumed that there's no longer
any need for it, reducing ~8K packages' dependency on it during next rebuild.
diff --git a/find-requires.in b/find-requires.in
index b3a2b5f..6d742e5 100755
--- a/find-requires.in
+++ b/find-requires.in
@@ -116,9 +116,25 @@ uniqdeplist+="$tmpdeplist"
for f in $scriptlist; do
[ -r $f -a -x $f ] || continue
interp=`head -n 1 $f | grep '^#!' | sed -e 's/^\#\![ ]*//' | cut -d" " -f1`
- interplist="$interplist $interp"
case $interp in
- */perl) perllist="$perllist $f" ;;
+ # we really don't need to add these dependencies as they're required by
+ # glibc and therefore guaranteed to be satisfied
+ */sh|*/bash)
+ continue
+ ;;
+ # we already have dedicated dependency generators for these
+ */python)
+ pythonlist="$pythonlist $f"
+ ;;
+ */perl)
+ perllist="$perllist $f"
+ ;;
+ */ruby)
+ rubylist="$rubylist $f"
+ ;;
+ *)
+ interplist="$interplist $interp"
+ ;;
esac
done
if [ -n "$interplist" ]; then