From 8b621656bce3d0b97cf877178f7275c2b9be7390 Mon Sep 17 00:00:00 2001 From: Avi Kivity <avi@cloudius-systems.com> Date: Mon, 29 Apr 2013 18:15:21 +0300 Subject: [PATCH] bootfs: reduce filename repetition Instead of specifying /foo/some/common/path/name: /bar/some/common/path/name say /foo/&/some/common/path/name: /bar/& The '/&/' tells mkbootfs where the common name begins; everything after that is substituted for '&' in the host filesystem filename. --- bootfs.manifest | 34 +++++++++++++++++----------------- scripts/mkbootfs.py | 3 +++ 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/bootfs.manifest b/bootfs.manifest index 9f477bb4e..41bbe762a 100644 --- a/bootfs.manifest +++ b/bootfs.manifest @@ -1,21 +1,21 @@ [manifest] -/usr/lib/jvm/jre/lib/amd64/server/libjvm.so: %(jdkbase)s/jre/lib/amd64/server/libjvm.so -/usr/lib/jvm/jre/lib/amd64/libverify.so: %(jdkbase)s/jre/lib/amd64/libverify.so -/usr/lib/jvm/jre/lib/amd64/libjava.so: %(jdkbase)s/jre/lib/amd64/libjava.so -/usr/lib/jvm/jre/lib/amd64/libzip.so: %(jdkbase)s/jre/lib/amd64/libzip.so -/usr/lib/jvm/jre/lib/amd64/libnio.so: %(jdkbase)s/jre/lib/amd64/libnio.so -/usr/lib/jvm/jre/lib/amd64/libawt.so: %(jdkbase)s/jre/lib/amd64/libawt.so -/usr/lib/jvm/jre/lib/amd64/headless/libmawt.so: %(jdkbase)s/jre/lib/amd64/headless/libmawt.so -/usr/lib/jvm/jre/lib/amd64/libfontmanager.so: %(jdkbase)s/jre/lib/amd64/libfontmanager.so -/usr/lib/jvm/jre/lib/amd64/libnet.so: %(jdkbase)s/jre/lib/amd64/libnet.so -/usr/lib/jvm/jre/lib/resources.jar: %(jdkbase)s/jre/lib/resources.jar -/usr/lib/jvm/jre/lib/rt.jar: %(jdkbase)s/jre/lib/rt.jar -/usr/lib/jvm/jre/lib/jsse.jar: %(jdkbase)s/jre/lib/jsse.jar -/usr/lib/jvm/jre/lib/jce.jar: %(jdkbase)s/jre/lib/jce.jar -/usr/lib/jvm/jre/lib/charsets.jar: %(jdkbase)s/jre/lib/charsets.jar -/usr/lib/jvm/jre/lib/rhino.jar: %(jdkbase)s/jre/lib/rhino.jar -/usr/lib/jvm/jre/lib/meta-index: %(jdkbase)s/jre/lib/meta-index -/usr/lib/jvm/jre/lib/currency.data: %(jdkbase)s/jre/lib/currency.data +/usr/lib/jvm/&/jre/lib/amd64/server/libjvm.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/amd64/libverify.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/amd64/libjava.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/amd64/libzip.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/amd64/libnio.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/amd64/libawt.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/amd64/headless/libmawt.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/amd64/libfontmanager.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/amd64/libnet.so: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/resources.jar: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/rt.jar: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/jsse.jar: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/jce.jar: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/charsets.jar: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/rhino.jar: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/meta-index: %(jdkbase)s/& +/usr/lib/jvm/&/jre/lib/currency.data: %(jdkbase)s/& /usr/lib/libstdc++.so.6: %(gccbase)s/usr/lib64/libstdc++.so.6 /usr/lib/libgcc_s.so.1: %(gccbase)s/lib64/libgcc_s.so.1 /usr/lib/libz.so.1: %(miscbase)s/usr/lib64/libz.so.1 diff --git a/scripts/mkbootfs.py b/scripts/mkbootfs.py index 98a61ad63..b1a67a848 100755 --- a/scripts/mkbootfs.py +++ b/scripts/mkbootfs.py @@ -57,6 +57,9 @@ def expand(items): relpath = dirpath[len(hostname):] yield (name + relpath + '/' + filename, hostname + relpath + '/' + filename) + elif '/&/' in name and hostname.endswith('/&'): + prefix, suffix = name.split('/&/', 1) + yield (prefix + '/' + suffix, hostname[:-1] + suffix) else: yield (name, hostname) -- GitLab