Fix the annoying base-files autorebuild bug.
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 12 Jan 2007 11:09:05 +0000 (11:09 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 12 Jan 2007 11:09:05 +0000 (11:09 +0000)
When checking file mtimes in directories, timestamp.pl was following symlinks.
This broke on base-files, because there are symlinks to /tmp and to /proc/mounts in the build directory.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6084 3c298f89-4303-0410-b956-a3cf2f4a3e73

include/package.mk
package/base-files/Makefile
scripts/timestamp.pl

index 1b69cf2..ffab228 100644 (file)
@@ -21,7 +21,7 @@ define Build/DefaultTargets
   ifeq ($(DUMP),)
     ifeq ($(CONFIG_AUTOREBUILD),y)
       _INFO:=
-      ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) .),$(PKG_BUILD_DIR))
+      ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) . $(PKG_FILE_DEPEND)),$(PKG_BUILD_DIR))
         _INFO+=$(subst $(TOPDIR)/,,$(PKG_BUILD_DIR))
         $(PKG_BUILD_DIR)/.prepared: package-clean
       endif
index 14917f6..33e6522 100644 (file)
@@ -13,6 +13,7 @@ PKG_NAME:=base-files
 PKG_RELEASE:=8
 
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)
+PKG_FILE_DEPEND:=$(PLATFORM_DIR)
 
 REV:=$(shell LANG=C svn info | awk '/^Revision:/ { print$$2 }' )
 ifeq ($(REV),)
index a3aa50c..a4c5cae 100755 (executable)
@@ -17,9 +17,8 @@ sub get_ts($$) {
        while (<FIND>) {
                chomp;
                my $file = $_;
-               open FILE, "<$file";
-               my @stat = stat FILE;
-               close FILE;
+               next if -l $file;
+               my @stat = stat $file;
                if ($stat[9] > $ts) {
                        $ts = $stat[9];
                        $fn = $file;