From b134ee67bdd98dbad471a78013be7532f22549b9 Mon Sep 17 00:00:00 2001 From: r00t Date: Wed, 23 May 2018 01:45:31 -0400 Subject: [PATCH] writing XSDs fucking sucks --- bdisk/bdisk.xsd | 147 ++++++++++++++++++++++++++++++- bin/xmllint.sh | 3 + docs/examples/multi_profile.xml | 2 +- docs/examples/single_profile.xml | 55 ++++++++---- 4 files changed, 185 insertions(+), 22 deletions(-) create mode 100755 bin/xmllint.sh diff --git a/bdisk/bdisk.xsd b/bdisk/bdisk.xsd index 2e4f92c..2ce20e5 100644 --- a/bdisk/bdisk.xsd +++ b/bdisk/bdisk.xsd @@ -1,6 +1,147 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bin/xmllint.sh b/bin/xmllint.sh new file mode 100755 index 0000000..d9ff037 --- /dev/null +++ b/bin/xmllint.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +xmllint -schema ../bdisk/bdisk.xsd ../docs/examples/multi_profile.xml --noout diff --git a/docs/examples/multi_profile.xml b/docs/examples/multi_profile.xml index e040266..d216962 100644 --- a/docs/examples/multi_profile.xml +++ b/docs/examples/multi_profile.xml @@ -1,5 +1,5 @@ - + diff --git a/docs/examples/single_profile.xml b/docs/examples/single_profile.xml index 98b89b6..fb159a3 100644 --- a/docs/examples/single_profile.xml +++ b/docs/examples/single_profile.xml @@ -1,5 +1,7 @@ - + @@ -27,7 +29,8 @@ items. See the manual for more information. NO btags within the patterns is allowed. --> archlinux-bootstrap-[0-9]{4}\.[0-9]{2}\.[0-9]{2}-x86_64\.tar\.gz$ - archlinux-bootstrap-[0-9]{4}\.[0-9]{2}\.[0-9]{2}-x86_64\.tar\.gz\.sig$ + archlinux-bootstrap-[0-9]{4}\.[0-9]{2}\.[0-9]{2}-x86_64\.tar\.gz\.sig$ + archlinux-bootstrap-[0-9]{4}\.[0-9]{2}\.[0-9]{2}-i686\.tar\.gz$ archlinux-bootstrap-[0-9]{4}\.[0-9]{2}\.[0-9]{2}-i686\.tar\.gz\.sig$ @@ -38,7 +41,9 @@ - $6$7KfIdtHTcXwVrZAC$LZGNeMNz7v5o/cYuA48FAxtZynpIwO5B1CPGXnOW5kCTVpXVt4SypRqfM.AoKkFt/O7MZZ8ySXJmxpELKmdlF1 + + $6$7KfIdtHTcXwVrZAC$LZGNeMNz7v5o/cYuA48FAxtZynpIwO5B1CPGXnOW5kCTVpXVt4SypRqfM.AoKkFt/O7MZZ8ySXJmxpELKmdlF1 + {xpath%//meta/names/uxname/text()} @@ -46,14 +51,16 @@ {xpath%//meta/dev/author/text()} testpassword + salt="auto">testpassword + testuser Test User anothertestpassword + salt="auto">anothertestpassword + @@ -62,20 +69,25 @@ /iso/latest {regex%tarball_x86_64} sha1sums.txt - sha1sums.txt + + {regex%sig_x86_64} + flags="regex,latest">{regex%sig_x86_64} + http://archlinux32.mirror.domain.tld /iso/latest {regex%tarball_i686} cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e + explicit="yes"> + cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e + {regex%sig_i686} + flags="regex,latest">{regex%sig_i686} + @@ -95,7 +107,7 @@ archlinux - + {xpath%//meta/dev/website/text()}/ipxe @@ -109,7 +121,7 @@ then provide a path. e.g.: {xpath%build/paths/ssl/text()}/ca.csr --> - + @@ -121,7 +133,8 @@ be (securely) prompted for the passphrase to unlock it/add a passphrase to it. --> {xpath%../../../build/paths/pki/text()}/ca.key + keysize="4096">{xpath%../../../build/paths/pki/text()}/ca.key + domain.tld XX @@ -133,11 +146,14 @@ - {xpath%../../../build/paths/pki/text()}/{xpath%../../../meta/names/uxname/text()}.crt - + + {xpath%../../../build/paths/pki/text()}/{xpath%../../../meta/names/uxname/text()}.crt + + {xpath%//build/paths/pki/text()}/{xpath%../../../meta/names/uxname/text()}.key + keysize="4096">{xpath%//build/paths/pki/text()}/{xpath%../../../meta/names/uxname/text()}.key + some client name XX @@ -159,7 +175,9 @@ {xpath%../../../meta/dev/author/text()} {xpath%../../../meta/dev/email/text()} - for {xpath%../../../meta/names/pname/text()} [autogenerated] | {xpath%../../../meta/uri/text()} | {xpath%../../../meta/desc/text()} + for {xpath%../../../meta/names/pname/text()} [autogenerated] | {xpath%../../../meta/uri/text()} + | {xpath%../../../meta/desc/text()} + @@ -168,7 +186,8 @@ /tftproot/{xpath%../../meta/names/uxname/text()} /srv/http/isos/{xpath%../../meta/names/uxname/text()} /srv/http/{xpath%../../meta/names/uxname/text()}/pubkey.asc + format="asc">/srv/http/{xpath%../../meta/names/uxname/text()}/pubkey.asc + root mirror.domain.tld