diff options
author | Richard Purdie <richard@openedhand.com> | 2008-03-14 11:28:39 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2008-03-14 11:28:39 +0000 |
commit | 097076da2349e638342e69e465c85683adb6ccc7 (patch) | |
tree | 564c58ded8044866dd370a11a50f60e6b6201108 | |
parent | 5f391a1647151923f25fa07b28349ee44ae21168 (diff) | |
download | openembedded-core-097076da2349e638342e69e465c85683adb6ccc7.tar.gz openembedded-core-097076da2349e638342e69e465c85683adb6ccc7.tar.bz2 openembedded-core-097076da2349e638342e69e465c85683adb6ccc7.tar.xz openembedded-core-097076da2349e638342e69e465c85683adb6ccc7.zip |
stage-manager: Sync with OE for various fixes
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4005 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rwxr-xr-x | meta/packages/stage-manager/files/stage-manager | 23 | ||||
-rw-r--r-- | meta/packages/stage-manager/stagemanager-native_0.0.1.bb | 3 |
2 files changed, 20 insertions, 6 deletions
diff --git a/meta/packages/stage-manager/files/stage-manager b/meta/packages/stage-manager/files/stage-manager index 35453992f..536d1afda 100755 --- a/meta/packages/stage-manager/files/stage-manager +++ b/meta/packages/stage-manager/files/stage-manager @@ -33,6 +33,7 @@ def read_cache(cachefile): cache[data[0]] = {} cache[data[0]]['ts'] = int(data[1]) cache[data[0]]['size'] = int(data[2]) + cache[data[0]]['seen'] = False return cache def mkdirhier(dir): @@ -77,13 +78,14 @@ if __name__ == "__main__": if os.access(options.cachefile, os.F_OK): cache = read_cache(options.cachefile) - found = False + found_difference = False def updateCache(path, fstamp): cache[path] = {} cache[path]['ts'] = fstamp[stat.ST_MTIME] cache[path]['size'] = fstamp[stat.ST_SIZE] - found = True + cache[path]['seen'] = True + found_difference = True def copyfile(path): if options.copydir: @@ -94,11 +96,13 @@ if __name__ == "__main__": def copydir(path, fstamp): if options.copydir: copypath = os.path.join(options.copydir, path.replace(options.parentdir, '', 1)) + if os.path.exists(copypath): + os.system("rm -rf " + copypath) if os.path.islink(path): os.symlink(os.readlink(path), copypath) else: mkdirhier(copypath) - os.utime(copypath, (fstamp[stat.ST_ATIME], fstamp[stat.ST_MTIME])) + os.utime(copypath, (fstamp[stat.ST_ATIME], fstamp[stat.ST_MTIME])) for root, dirs, files in os.walk(options.parentdir): for f in files: @@ -115,6 +119,7 @@ if __name__ == "__main__": print "file %s changed" % path updateCache(path, fstamp) copyfile(path) + cache[path]['seen'] = True for d in dirs: path = os.path.join(root, d) fstamp = os.lstat(path) @@ -127,13 +132,23 @@ if __name__ == "__main__": print "dir %s changed" % path updateCache(path, fstamp) copydir(path, fstamp) + cache[path]['seen'] = True + + todel = [] + for path in cache: + if not cache[path]['seen']: + print "%s removed" % path + found_difference = True + todel.append(path) if options.update: print "Updating" + for path in todel: + del cache[path] mkdirhier(os.path.split(options.cachefile)[0]) write_cache(options.cachefile, cache) - if found: + if found_difference: sys.exit(5) sys.exit(0) diff --git a/meta/packages/stage-manager/stagemanager-native_0.0.1.bb b/meta/packages/stage-manager/stagemanager-native_0.0.1.bb index 828af1fbb..39c8d7f3d 100644 --- a/meta/packages/stage-manager/stagemanager-native_0.0.1.bb +++ b/meta/packages/stage-manager/stagemanager-native_0.0.1.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Helper script for packaged-staging.bbclass" -PR = "r7" +PR = "r8" SRC_URI = "file://stage-manager" LICENSE = "GPLv2" @@ -10,7 +10,6 @@ inherit native DEPENDS = " " PACKAGE_DEPENDS = " " -PATCHTOOL = "" INHIBIT_DEFAULT_DEPS = "1" do_install() { |