summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-03-14 11:28:39 +0000
committerRichard Purdie <richard@openedhand.com>2008-03-14 11:28:39 +0000
commit097076da2349e638342e69e465c85683adb6ccc7 (patch)
tree564c58ded8044866dd370a11a50f60e6b6201108
parent5f391a1647151923f25fa07b28349ee44ae21168 (diff)
downloadopenembedded-core-097076da2349e638342e69e465c85683adb6ccc7.tar.gz
openembedded-core-097076da2349e638342e69e465c85683adb6ccc7.tar.bz2
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-xmeta/packages/stage-manager/files/stage-manager23
-rw-r--r--meta/packages/stage-manager/stagemanager-native_0.0.1.bb3
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 35453992f4..536d1afda0 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 828af1fbb5..39c8d7f3de 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() {