Write boot image configuration to file during compilation
Sometimes ld chokes on complex XML renderings.llvm-10
parent
19dccc4862
commit
2aab55dc38
@ -0,0 +1,9 @@
|
||||
-- SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
let Genode = env:DHALL_GENODE
|
||||
|
||||
let BootModules = Genode.BootModules
|
||||
|
||||
in λ(configPath : Text)
|
||||
→ λ(rom : Genode.BootModules.Type)
|
||||
→ BootModules.toRomPaths (toMap { config = configPath }) # rom
|
@ -0,0 +1,54 @@
|
||||
commit c0a6db17001fb088d3289613a02660d8725bbde8
|
||||
Author: Emery Hemingway <ehmry@posteo.net>
|
||||
Date: Sat Feb 22 15:40:56 2020 +0100
|
||||
|
||||
Update Init config schema
|
||||
|
||||
- Add <exit propagate="…"/> to the Init schema
|
||||
- Use a relative path for base_types.xsd
|
||||
- Allow empty <provides/> nodes
|
||||
- Allow "label" attributes within <parent-provides/>
|
||||
|
||||
diff --git a/repos/os/src/init/config.xsd b/repos/os/src/init/config.xsd
|
||||
index 938dcdb8fb..e7bfb5dfc5 100644
|
||||
--- a/repos/os/src/init/config.xsd
|
||||
+++ b/repos/os/src/init/config.xsd
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
- <xs:include schemaLocation="base_types.xsd"/>
|
||||
+ <xs:include schemaLocation="../../../base/xsd/base_types.xsd"/>
|
||||
|
||||
<xs:complexType name="template_service">
|
||||
<xs:choice minOccurs="1" maxOccurs="3">
|
||||
@@ -90,6 +90,7 @@
|
||||
<xs:element name="service" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" type="xs:string" />
|
||||
+ <xs:attribute name="label" type="xs:string" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
@@ -160,6 +161,12 @@
|
||||
</xs:complexType>
|
||||
</xs:element> <!-- "resource" -->
|
||||
|
||||
+ <xs:element name="exit">
|
||||
+ <xs:complexType>
|
||||
+ <xs:attribute name="propagate" type="Boolean" />
|
||||
+ </xs:complexType>
|
||||
+ </xs:element> <!-- "exit" -->
|
||||
+
|
||||
<xs:element name="configfile">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" type="xs:string" />
|
||||
@@ -168,7 +175,7 @@
|
||||
|
||||
<xs:element name="provides">
|
||||
<xs:complexType>
|
||||
- <xs:choice maxOccurs="unbounded">
|
||||
+ <xs:choice maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:element name="service">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="name" type="xs:string" />
|
@ -0,0 +1,10 @@
|
||||
{ stdenv, genodeHeaders }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "genode-sources";
|
||||
inherit (genodeHeaders) version src;
|
||||
patches = [ ./init.xsd.patch ./svn-trust-server-cert.patch ];
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
installPhase = "cp -a . $out";
|
||||
}
|
Loading…
Reference in New Issue