]> git.ipfire.org Git - pakfire.git/commitdiff
Speedup searching for requires (esp. in the kernel).
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 29 Mar 2012 10:57:19 +0000 (12:57 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 29 Mar 2012 10:57:19 +0000 (12:57 +0200)
tools/find-requires

index 9a98c324cbf8b652c51553910aac9e9f28678aee..89ee929dd130e14b22221f1d6e784182f1693054 100755 (executable)
@@ -26,6 +26,11 @@ while read file; do
                */usr/lib/debug/*|*/usr/src/debug/*)
                        # Skip all debuginfo files.
                        ;;
+               *.ko)
+                       # Skip all kernel modules because they do not
+                       # require anything at all.
+                       continue
+                       ;;
                *.pc)
                        # Find all pkg-config files.
                        pkgconfig_files="${pkgconfig_files} ${file}"
@@ -57,18 +62,6 @@ while read file; do
                        ;;
        esac
 
-       # Search for all binary files.
-       if file_is_elf ${file}; then
-               binary_files="${binary_files} ${file}"
-               continue
-       fi
-
-       # Search for script files.
-       if file_is_script ${file}; then
-               script_files="${script_files} ${file}"
-               continue
-       fi
-
        # Unresolved symlinks.
        if [ -L "${file}" ]; then
                # Get destination.
@@ -79,6 +72,22 @@ while read file; do
                if ! [ -e "${link}" ]; then
                        echo "${link#${BUILDROOT}}"
                fi
+
+               # Don't search for anything else, because
+               # symlinks do not require anything but the target file.
+               continue
+       fi
+
+       # Search for all binary files.
+       if file_is_elf ${file}; then
+               binary_files="${binary_files} ${file}"
+               continue
+       fi
+
+       # Search for script files.
+       if file_is_script ${file}; then
+               script_files="${script_files} ${file}"
+               continue
        fi
 done < ${FILELIST}