]> xenbits.xensource.com Git - people/liuw/osstest.git/commitdiff
Collect xen.efi into xendist and install in appropriate place
authorIan Campbell <ian.campbell@citrix.com>
Mon, 15 Jun 2015 10:42:18 +0000 (11:42 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Fri, 26 Jun 2015 15:39:04 +0000 (16:39 +0100)
Previously these binaries would have been included in the regular
("tools") dist file, whereas they really belong in the xen one.

Install into /boot/efi/EFI/osstest ready for use when chainloading.

Note that /boot/efi is (or should be) a VFAT filesystem. So a bit of
care is needed WRT symlinks etc. This is also what prevents us from
just including /boot/efi/EFI/osstest/xen.efi in the dist tarball since
untarring over a VFAT needs a little care WRT the case of directories
etc.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
ts-xen-build
ts-xen-install

index 353a82c338a3c39970669be0b2e36fc2fe92e454..cebfaf34a15e876b14c451166104937c4c5ea394 100755 (executable)
@@ -172,6 +172,13 @@ sub divide () {
                 mv \$mvfiles xeninstall/boot/.
             fi
         fi
+       if test -d install/usr/lib64/efi/; then
+            if test -f install/usr/lib64/efi/xen.efi; then
+                mkdir -p xeninstall/usr/lib64/efi
+                mvfiles=`find install/usr/lib64/efi -name 'xen[a-z]*' -prune -o -name 'xen*' -print`
+                mv \$mvfiles xeninstall/usr/lib64/efi/.
+            fi
+       fi
 END
 }
 
index 69478cede474e1f7ef446a119cfac938cdd48e9b..0f53382facfbc89c4db50be95cfafbe944cb89b1 100755 (executable)
@@ -77,6 +77,13 @@ sub extract () {
         target_extract_jobdistpath($ho, $part, "path_${part}dist",
                                   $r{"${part}buildjob"}, \%distpath);
     }
+    if (target_file_exists($ho, "/usr/lib64/efi/xen.efi")) {
+       target_cmd_root($ho,<<END);
+           mkdir -p /boot/efi/EFI/osstest
+           # /boot/efi is VFAT, so dereference the symlink
+           cp -vL /usr/lib64/efi/xen.efi /boot/efi/EFI/osstest
+END
+    }
     target_cmd_root($ho, '/sbin/ldconfig');
 }