Pino Toscano
2014-Feb-24 10:36 UTC
[Libguestfs] [PATCH] builder: add a mandatory 'arch' key in index files
Introduce a mandatory arch= key in all the entries of index files, to identify which architecture is each. Adapt the long and JSON list outputs to print also this new field. This introduces an incompatibility with index files created with virt-builder < 1.26, as they will be rejected until entries will have the arch= key added (which is ignored by older virt-builder, so adding it will not create backward-compatibility issues). --- builder/index_parser.ml | 9 +++++++++ builder/index_parser.mli | 1 + builder/list_entries.ml | 4 ++++ builder/test-index.in | 7 +++++++ builder/test-virt-builder-list.sh | 14 ++++++++++++++ 5 files changed, 35 insertions(+) diff --git a/builder/index_parser.ml b/builder/index_parser.ml index 2d4a642..de4d72e 100644 --- a/builder/index_parser.ml +++ b/builder/index_parser.ml @@ -27,6 +27,7 @@ and entry = { printable_name : string option; (* the name= field *) osinfo : string option; file_uri : string; + arch : string; signature_uri : string option; (* deprecated, will be removed in 1.26 *) checksum_sha512 : string option; revision : int; @@ -43,6 +44,7 @@ and entry = { let print_entry chan (name, { printable_name = printable_name; file_uri = file_uri; + arch = arch; osinfo = osinfo; signature_uri = signature_uri; checksum_sha512 = checksum_sha512; @@ -65,6 +67,7 @@ let print_entry chan (name, { printable_name = printable_name; | Some id -> fp "osinfo=%s\n" id ); fp "file=%s\n" file_uri; + fp "arch=%s\n" arch; (match signature_uri with | None -> () | Some uri -> fp "sig=%s\n" uri @@ -179,6 +182,11 @@ let get_index ~prog ~debug ~downloader ~sigchecker source with Not_found -> eprintf (f_"virt-builder: no 'file' (URI) entry for '%s'\n") n; corrupt_file () in + let arch + try List.assoc ("arch", None) fields + with Not_found -> + eprintf (f_"virt-builder: no 'arch' entry for '%s'\n") n; + corrupt_file () in let signature_uri try Some (make_absolute_uri (List.assoc ("sig", None) fields)) with Not_found -> None in @@ -245,6 +253,7 @@ let get_index ~prog ~debug ~downloader ~sigchecker source let entry = { printable_name = printable_name; osinfo = osinfo; file_uri = file_uri; + arch = arch; signature_uri = signature_uri; checksum_sha512 = checksum_sha512; revision = revision; diff --git a/builder/index_parser.mli b/builder/index_parser.mli index 3c679b3..0575dc4 100644 --- a/builder/index_parser.mli +++ b/builder/index_parser.mli @@ -21,6 +21,7 @@ and entry = { printable_name : string option; (* the name= field *) osinfo : string option; file_uri : string; + arch : string; signature_uri : string option; (* deprecated, will be removed in 1.26 *) checksum_sha512 : string option; revision : int; diff --git a/builder/list_entries.ml b/builder/list_entries.ml index 27ea95e..edf7dfb 100644 --- a/builder/list_entries.ml +++ b/builder/list_entries.ml @@ -73,6 +73,7 @@ and list_entries_long ~sources index List.iter ( fun (name, { Index_parser.printable_name = printable_name; + arch = arch; size = size; compressed_size = compressed_size; notes = notes; @@ -83,6 +84,7 @@ and list_entries_long ~sources index | None -> () | Some name -> printf "%-24s %s\n" (s_"Full name:") name; ); + printf "%-24s %s\n" (s_"Architecture:") arch; printf "%-24s %s\n" (s_"Minimum/default size:") (human_size size); (match compressed_size with | None -> () @@ -168,6 +170,7 @@ and list_entries_json ~sources index printf " \"templates\": [\n"; iteri ( fun i (name, { Index_parser.printable_name = printable_name; + arch = arch; size = size; compressed_size = compressed_size; notes = notes; @@ -175,6 +178,7 @@ and list_entries_json ~sources index printf " {\n"; printf " \"os-version\": \"%s\",\n" name; json_optional_printf_string "full-name" printable_name; + printf " \"arch\": \"%s\",\n" arch; printf " \"size\": %Ld,\n" size; json_optional_printf_int64 "compressed-size" compressed_size; print_notes notes; diff --git a/builder/test-index.in b/builder/test-index.in index 1bca6b8..3efebc4 100644 --- a/builder/test-index.in +++ b/builder/test-index.in @@ -1,5 +1,6 @@ [phony-debian] name=Phony Debian +arch=x86_64 file=debian.xz format=raw size=536870912 @@ -9,6 +10,7 @@ notes=Phony Debian look-alike used for testing. [phony-fedora] name=Phony Fedora +arch=x86_64 file=fedora.xz format=raw size=1073741824 @@ -18,6 +20,7 @@ notes=Phony Fedora look-alike used for testing. [phony-fedora-qcow2] name=Phony Fedora qcow2 +arch=x86_64 file=fedora.qcow2.xz format=qcow2 size=1073741824 @@ -27,6 +30,7 @@ notes=Phony Fedora look-alike used for testing. [phony-fedora-qcow2-uncompressed] name=Phony Fedora qcow2 uncompressed +arch=x86_64 file=fedora.qcow2 format=qcow2 size=1073741824 @@ -36,6 +40,7 @@ notes=Phony Fedora look-alike used for testing. [phony-fedora-no-format] name=Phony Fedora +arch=x86_64 file=fedora.qcow2.xz size=1073741824 expand=/dev/sda2 @@ -44,6 +49,7 @@ notes=Phony Fedora look-alike used for testing. [phony-ubuntu] name=Phony Ubuntu +arch=x86_64 file=ubuntu.xz format=raw size=536870912 @@ -52,6 +58,7 @@ notes=Phony Ubuntu look-alike used for testing. [phony-windows] name=Phony Windows +arch=x86_64 file=windows.xz format=raw size=536870912 diff --git a/builder/test-virt-builder-list.sh b/builder/test-virt-builder-list.sh index 634254d..7174152 100755 --- a/builder/test-virt-builder-list.sh +++ b/builder/test-virt-builder-list.sh @@ -46,6 +46,7 @@ Fingerprint: F777 4FB1 AD07 4A7E 8C87 67EA 9173 8F73 E1B7 68A0 os-version: phony-debian Full name: Phony Debian +Architecture: x86_64 Minimum/default size: 512.0M Notes: @@ -54,6 +55,7 @@ Phony Debian look-alike used for testing. os-version: phony-fedora Full name: Phony Fedora +Architecture: x86_64 Minimum/default size: 1.0G Notes: @@ -62,6 +64,7 @@ Phony Fedora look-alike used for testing. os-version: phony-fedora-qcow2 Full name: Phony Fedora qcow2 +Architecture: x86_64 Minimum/default size: 1.0G Notes: @@ -70,6 +73,7 @@ Phony Fedora look-alike used for testing. os-version: phony-fedora-qcow2-uncompressed Full name: Phony Fedora qcow2 uncompressed +Architecture: x86_64 Minimum/default size: 1.0G Notes: @@ -78,6 +82,7 @@ Phony Fedora look-alike used for testing. os-version: phony-fedora-no-format Full name: Phony Fedora +Architecture: x86_64 Minimum/default size: 1.0G Notes: @@ -86,6 +91,7 @@ Phony Fedora look-alike used for testing. os-version: phony-ubuntu Full name: Phony Ubuntu +Architecture: x86_64 Minimum/default size: 512.0M Notes: @@ -94,6 +100,7 @@ Phony Ubuntu look-alike used for testing. os-version: phony-windows Full name: Phony Windows +Architecture: x86_64 Minimum/default size: 512.0M Notes: @@ -118,6 +125,7 @@ if [ "$json_list" != "{ { \"os-version\": \"phony-debian\", \"full-name\": \"Phony Debian\", + \"arch\": \"x86_64\", \"size\": 536870912, \"notes\": { \"C\": \"Phony Debian look-alike used for testing.\" @@ -127,6 +135,7 @@ if [ "$json_list" != "{ { \"os-version\": \"phony-fedora\", \"full-name\": \"Phony Fedora\", + \"arch\": \"x86_64\", \"size\": 1073741824, \"notes\": { \"C\": \"Phony Fedora look-alike used for testing.\" @@ -136,6 +145,7 @@ if [ "$json_list" != "{ { \"os-version\": \"phony-fedora-qcow2\", \"full-name\": \"Phony Fedora qcow2\", + \"arch\": \"x86_64\", \"size\": 1073741824, \"notes\": { \"C\": \"Phony Fedora look-alike used for testing.\" @@ -145,6 +155,7 @@ if [ "$json_list" != "{ { \"os-version\": \"phony-fedora-qcow2-uncompressed\", \"full-name\": \"Phony Fedora qcow2 uncompressed\", + \"arch\": \"x86_64\", \"size\": 1073741824, \"notes\": { \"C\": \"Phony Fedora look-alike used for testing.\" @@ -154,6 +165,7 @@ if [ "$json_list" != "{ { \"os-version\": \"phony-fedora-no-format\", \"full-name\": \"Phony Fedora\", + \"arch\": \"x86_64\", \"size\": 1073741824, \"notes\": { \"C\": \"Phony Fedora look-alike used for testing.\" @@ -163,6 +175,7 @@ if [ "$json_list" != "{ { \"os-version\": \"phony-ubuntu\", \"full-name\": \"Phony Ubuntu\", + \"arch\": \"x86_64\", \"size\": 536870912, \"notes\": { \"C\": \"Phony Ubuntu look-alike used for testing.\" @@ -172,6 +185,7 @@ if [ "$json_list" != "{ { \"os-version\": \"phony-windows\", \"full-name\": \"Phony Windows\", + \"arch\": \"x86_64\", \"size\": 536870912, \"notes\": { \"C\": \"Phony Windows look-alike used for testing.\" -- 1.8.3.1
Richard W.M. Jones
2014-Feb-24 15:15 UTC
Re: [Libguestfs] [PATCH] builder: add a mandatory 'arch' key in index files
On Mon, Feb 24, 2014 at 11:36:29AM +0100, Pino Toscano wrote:> Introduce a mandatory arch= key in all the entries of index files, to > identify which architecture is each. Adapt the long and JSON list > outputs to print also this new field. > > This introduces an incompatibility with index files created with > virt-builder < 1.26, as they will be rejected until entries will have > the arch= key added (which is ignored by older virt-builder, so adding > it will not create backward-compatibility issues). > --- > builder/index_parser.ml | 9 +++++++++ > builder/index_parser.mli | 1 + > builder/list_entries.ml | 4 ++++ > builder/test-index.in | 7 +++++++ > builder/test-virt-builder-list.sh | 14 ++++++++++++++ > 5 files changed, 35 insertions(+) > > diff --git a/builder/index_parser.ml b/builder/index_parser.ml > index 2d4a642..de4d72e 100644 > --- a/builder/index_parser.ml > +++ b/builder/index_parser.ml > @@ -27,6 +27,7 @@ and entry = { > printable_name : string option; (* the name= field *) > osinfo : string option; > file_uri : string; > + arch : string; > signature_uri : string option; (* deprecated, will be removed in 1.26 *) > checksum_sha512 : string option; > revision : int; > @@ -43,6 +44,7 @@ and entry = { > > let print_entry chan (name, { printable_name = printable_name; > file_uri = file_uri; > + arch = arch; > osinfo = osinfo; > signature_uri = signature_uri; > checksum_sha512 = checksum_sha512; > @@ -65,6 +67,7 @@ let print_entry chan (name, { printable_name = printable_name; > | Some id -> fp "osinfo=%s\n" id > ); > fp "file=%s\n" file_uri; > + fp "arch=%s\n" arch; > (match signature_uri with > | None -> () > | Some uri -> fp "sig=%s\n" uri > @@ -179,6 +182,11 @@ let get_index ~prog ~debug ~downloader ~sigchecker source > with Not_found -> > eprintf (f_"virt-builder: no 'file' (URI) entry for '%s'\n") n; > corrupt_file () in > + let arch > + try List.assoc ("arch", None) fields > + with Not_found -> > + eprintf (f_"virt-builder: no 'arch' entry for '%s'\n") n; > + corrupt_file () in > let signature_uri > try Some (make_absolute_uri (List.assoc ("sig", None) fields)) > with Not_found -> None in > @@ -245,6 +253,7 @@ let get_index ~prog ~debug ~downloader ~sigchecker source > let entry = { printable_name = printable_name; > osinfo = osinfo; > file_uri = file_uri; > + arch = arch; > signature_uri = signature_uri; > checksum_sha512 = checksum_sha512; > revision = revision; > diff --git a/builder/index_parser.mli b/builder/index_parser.mli > index 3c679b3..0575dc4 100644 > --- a/builder/index_parser.mli > +++ b/builder/index_parser.mli > @@ -21,6 +21,7 @@ and entry = { > printable_name : string option; (* the name= field *) > osinfo : string option; > file_uri : string; > + arch : string; > signature_uri : string option; (* deprecated, will be removed in 1.26 *) > checksum_sha512 : string option; > revision : int; > diff --git a/builder/list_entries.ml b/builder/list_entries.ml > index 27ea95e..edf7dfb 100644 > --- a/builder/list_entries.ml > +++ b/builder/list_entries.ml > @@ -73,6 +73,7 @@ and list_entries_long ~sources index > > List.iter ( > fun (name, { Index_parser.printable_name = printable_name; > + arch = arch; > size = size; > compressed_size = compressed_size; > notes = notes; > @@ -83,6 +84,7 @@ and list_entries_long ~sources index > | None -> () > | Some name -> printf "%-24s %s\n" (s_"Full name:") name; > ); > + printf "%-24s %s\n" (s_"Architecture:") arch; > printf "%-24s %s\n" (s_"Minimum/default size:") (human_size size); > (match compressed_size with > | None -> () > @@ -168,6 +170,7 @@ and list_entries_json ~sources index > printf " \"templates\": [\n"; > iteri ( > fun i (name, { Index_parser.printable_name = printable_name; > + arch = arch; > size = size; > compressed_size = compressed_size; > notes = notes; > @@ -175,6 +178,7 @@ and list_entries_json ~sources index > printf " {\n"; > printf " \"os-version\": \"%s\",\n" name; > json_optional_printf_string "full-name" printable_name; > + printf " \"arch\": \"%s\",\n" arch; > printf " \"size\": %Ld,\n" size; > json_optional_printf_int64 "compressed-size" compressed_size; > print_notes notes; > diff --git a/builder/test-index.in b/builder/test-index.in > index 1bca6b8..3efebc4 100644 > --- a/builder/test-index.in > +++ b/builder/test-index.in > @@ -1,5 +1,6 @@ > [phony-debian] > name=Phony Debian > +arch=x86_64 > file=debian.xz > format=raw > size=536870912 > @@ -9,6 +10,7 @@ notes=Phony Debian look-alike used for testing. > > [phony-fedora] > name=Phony Fedora > +arch=x86_64 > file=fedora.xz > format=raw > size=1073741824 > @@ -18,6 +20,7 @@ notes=Phony Fedora look-alike used for testing. > > [phony-fedora-qcow2] > name=Phony Fedora qcow2 > +arch=x86_64 > file=fedora.qcow2.xz > format=qcow2 > size=1073741824 > @@ -27,6 +30,7 @@ notes=Phony Fedora look-alike used for testing. > > [phony-fedora-qcow2-uncompressed] > name=Phony Fedora qcow2 uncompressed > +arch=x86_64 > file=fedora.qcow2 > format=qcow2 > size=1073741824 > @@ -36,6 +40,7 @@ notes=Phony Fedora look-alike used for testing. > > [phony-fedora-no-format] > name=Phony Fedora > +arch=x86_64 > file=fedora.qcow2.xz > size=1073741824 > expand=/dev/sda2 > @@ -44,6 +49,7 @@ notes=Phony Fedora look-alike used for testing. > > [phony-ubuntu] > name=Phony Ubuntu > +arch=x86_64 > file=ubuntu.xz > format=raw > size=536870912 > @@ -52,6 +58,7 @@ notes=Phony Ubuntu look-alike used for testing. > > [phony-windows] > name=Phony Windows > +arch=x86_64 > file=windows.xz > format=raw > size=536870912 > diff --git a/builder/test-virt-builder-list.sh b/builder/test-virt-builder-list.sh > index 634254d..7174152 100755 > --- a/builder/test-virt-builder-list.sh > +++ b/builder/test-virt-builder-list.sh > @@ -46,6 +46,7 @@ Fingerprint: F777 4FB1 AD07 4A7E 8C87 67EA 9173 8F73 E1B7 68A0 > > os-version: phony-debian > Full name: Phony Debian > +Architecture: x86_64 > Minimum/default size: 512.0M > > Notes: > @@ -54,6 +55,7 @@ Phony Debian look-alike used for testing. > > os-version: phony-fedora > Full name: Phony Fedora > +Architecture: x86_64 > Minimum/default size: 1.0G > > Notes: > @@ -62,6 +64,7 @@ Phony Fedora look-alike used for testing. > > os-version: phony-fedora-qcow2 > Full name: Phony Fedora qcow2 > +Architecture: x86_64 > Minimum/default size: 1.0G > > Notes: > @@ -70,6 +73,7 @@ Phony Fedora look-alike used for testing. > > os-version: phony-fedora-qcow2-uncompressed > Full name: Phony Fedora qcow2 uncompressed > +Architecture: x86_64 > Minimum/default size: 1.0G > > Notes: > @@ -78,6 +82,7 @@ Phony Fedora look-alike used for testing. > > os-version: phony-fedora-no-format > Full name: Phony Fedora > +Architecture: x86_64 > Minimum/default size: 1.0G > > Notes: > @@ -86,6 +91,7 @@ Phony Fedora look-alike used for testing. > > os-version: phony-ubuntu > Full name: Phony Ubuntu > +Architecture: x86_64 > Minimum/default size: 512.0M > > Notes: > @@ -94,6 +100,7 @@ Phony Ubuntu look-alike used for testing. > > os-version: phony-windows > Full name: Phony Windows > +Architecture: x86_64 > Minimum/default size: 512.0M > > Notes: > @@ -118,6 +125,7 @@ if [ "$json_list" != "{ > { > \"os-version\": \"phony-debian\", > \"full-name\": \"Phony Debian\", > + \"arch\": \"x86_64\", > \"size\": 536870912, > \"notes\": { > \"C\": \"Phony Debian look-alike used for testing.\" > @@ -127,6 +135,7 @@ if [ "$json_list" != "{ > { > \"os-version\": \"phony-fedora\", > \"full-name\": \"Phony Fedora\", > + \"arch\": \"x86_64\", > \"size\": 1073741824, > \"notes\": { > \"C\": \"Phony Fedora look-alike used for testing.\" > @@ -136,6 +145,7 @@ if [ "$json_list" != "{ > { > \"os-version\": \"phony-fedora-qcow2\", > \"full-name\": \"Phony Fedora qcow2\", > + \"arch\": \"x86_64\", > \"size\": 1073741824, > \"notes\": { > \"C\": \"Phony Fedora look-alike used for testing.\" > @@ -145,6 +155,7 @@ if [ "$json_list" != "{ > { > \"os-version\": \"phony-fedora-qcow2-uncompressed\", > \"full-name\": \"Phony Fedora qcow2 uncompressed\", > + \"arch\": \"x86_64\", > \"size\": 1073741824, > \"notes\": { > \"C\": \"Phony Fedora look-alike used for testing.\" > @@ -154,6 +165,7 @@ if [ "$json_list" != "{ > { > \"os-version\": \"phony-fedora-no-format\", > \"full-name\": \"Phony Fedora\", > + \"arch\": \"x86_64\", > \"size\": 1073741824, > \"notes\": { > \"C\": \"Phony Fedora look-alike used for testing.\" > @@ -163,6 +175,7 @@ if [ "$json_list" != "{ > { > \"os-version\": \"phony-ubuntu\", > \"full-name\": \"Phony Ubuntu\", > + \"arch\": \"x86_64\", > \"size\": 536870912, > \"notes\": { > \"C\": \"Phony Ubuntu look-alike used for testing.\" > @@ -172,6 +185,7 @@ if [ "$json_list" != "{ > { > \"os-version\": \"phony-windows\", > \"full-name\": \"Phony Windows\", > + \"arch\": \"x86_64\", > \"size\": 536870912, > \"notes\": { > \"C\": \"Phony Windows look-alike used for testing.\" > -- > 1.8.3.1 > > _______________________________________________ > Libguestfs mailing list > Libguestfs@redhat.com > https://www.redhat.com/mailman/listinfo/libguestfsACK. I'll sign the index once you've committed this. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://people.redhat.com/~rjones/virt-df/
Pino Toscano
2014-Feb-24 15:21 UTC
Re: [Libguestfs] [PATCH] builder: add a mandatory 'arch' key in index files
On Monday 24 February 2014 15:15:11 Richard W.M. Jones wrote:> On Mon, Feb 24, 2014 at 11:36:29AM +0100, Pino Toscano wrote: > > Introduce a mandatory arch= key in all the entries of index files, > > to > > identify which architecture is each. Adapt the long and JSON list > > outputs to print also this new field. > > > > This introduces an incompatibility with index files created with > > virt-builder < 1.26, as they will be rejected until entries will > > have > > the arch= key added (which is ignored by older virt-builder, so > > adding it will not create backward-compatibility issues). > > --- > > > > builder/index_parser.ml | 9 +++++++++ > > builder/index_parser.mli | 1 + > > builder/list_entries.ml | 4 ++++ > > builder/test-index.in | 7 +++++++ > > builder/test-virt-builder-list.sh | 14 ++++++++++++++ > > 5 files changed, 35 insertions(+) > > > > diff --git a/builder/index_parser.ml b/builder/index_parser.ml > > index 2d4a642..de4d72e 100644 > > --- a/builder/index_parser.ml > > +++ b/builder/index_parser.ml > > @@ -27,6 +27,7 @@ and entry = { > > > > printable_name : string option; (* the name= field *) > > osinfo : string option; > > file_uri : string; > > > > + arch : string; > > > > signature_uri : string option; (* deprecated, will be > > removed in 1.26 *) checksum_sha512 : string option; > > revision : int; > > > > @@ -43,6 +44,7 @@ and entry = { > > > > let print_entry chan (name, { printable_name = printable_name; > > > > file_uri = file_uri; > > > > + arch = arch; > > > > osinfo = osinfo; > > signature_uri = signature_uri; > > checksum_sha512 = checksum_sha512; > > > > @@ -65,6 +67,7 @@ let print_entry chan (name, { printable_name > > printable_name;> > > | Some id -> fp "osinfo=%s\n" id > > > > ); > > fp "file=%s\n" file_uri; > > > > + fp "arch=%s\n" arch; > > > > (match signature_uri with > > > > | None -> () > > | Some uri -> fp "sig=%s\n" uri > > > > @@ -179,6 +182,11 @@ let get_index ~prog ~debug ~downloader > > ~sigchecker source => > > with Not_found -> > > > > eprintf (f_"virt-builder: no 'file' (URI) entry for > > '%s'\n") n; > > > > corrupt_file () in > > > > + let arch > > + try List.assoc ("arch", None) fields > > + with Not_found -> > > + eprintf (f_"virt-builder: no 'arch' entry for > > '%s'\n") n; + corrupt_file () in > > > > let signature_uri > > > > try Some (make_absolute_uri (List.assoc ("sig", None) > > fields)) > > with Not_found -> None in > > > > @@ -245,6 +253,7 @@ let get_index ~prog ~debug ~downloader > > ~sigchecker source => > > let entry = { printable_name = printable_name; > > > > osinfo = osinfo; > > file_uri = file_uri; > > > > + arch = arch; > > > > signature_uri = signature_uri; > > checksum_sha512 = checksum_sha512; > > revision = revision; > > > > diff --git a/builder/index_parser.mli b/builder/index_parser.mli > > index 3c679b3..0575dc4 100644 > > --- a/builder/index_parser.mli > > +++ b/builder/index_parser.mli > > @@ -21,6 +21,7 @@ and entry = { > > > > printable_name : string option; (* the name= field *) > > osinfo : string option; > > file_uri : string; > > > > + arch : string; > > > > signature_uri : string option; (* deprecated, will be > > removed in 1.26 *) checksum_sha512 : string option; > > revision : int; > > > > diff --git a/builder/list_entries.ml b/builder/list_entries.ml > > index 27ea95e..edf7dfb 100644 > > --- a/builder/list_entries.ml > > +++ b/builder/list_entries.ml > > @@ -73,6 +73,7 @@ and list_entries_long ~sources index > > > > List.iter ( > > > > fun (name, { Index_parser.printable_name = printable_name; > > > > + arch = arch; > > > > size = size; > > compressed_size = compressed_size; > > notes = notes; > > > > @@ -83,6 +84,7 @@ and list_entries_long ~sources index > > > > | None -> () > > | Some name -> printf "%-24s %s\n" (s_"Full name:") name; > > > > ); > > > > + printf "%-24s %s\n" (s_"Architecture:") arch; > > > > printf "%-24s %s\n" (s_"Minimum/default size:") (human_size > > size); > > (match compressed_size with > > > > | None -> () > > > > @@ -168,6 +170,7 @@ and list_entries_json ~sources index > > > > printf " \"templates\": [\n"; > > iteri ( > > > > fun i (name, { Index_parser.printable_name = printable_name; > > > > + arch = arch; > > > > size = size; > > compressed_size = compressed_size; > > notes = notes; > > > > @@ -175,6 +178,7 @@ and list_entries_json ~sources index > > > > printf " {\n"; > > printf " \"os-version\": \"%s\",\n" name; > > json_optional_printf_string "full-name" printable_name; > > > > + printf " \"arch\": \"%s\",\n" arch; > > > > printf " \"size\": %Ld,\n" size; > > json_optional_printf_int64 "compressed-size" compressed_size; > > print_notes notes; > > > > diff --git a/builder/test-index.in b/builder/test-index.in > > index 1bca6b8..3efebc4 100644 > > --- a/builder/test-index.in > > +++ b/builder/test-index.in > > @@ -1,5 +1,6 @@ > > > > [phony-debian] > > name=Phony Debian > > > > +arch=x86_64 > > > > file=debian.xz > > format=raw > > size=536870912 > > > > @@ -9,6 +10,7 @@ notes=Phony Debian look-alike used for testing. > > > > [phony-fedora] > > name=Phony Fedora > > > > +arch=x86_64 > > > > file=fedora.xz > > format=raw > > size=1073741824 > > > > @@ -18,6 +20,7 @@ notes=Phony Fedora look-alike used for testing. > > > > [phony-fedora-qcow2] > > name=Phony Fedora qcow2 > > > > +arch=x86_64 > > > > file=fedora.qcow2.xz > > format=qcow2 > > size=1073741824 > > > > @@ -27,6 +30,7 @@ notes=Phony Fedora look-alike used for testing. > > > > [phony-fedora-qcow2-uncompressed] > > name=Phony Fedora qcow2 uncompressed > > > > +arch=x86_64 > > > > file=fedora.qcow2 > > format=qcow2 > > size=1073741824 > > > > @@ -36,6 +40,7 @@ notes=Phony Fedora look-alike used for testing. > > > > [phony-fedora-no-format] > > name=Phony Fedora > > > > +arch=x86_64 > > > > file=fedora.qcow2.xz > > size=1073741824 > > expand=/dev/sda2 > > > > @@ -44,6 +49,7 @@ notes=Phony Fedora look-alike used for testing. > > > > [phony-ubuntu] > > name=Phony Ubuntu > > > > +arch=x86_64 > > > > file=ubuntu.xz > > format=raw > > size=536870912 > > > > @@ -52,6 +58,7 @@ notes=Phony Ubuntu look-alike used for testing. > > > > [phony-windows] > > name=Phony Windows > > > > +arch=x86_64 > > > > file=windows.xz > > format=raw > > size=536870912 > > > > diff --git a/builder/test-virt-builder-list.sh > > b/builder/test-virt-builder-list.sh index 634254d..7174152 100755 > > --- a/builder/test-virt-builder-list.sh > > +++ b/builder/test-virt-builder-list.sh > > @@ -46,6 +46,7 @@ Fingerprint: F777 4FB1 AD07 4A7E 8C87 67EA 9173 > > 8F73 E1B7 68A0> > > os-version: phony-debian > > Full name: Phony Debian > > > > +Architecture: x86_64 > > > > Minimum/default size: 512.0M > > > > Notes: > > @@ -54,6 +55,7 @@ Phony Debian look-alike used for testing. > > > > os-version: phony-fedora > > Full name: Phony Fedora > > > > +Architecture: x86_64 > > > > Minimum/default size: 1.0G > > > > Notes: > > @@ -62,6 +64,7 @@ Phony Fedora look-alike used for testing. > > > > os-version: phony-fedora-qcow2 > > Full name: Phony Fedora qcow2 > > > > +Architecture: x86_64 > > > > Minimum/default size: 1.0G > > > > Notes: > > @@ -70,6 +73,7 @@ Phony Fedora look-alike used for testing. > > > > os-version: phony-fedora-qcow2-uncompressed > > Full name: Phony Fedora qcow2 uncompressed > > > > +Architecture: x86_64 > > > > Minimum/default size: 1.0G > > > > Notes: > > @@ -78,6 +82,7 @@ Phony Fedora look-alike used for testing. > > > > os-version: phony-fedora-no-format > > Full name: Phony Fedora > > > > +Architecture: x86_64 > > > > Minimum/default size: 1.0G > > > > Notes: > > @@ -86,6 +91,7 @@ Phony Fedora look-alike used for testing. > > > > os-version: phony-ubuntu > > Full name: Phony Ubuntu > > > > +Architecture: x86_64 > > > > Minimum/default size: 512.0M > > > > Notes: > > @@ -94,6 +100,7 @@ Phony Ubuntu look-alike used for testing. > > > > os-version: phony-windows > > Full name: Phony Windows > > > > +Architecture: x86_64 > > > > Minimum/default size: 512.0M > > > > Notes: > > @@ -118,6 +125,7 @@ if [ "$json_list" != "{ > > > > { > > > > \"os-version\": \"phony-debian\", > > \"full-name\": \"Phony Debian\", > > > > + \"arch\": \"x86_64\", > > > > \"size\": 536870912, > > \"notes\": { > > > > \"C\": \"Phony Debian look-alike used for testing.\" > > > > @@ -127,6 +135,7 @@ if [ "$json_list" != "{ > > > > { > > > > \"os-version\": \"phony-fedora\", > > \"full-name\": \"Phony Fedora\", > > > > + \"arch\": \"x86_64\", > > > > \"size\": 1073741824, > > \"notes\": { > > > > \"C\": \"Phony Fedora look-alike used for testing.\" > > > > @@ -136,6 +145,7 @@ if [ "$json_list" != "{ > > > > { > > > > \"os-version\": \"phony-fedora-qcow2\", > > \"full-name\": \"Phony Fedora qcow2\", > > > > + \"arch\": \"x86_64\", > > > > \"size\": 1073741824, > > \"notes\": { > > > > \"C\": \"Phony Fedora look-alike used for testing.\" > > > > @@ -145,6 +155,7 @@ if [ "$json_list" != "{ > > > > { > > > > \"os-version\": \"phony-fedora-qcow2-uncompressed\", > > \"full-name\": \"Phony Fedora qcow2 uncompressed\", > > > > + \"arch\": \"x86_64\", > > > > \"size\": 1073741824, > > \"notes\": { > > > > \"C\": \"Phony Fedora look-alike used for testing.\" > > > > @@ -154,6 +165,7 @@ if [ "$json_list" != "{ > > > > { > > > > \"os-version\": \"phony-fedora-no-format\", > > \"full-name\": \"Phony Fedora\", > > > > + \"arch\": \"x86_64\", > > > > \"size\": 1073741824, > > \"notes\": { > > > > \"C\": \"Phony Fedora look-alike used for testing.\" > > > > @@ -163,6 +175,7 @@ if [ "$json_list" != "{ > > > > { > > > > \"os-version\": \"phony-ubuntu\", > > \"full-name\": \"Phony Ubuntu\", > > > > + \"arch\": \"x86_64\", > > > > \"size\": 536870912, > > \"notes\": { > > > > \"C\": \"Phony Ubuntu look-alike used for testing.\" > > > > @@ -172,6 +185,7 @@ if [ "$json_list" != "{ > > > > { > > > > \"os-version\": \"phony-windows\", > > \"full-name\": \"Phony Windows\", > > > > + \"arch\": \"x86_64\", > > > > \"size\": 536870912, > > \"notes\": { > > > > \"C\": \"Phony Windows look-alike used for testing.\" > > ACK.Thanks, pushed.> I'll sign the index once you've committed this.Remember to update it, before signing it again. ;) -- Pino Toscano