Hi. Oh, can't believe I forgot to send an update. Sorry about that.
Thanks for applying.
Best regards, Yuri.
On 12/25/2016 02:38 PM, Nadav Har'El wrote:
Hi, after a very long delay, I finally committed your two stripping
patches, with a few changes (especially to make sure that the same
*-stripped.so doesn't get picked up again and re-stripped).
--
Nadav Har'El
[email protected] <mailto:[email protected]>
On Mon, May 23, 2016 at 11:09 PM, Yuri Volchkov
<[email protected] <mailto:[email protected]>> wrote:
Before this patch, mkbootfs.py, unlike upload_manifest.py, did not do
stripping. This was leading to unnecessary inflating of the bootfs.
For image=rogue I've got following results
1) zfs image reduced by 1.4M
2) ramfs image reduced by 30K
Fixes #667.
Signed-off-by: Yuri Volchkov <[email protected]
<mailto:[email protected]>>
---
scripts/mkbootfs.py | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/scripts/mkbootfs.py b/scripts/mkbootfs.py
index b92e898..c49e1be 100755
--- a/scripts/mkbootfs.py
+++ b/scripts/mkbootfs.py
@@ -1,6 +1,6 @@
#!/usr/bin/python
-import os, struct, optparse, io
+import os, struct, optparse, io, subprocess
try:
import configparser
except ImportError:
@@ -52,6 +52,24 @@ def read_manifest(fn):
for f in manifest.options('manifest')])
return files
+def strip_file(filename):
+ stripped_filename = filename
+
+ def is_our(filename):
+ cwd = os.getcwd()
+ moddir = os.path.abspath(os.path.join(cwd, "../../modules"))
+ return filename[0] != "/" or \
+ filename.startswith(cwd) or \
+ filename.startswith(moddir)
+
+ if filename.endswith(".so") and is_our(filename):
+ stripped_filename = filename[:-3] + "-stripped.so"
+ if not os.path.exists(stripped_filename) \
+ or (os.path.getmtime(stripped_filename) < \
+ os.path.getmtime(filename)):
+ subprocess.call(["strip", "-o", stripped_filename,
filename])
+ return stripped_filename
+
def main():
make_option = optparse.make_option
@@ -90,6 +108,7 @@ def main():
files = read_manifest(options.manifest)
files = list(expand(files.items()))
files = [(x, unsymlink(y)) for (x, y) in files]
+ files = [(x, strip_file(y)) for (x, y) in files]
pos = (len(files) + 1) * metadata_size
--
2.7.4
--
You received this message because you are subscribed to the Google
Groups "OSv Development" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to [email protected]
<mailto:osv-dev%[email protected]>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.