From 6f79439ce478ce362fc1b5d60675710114060235 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 21 Jan 2015 11:34:50 +0000 Subject: lib/oe/package: Ensure strip breaks hardlinks Normally, strip preserves hardlinks which in the case of the way our hardlink rather than copy functionality works, is a disadvantage and leads to non-deterministic builds. This adds a move into place after the strip operation to ensure hardlinks are broken and we bring back build determinism. (From OE-Core rev: 7c0fd561bad0250a00cef63e3d787573112a59cf) (From OE-Core rev: a7d0115d286e0b6c7d1f22a201e61a2360e40eb2) Signed-off-by: Richard Purdie Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- meta/lib/oe/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'meta') diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index f8b532220a..a26a631837 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -30,7 +30,8 @@ def runstrip(arg): elif elftype & 8 or elftype & 4: extraflags = "--remove-section=.comment --remove-section=.note" - stripcmd = "'%s' %s '%s'" % (strip, extraflags, file) + # Use mv to break hardlinks + stripcmd = "'%s' %s '%s' -o '%s.tmp' && mv '%s.tmp' '%s'" % (strip, extraflags, file, file, file, file) bb.debug(1, "runstrip: %s" % stripcmd) ret = subprocess.call(stripcmd, shell=True) -- cgit v1.2.3-54-g00ecf