<div dir="ltr"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 13, 2018 at 3:39 PM, Fabiano Fidêncio <span dir="ltr"><<a href="mailto:fidencio@redhat.com" target="_blank">fidencio@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Let's add some instructions and examples on how to contribute with the<br>
most basic scenarios of adding an OS info to osinfo-db.<br>
<br>
--<br>
While do think this is useful material to point to newcomers, I'm<br>
totally fine about having it as a blogpost or somewhere else than our<br>
git repo.<br>
<br>
Also, I do believe that we can start growing the amount of docs/examples<br>
we have and that it can help people to start helping us with some basic<br>
patches of their favourite distro.<br>
<br>
I'm looking forward to receiving some feedback about this and<br>
suggestions on how this could be done better. :-)<br>
--<br>
<br>
Signed-off-by: Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
---<br>
 CONTRIBUTE.md | 930 ++++++++++++++++++++++++++++++<wbr>++++++++++++++++++++<br>
 1 file changed, 930 insertions(+)<br>
 create mode 100644 CONTRIBUTE.md<br>
<br>
diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md<br>
new file mode 100644<br>
index 0000000..f6d5790<br>
--- /dev/null<br>
+++ b/CONTRIBUTE.md<br>
@@ -0,0 +1,930 @@<br>
+# The OSes XML structure<br>
+Firstly, let's start saying that OSes data are stored under<br>
+`data/os/distributor` folder, where "distributor" should be named<br>
+accordingly to the project's name.<br>
+<br>
+For instance, the current (by the time this document was written)<br>
+"distributors" are:<br>
+```<br>
+  [fidencio@dahmer osinfo-db]$ ls data/os/<br>
+  <a href="http://alpinelinux.org" rel="noreferrer" target="_blank">alpinelinux.org</a>  <a href="http://centos.org" rel="noreferrer" target="_blank">centos.org</a>        <a href="http://endlessos.com" rel="noreferrer" target="_blank">endlessos.com</a>      <a href="http://gnome.org" rel="noreferrer" target="_blank">gnome.org</a>     <a href="http://microsoft.com" rel="noreferrer" target="_blank">microsoft.com</a>  <a href="http://opensuse.org" rel="noreferrer" target="_blank">opensuse.org</a>  <a href="http://suse.com" rel="noreferrer" target="_blank">suse.com</a><br>
+  <a href="http://altlinux.org" rel="noreferrer" target="_blank">altlinux.org</a>     <a href="http://cirros-cloud.net" rel="noreferrer" target="_blank">cirros-cloud.net</a>  <a href="http://fedoraproject.org" rel="noreferrer" target="_blank">fedoraproject.org</a>  <a href="http://haiku-os.org" rel="noreferrer" target="_blank">haiku-os.org</a>  <a href="http://netbsd.org" rel="noreferrer" target="_blank">netbsd.org</a>     <a href="http://oracle.com" rel="noreferrer" target="_blank">oracle.com</a>    <a href="http://system76.com" rel="noreferrer" target="_blank">system76.com</a><br>
+  <a href="http://apple.com" rel="noreferrer" target="_blank">apple.com</a>        <a href="http://debian.org" rel="noreferrer" target="_blank">debian.org</a>        <a href="http://freebsd.org" rel="noreferrer" target="_blank">freebsd.org</a>        <a href="http://mageia.org" rel="noreferrer" target="_blank">mageia.org</a>    <a href="http://novell.com" rel="noreferrer" target="_blank">novell.com</a>     <a href="http://redhat.com" rel="noreferrer" target="_blank">redhat.com</a>    <a href="http://ubuntu.com" rel="noreferrer" target="_blank">ubuntu.com</a><br>
+  <a href="http://asianux.com" rel="noreferrer" target="_blank">asianux.com</a>      <a href="http://dragonflybsd.org" rel="noreferrer" target="_blank">dragonflybsd.org</a>  <a href="http://freedos.org" rel="noreferrer" target="_blank">freedos.org</a>        <a href="http://mandriva.com" rel="noreferrer" target="_blank">mandriva.com</a>  <a href="http://openbsd.org" rel="noreferrer" target="_blank">openbsd.org</a>    <a href="http://sun.com" rel="noreferrer" target="_blank">sun.com</a><br>
+```<br>
+<br>
+Under each "distributor" folder contains the OSes and each version of the OS<br>
+has its own data file:<br>
+```<br>
+  [fidencio@dahmer osinfo-db]$ ls data/os/<a href="http://fedoraproject.org/" rel="noreferrer" target="_blank">fedoraproject.org/</a><br>
+  <a href="http://fedora-10.xml.in" rel="noreferrer" target="_blank">fedora-10.xml.in</a>  <a href="http://fedora-15.xml.in" rel="noreferrer" target="_blank">fedora-15.xml.in</a>  <a href="http://fedora-1.xml.in" rel="noreferrer" target="_blank">fedora-1.xml.in</a>   <a href="http://fedora-24.xml.in" rel="noreferrer" target="_blank">fedora-24.xml.in</a>  <a href="http://fedora-2.xml.in" rel="noreferrer" target="_blank">fedora-2.xml.in</a>  <a href="http://fedora-7.xml.in" rel="noreferrer" target="_blank">fedora-7.xml.in</a><br>
+  <a href="http://fedora-11.xml.in" rel="noreferrer" target="_blank">fedora-11.xml.in</a>  <a href="http://fedora-16.xml.in" rel="noreferrer" target="_blank">fedora-16.xml.in</a>  <a href="http://fedora-20.xml.in" rel="noreferrer" target="_blank">fedora-20.xml.in</a>  <a href="http://fedora-25.xml.in" rel="noreferrer" target="_blank">fedora-25.xml.in</a>  <a href="http://fedora-3.xml.in" rel="noreferrer" target="_blank">fedora-3.xml.in</a>  <a href="http://fedora-8.xml.in" rel="noreferrer" target="_blank">fedora-8.xml.in</a><br>
+  <a href="http://fedora-12.xml.in" rel="noreferrer" target="_blank">fedora-12.xml.in</a>  <a href="http://fedora-17.xml.in" rel="noreferrer" target="_blank">fedora-17.xml.in</a>  <a href="http://fedora-21.xml.in" rel="noreferrer" target="_blank">fedora-21.xml.in</a>  <a href="http://fedora-26.xml.in" rel="noreferrer" target="_blank">fedora-26.xml.in</a>  <a href="http://fedora-4.xml.in" rel="noreferrer" target="_blank">fedora-4.xml.in</a>  <a href="http://fedora-9.xml.in" rel="noreferrer" target="_blank">fedora-9.xml.in</a><br>
+  <a href="http://fedora-13.xml.in" rel="noreferrer" target="_blank">fedora-13.xml.in</a>  <a href="http://fedora-18.xml.in" rel="noreferrer" target="_blank">fedora-18.xml.in</a>  <a href="http://fedora-22.xml.in" rel="noreferrer" target="_blank">fedora-22.xml.in</a>  <a href="http://fedora-27.xml.in" rel="noreferrer" target="_blank">fedora-27.xml.in</a>  <a href="http://fedora-5.xml.in" rel="noreferrer" target="_blank">fedora-5.xml.in</a>  <a href="http://fedora-unknown.xml.in" rel="noreferrer" target="_blank">fedora-unknown.xml.in</a><br>
+  <a href="http://fedora-14.xml.in" rel="noreferrer" target="_blank">fedora-14.xml.in</a>  <a href="http://fedora-19.xml.in" rel="noreferrer" target="_blank">fedora-19.xml.in</a>  <a href="http://fedora-23.xml.in" rel="noreferrer" target="_blank">fedora-23.xml.in</a>  <a href="http://fedora-28.xml.in" rel="noreferrer" target="_blank">fedora-28.xml.in</a>  <a href="http://fedora-6.xml.in" rel="noreferrer" target="_blank">fedora-6.xml.in</a>  <a href="http://silverblue-28.xml.in" rel="noreferrer" target="_blank">silverblue-28.xml.in</a><br>
+```<br>
+<br>
+Each OS may contain a list of supported devices, as seen in the<br>
+<a href="http://fedora-24.xml.in" rel="noreferrer" target="_blank">fedora-24.xml.in</a>:<br>
+```<br>
+   <devices><br>
+     <device id="<a href="http://pcisig.com/pci/1af4/1050" rel="noreferrer" target="_blank">http://pcisig.com/pci/<wbr>1af4/1050</a>"/> <!-- virtio1.0-gpu --><br>
+   </devices><br>
+```<br>
+<br>
+The full list of devices can be find at `data/devices` and is seperated by the<br>
+devices' vendors. Covering the addition of new devices is not in the scope of<br>
+this document, though.<br>
+<br>
+Each OS may have support to install-scripts, as seen in the <a href="http://fedora-28.xml.in" rel="noreferrer" target="_blank">fedora-28.xml.in</a>:<br>
+```<br>
+  <installer><br>
+    <script id='<a href="http://fedoraproject.org/fedora/kickstart/jeos'/" rel="noreferrer" target="_blank">http://fedoraproject.org/<wbr>fedora/kickstart/jeos'/</a>><br>
+    <script id='<a href="http://fedoraproject.org/fedora/kickstart/desktop'/" rel="noreferrer" target="_blank">http://fedoraproject.org/<wbr>fedora/kickstart/desktop'/</a>><br>
+  </installer><br>
+```<br>
+<br>
+The full list of install-scripts can be find at `data/install-script/` and is<br>
+separated by "distributor" (in the same way as the OS data).<br>
+<br>
+The install-script is divided in two categories:<br>
+- jeos: which stands for Just enough OS, that provides a "Minimal"<br>
+  installation;<br>
+- desktop: that provides a "Workstation" installation;<br>
+<br>
+Although we're not going to cover the addition of new installer scripts in<br>
+this documment, mind to always test the installation-scripts when submitting a<br>
+new OS that has support to it.<br>
+<br>
+Ideally, each OS data comes together with its ISO information which is part of<br>
+libosinfo tests and are stored under `tests/isodata`.<br>
+In this folder, each "distro" has its own entry:<br>
+```<br>
+  [fidencio@dahmer libosinfo]$ ls tests/isodata/<br>
+  alpinelinux  asianux  debian        fedora   freedos  haiku   netbsd   opensuse  rhel  sles    windows<br>
+  altlinux     centos   dragonflybsd  freebsd  gnome    mageia  openbsd  popos     sled  ubuntu<br>
+```<br>
+<br>
+And each release of the distro has its own entry following its "short-id" name:<br>
+```<br>
+  [fidencio@dahmer libosinfo]$ ls tests/isodata/fedora/<br>
+  fedora1   fedora12  fedora15  fedora18  fedora20  fedora23  fedora26  fedora3  fedora6  fedora9<br>
+  fedora10  fedora13  fedora16  fedora19  fedora21  fedora24  fedora27  fedora4  fedora7  silverblue28<br>
+  fedora11  fedora14  fedora17  fedora2   fedora22  fedora25  fedora28  fedora5  fedora8<br>
+```<br>
+<br>
+And for each release, ideally, all ISOs released are added to our tests:<br>
+```<br>
+  [fidencio@dahmer libosinfo]$ ls tests/isodata/fedora/fedora28/<br>
+  Fedora-Server-dvd-x86_64-28-1.<wbr>1.iso.txt  Fedora-Server-netinst-x86_64-<wbr>28-1.1.iso.txt  Fedora-Workstation-Live-x86_<wbr>64-28-1.1.iso.txt<br>
+```<br>
+<br>
+These "isodata" files are the output of `isodetect -d -i /path/to/the/iso`.<br>
+<br>
+With this basic knowledge in mind, let's cover the most 3 basic cases of adding<br>
+new OS content to osinfo-db:<br>
+- Updating the content of an existent release;<br>
+- Adding a new release of an existent OS;<br>
+- Adding a completely new OS;<br>
+<br>
+## Updating the content of an existent release<br>
+Having to update the content of an existent release is a quite common case and<br>
+may happen due to different reasons as, for instance:<br>
+<br>
+### Adding the end-of-life of a release<br>
+  - <a href="https://gitlab.com/libosinfo/osinfo-db/commit/12a152b4afc74187b2d040fa38f373cd7e0a17d3" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>osinfo-db/commit/<wbr>12a152b4afc74187b2d040fa38f373<wbr>cd7e0a17d3</a><br>
+```<br>
+  Refs: v20170423-18-g12a152b<br>
+  Author:     Pino Toscano <<a href="mailto:ptoscano@redhat.com">ptoscano@redhat.com</a>><br>
+  AuthorDate: Fri Jul 7 13:44:05 2017 +0200<br>
+  Commit:     Christophe Fergeau <<a href="mailto:cfergeau@redhat.com">cfergeau@redhat.com</a>><br>
+  CommitDate: Thu Aug 3 16:59:07 2017 +0200<br>
+<br>
+      ubuntu: add EOL date for 16.10<br>
+<br>
+      Source:<br>
+      <a href="https://lists.ubuntu.com/archives/ubuntu-announce/2017-July/000222.html" rel="noreferrer" target="_blank">https://lists.ubuntu.com/<wbr>archives/ubuntu-announce/2017-<wbr>July/000222.html</a><br>
+  ---<br>
+   data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-16.<wbr>10.xml.in</a> | 1 +<br>
+   1 file changed, 1 insertion(+)<br>
+<br>
+  diff --git a/data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>16.10.xml.in</a> b/data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>16.10.xml.in</a><br>
+  index 8e0ad1c..9557340 100644<br>
+  --- a/data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>16.10.xml.in</a><br>
+  +++ b/data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>16.10.xml.in</a><br>
+  @@ -14,6 +14,7 @@<br>
+       <derives-from id="<a href="http://ubuntu.com/ubuntu/16.04" rel="noreferrer" target="_blank">http://ubuntu.com/ubuntu/<wbr>16.04</a>"/><br>
+<br>
+       <release-date>2016-10-13</<wbr>release-date><br>
+  +    <eol-date>2017-07-20</eol-<wbr>date><br>
+<br>
+       <resources arch="all"><br>
+         <minimum><br>
+```<br>
+<br>
+  - <a href="https://gitlab.com/libosinfo/osinfo-db/commit/a9a1909e40d9051726cdd97b7130960d7cc350a0" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>osinfo-db/commit/<wbr>a9a1909e40d9051726cdd97b713096<wbr>0d7cc350a0</a><br>
+```<br>
+  Refs: v20170423-17-ga9a1909<br>
+  Author:     Pino Toscano <<a href="mailto:ptoscano@redhat.com">ptoscano@redhat.com</a>><br>
+  AuthorDate: Thu Aug 3 09:52:08 2017 +0200<br>
+  Commit:     Christophe Fergeau <<a href="mailto:cfergeau@redhat.com">cfergeau@redhat.com</a>><br>
+  CommitDate: Thu Aug 3 16:59:07 2017 +0200<br>
+<br>
+      ubuntu: fix 16.10 locations<br>
+<br>
+      Ubuntu 16.10 is EOL, so switch to the archive for old releases<br>
+  ---<br>
+   data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-16.<wbr>10.xml.in</a> | 16 ++++++++--------<br>
+   1 file changed, 8 insertions(+), 8 deletions(-)<br>
+<br>
+  diff --git a/data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>16.10.xml.in</a> b/data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>16.10.xml.in</a><br>
+  index bea4182..8e0ad1c 100644<br>
+  --- a/data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>16.10.xml.in</a><br>
+  +++ b/data/os/<a href="http://ubuntu.com/ubuntu-16.10.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>16.10.xml.in</a><br>
+  @@ -30,7 +30,7 @@<br>
+       </resources><br>
+<br>
+       <media arch="i686"><br>
+  -      <url><a href="http://releases.ubuntu.com/releases/yakkety/ubuntu-16.10-server-i386.iso" rel="noreferrer" target="_blank">http://releases.ubuntu.<wbr>com/releases/yakkety/ubuntu-<wbr>16.10-server-i386.iso</a></url><br>
+  +      <url><a href="http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-server-i386.iso" rel="noreferrer" target="_blank">http://old-releases.<wbr>ubuntu.com/releases/yakkety/<wbr>ubuntu-16.10-server-i386.iso</a></<wbr>url><br>
+         <iso><br>
+           <volume-id>Ubuntu-Server 16.10(.\d)? i386</volume-id><br>
+         </iso><br>
+  @@ -38,7 +38,7 @@<br>
+         <initrd>install/initrd.gz</<wbr>initrd><br>
+       </media><br>
+       <media arch="x86_64"><br>
+  -      <url><a href="http://releases.ubuntu.com/releases/yakkety/ubuntu-16.10-server-amd64.iso" rel="noreferrer" target="_blank">http://releases.ubuntu.<wbr>com/releases/yakkety/ubuntu-<wbr>16.10-server-amd64.iso</a></url><br>
+  +      <url><a href="http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-server-amd64.iso" rel="noreferrer" target="_blank">http://old-releases.<wbr>ubuntu.com/releases/yakkety/<wbr>ubuntu-16.10-server-amd64.iso</a><<wbr>/url><br>
+         <iso><br>
+           <volume-id>Ubuntu-Server 16.10(.\d)? amd64</volume-id><br>
+         </iso><br>
+  @@ -46,7 +46,7 @@<br>
+         <initrd>install/initrd.gz</<wbr>initrd><br>
+       </media><br>
+       <media arch="i686" live="true"><br>
+  -      <url><a href="http://releases.ubuntu.com/releases/yakkety/ubuntu-16.10-desktop-i386.iso" rel="noreferrer" target="_blank">http://releases.ubuntu.<wbr>com/releases/yakkety/ubuntu-<wbr>16.10-desktop-i386.iso</a></url><br>
+  +      <url><a href="http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-desktop-i386.iso" rel="noreferrer" target="_blank">http://old-releases.<wbr>ubuntu.com/releases/yakkety/<wbr>ubuntu-16.10-desktop-i386.iso</a><<wbr>/url><br>
+         <iso><br>
+           <volume-id>Ubuntu 16.10(.\d)? i386</volume-id><br>
+         </iso><br>
+  @@ -54,7 +54,7 @@<br>
+         <initrd>casper/initrd.lz</<wbr>initrd><br>
+       </media><br>
+       <media arch="x86_64" live="true"><br>
+  -      <url><a href="http://releases.ubuntu.com/releases/yakkety/ubuntu-16.10-desktop-amd64.iso" rel="noreferrer" target="_blank">http://releases.ubuntu.<wbr>com/releases/yakkety/ubuntu-<wbr>16.10-desktop-amd64.iso</a></url><br>
+  +      <url><a href="http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-desktop-amd64.iso" rel="noreferrer" target="_blank">http://old-releases.<wbr>ubuntu.com/releases/yakkety/<wbr>ubuntu-16.10-desktop-amd64.iso</a><wbr></url><br>
+         <iso><br>
+           <volume-id>Ubuntu 16.10(.\d)? amd64</volume-id><br>
+         </iso><br>
+  @@ -62,25 +62,25 @@<br>
+         <initrd>casper/initrd.lz</<wbr>initrd><br>
+       </media><br>
+       <media arch="aarch64"><br>
+  -      <url><a href="http://cdimage.ubuntu.com/releases/yakkety/release/ubuntu-16.10-server-arm64.iso" rel="noreferrer" target="_blank">http://cdimage.ubuntu.<wbr>com/releases/yakkety/release/<wbr>ubuntu-16.10-server-arm64.iso</a><<wbr>/url><br>
+  +      <url><a href="http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-server-arm64.iso" rel="noreferrer" target="_blank">http://old-releases.<wbr>ubuntu.com/releases/yakkety/<wbr>ubuntu-16.10-server-arm64.iso</a><<wbr>/url><br>
+         <iso><br>
+           <volume-id>Ubuntu-Server 16.10(.\d)? arm64</volume-id><br>
+         </iso><br>
+       </media><br>
+       <media arch="ppc"><br>
+  -      <url><a href="http://cdimage.ubuntu.com/releases/yakkety/release/ubuntu-16.10-server-powerpc.iso" rel="noreferrer" target="_blank">http://cdimage.ubuntu.<wbr>com/releases/yakkety/release/<wbr>ubuntu-16.10-server-powerpc.<wbr>iso</a></url><br>
+  +      <url><a href="http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-server-powerpc.iso" rel="noreferrer" target="_blank">http://old-releases.<wbr>ubuntu.com/releases/yakkety/<wbr>ubuntu-16.10-server-powerpc.<wbr>iso</a></url><br>
+         <iso><br>
+           <volume-id>Ubuntu-Server 16.10(.\d)? ppc</volume-id><br>
+         </iso><br>
+       </media><br>
+       <media arch="ppc64le"><br>
+  -      <url><a href="http://cdimage.ubuntu.com/releases/yakkety/release/ubuntu-16.10-server-ppc64el.iso" rel="noreferrer" target="_blank">http://cdimage.ubuntu.<wbr>com/releases/yakkety/release/<wbr>ubuntu-16.10-server-ppc64el.<wbr>iso</a></url><br>
+  +      <url><a href="http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-server-ppc64el.iso" rel="noreferrer" target="_blank">http://old-releases.<wbr>ubuntu.com/releases/yakkety/<wbr>ubuntu-16.10-server-ppc64el.<wbr>iso</a></url><br>
+         <iso><br>
+           <volume-id>Ubuntu-Server 16.10(.\d)? ppc64</volume-id><br>
+         </iso><br>
+       </media><br>
+       <media arch="s390x"><br>
+  -      <url><a href="http://cdimage.ubuntu.com/releases/yakkety/release/ubuntu-16.10-server-s390x.iso" rel="noreferrer" target="_blank">http://cdimage.ubuntu.<wbr>com/releases/yakkety/release/<wbr>ubuntu-16.10-server-s390x.iso</a><<wbr>/url><br>
+  +      <url><a href="http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-server-s390x.iso" rel="noreferrer" target="_blank">http://old-releases.<wbr>ubuntu.com/releases/yakkety/<wbr>ubuntu-16.10-server-s390x.iso</a><<wbr>/url><br>
+         <iso><br>
+           <volume-id>Ubuntu-Server 16.10(.\d)? s390x</volume-id><br>
+         </iso><br>
+```<br>
+<br>
+### Adding an ISO that is not yet recognized<br>
+  This is a common case, mainly related to Windows ISOs and the more efficient<br>
+  way to either provide a patch or a good bug report is to, as the first thing,<br>
+  run `isoinfo -d -i /path/to/the/iso` and provide us its output. The output<br>
+  contains the volume-id of the iso, as shown here (from a Windows 10 LTSB<br>
+  Evaluation version):<br>
+```<br>
+  ...<br>
+  Volume id: CESE_X64FREE_EN-US_DV5<br>
+  ...<br>
+```<br>
+<br>
+  The volume-id has then to be added to the specific OS data and the isoinfo<br>
+  output has to be added to our tests.<br>
+  Take a look on the following two commits as example:<br>
+  - <a href="https://gitlab.com/libosinfo/osinfo-db/commit/552bba12dcfe39e6b7734333d8373338b9261e50" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>osinfo-db/commit/<wbr>552bba12dcfe39e6b7734333d83733<wbr>38b9261e50</a><br>
+```<br>
+Refs: v20180903-8-g552bba1<br>
+Author:     Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+AuthorDate: Thu Sep 6 15:30:02 2018 +0200<br>
+Commit:     Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+CommitDate: Fri Sep 7 09:20:05 2018 +0200<br>
+<br>
+    win10: Add LTSB Evaluation media info<br>
+<br>
+    <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1139394" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/<wbr>show_bug.cgi?id=1139394</a><br>
+<br>
+    Signed-off-by: Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+    Reviewed-by: Cole Robinson <<a href="mailto:crobinso@redhat.com">crobinso@redhat.com</a>><br>
+---<br>
+ data/os/<a href="http://microsoft.com/win-10.xml.in" rel="noreferrer" target="_blank">microsoft.com/win-10.<wbr>xml.in</a> | 21 +++++++++++++++++++++<br>
+ 1 file changed, 21 insertions(+)<br>
+<br>
+diff --git a/data/os/<a href="http://microsoft.com/win-10.xml.in" rel="noreferrer" target="_blank">microsoft.com/win-<wbr>10.xml.in</a> b/data/os/<a href="http://microsoft.com/win-10.xml.in" rel="noreferrer" target="_blank">microsoft.com/win-<wbr>10.xml.in</a><br>
+index 737f6ce..32a581c 100644<br>
+--- a/data/os/<a href="http://microsoft.com/win-10.xml.in" rel="noreferrer" target="_blank">microsoft.com/win-<wbr>10.xml.in</a><br>
++++ b/data/os/<a href="http://microsoft.com/win-10.xml.in" rel="noreferrer" target="_blank">microsoft.com/win-<wbr>10.xml.in</a><br>
+@@ -22,6 +22,9 @@<br>
+     <variant id="enterprise-ltsb"><br>
+       <_name>Microsoft Windows 10 Enterprise (Long Term Servicing Branch)</_name><br>
+     </variant><br>
++    <variant id="enterprise-ltsb-eval"><br>
++      <_name>Microsoft Windows 10 Enterprise (Long Term Servicing Branch) Evaluation</_name><br>
++    </variant><br>
+<br>
+     <!-- Education --><br>
+     <media arch="i686"><br>
+@@ -77,6 +80,24 @@<br>
+       </iso><br>
+     </media><br>
+<br>
++    <!-- Enterprise LTSB (Eval) --><br>
++    <media arch="i686"><br>
++      <variant id="enterprise-ltsb-eval"/><br>
++      <iso><br>
++        <volume-id>CESE_X86FREE_</<wbr>volume-id><br>
++        <publisher-id>MICROSOFT CORPORATION</publisher-id><br>
++        <l10n-language regex="true" l10n-language-map="<a href="http://microsoft.com/win/8/l10n-language" rel="noreferrer" target="_blank">http://<wbr>microsoft.com/win/8/l10n-<wbr>language</a>">[[:upper:][:digit:]_<wbr>]*_([[:upper:]]*-[[:upper:]]*)<wbr></l10n<br>
++      </iso><br>
++    </media><br>
++    <media arch="x86_64"><br>
++      <variant id="enterprise-ltsb-eval"/><br>
++      <iso><br>
++        <volume-id>CESE_X64FREE_</<wbr>volume-id><br>
++        <publisher-id>MICROSOFT CORPORATION</publisher-id><br>
++        <l10n-language regex="true" l10n-language-map="<a href="http://microsoft.com/win/8/l10n-language" rel="noreferrer" target="_blank">http://<wbr>microsoft.com/win/8/l10n-<wbr>language</a>">[[:upper:][:digit:]_<wbr>]*_([[:upper:]]*-[[:upper:]]*)<wbr></l10n<br>
++      </iso><br>
++    </media><br>
++<br>
+     <!-- No Variant --><br>
+     <media arch="i686"><br>
+       <iso><br>
+```<br>
+  - <a href="https://gitlab.com/libosinfo/libosinfo/commit/857f503f4bcd33169db8b0b5818343269e71547f" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>libosinfo/commit/<wbr>857f503f4bcd33169db8b0b5818343<wbr>269e71547f</a><br>
+```<br>
+Refs: v1.2.0-18-g857f503<br>
+Author:     Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+AuthorDate: Thu Sep 6 15:35:12 2018 +0200<br>
+Commit:     Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+CommitDate: Fri Sep 7 09:16:32 2018 +0200<br>
+<br>
+    win10: Add LTSB Evaluation isodata<br>
+<br>
+    <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1139394" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/<wbr>show_bug.cgi?id=1139394</a><br>
+<br>
+    Signed-off-by: Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+    Reviewed-by: Cole Robinson <<a href="mailto:crobinso@redhat.com">crobinso@redhat.com</a>><br>
+---<br>
+ tests/isodata/windows/win10/<wbr>14393.0.160715-1616.RS1_<wbr>RELEASE_CLIENTENTERPRISE_S_<wbr>EVAL_X64FRE_EN-US.ISO.txt | 29 +++++++++++++++++++++++++++++<br>
+ tests/isodata/windows/win10/<wbr>14393.0.160715-1616.RS1_<wbr>RELEASE_CLIENTENTERPRISE_S_<wbr>EVAL_X86FRE_EN-GB.ISO.txt | 29 +++++++++++++++++++++++++++++<br>
+ 2 files changed, 58 insertions(+)<br>
+<br>
+diff --git a/tests/isodata/windows/win10/<wbr>14393.0.160715-1616.RS1_<wbr>RELEASE_CLIENTENTERPRISE_S_<wbr>EVAL_X64FRE_EN-US.ISO.txt b/tests/isodata/windows/win10/<wbr>14393.<br>
+new file mode 100644<br>
+index 0000000..ca9c035<br>
+--- /dev/null<br>
++++ b/tests/isodata/windows/win10/<wbr>14393.0.160715-1616.RS1_<wbr>RELEASE_CLIENTENTERPRISE_S_<wbr>EVAL_X64FRE_EN-US.ISO.txt<br>
+@@ -0,0 +1,29 @@<br>
++CD-ROM is in ISO 9660 format<br>
++System id:<br>
++Volume id: CESE_X64FREE_EN-US_DV5<br>
++Volume set id: CESE_X64FREE_EN-US_DV5<br>
++Publisher id: MICROSOFT CORPORATION<br>
++Data preparer id: MICROSOFT CORPORATION, ONE MICROSOFT WAY, REDMOND WA 98052, (425) 882-8080<br>
++Application id: CDIMAGE 2.56 (01/01/2005 TM)<br>
++Copyright File id:<br>
++Abstract File id:<br>
++Bibliographic File id:<br>
++Volume set size is: 1<br>
++Volume set sequence number is: 1<br>
++Logical block size is: 2048<br>
++Volume size is: 1746893<br>
++El Torito VD version 1 found, boot catalog is in sector 22<br>
++NO Joliet present<br>
++NO Rock Ridge present<br>
++Eltorito validation header:<br>
++    Hid 1<br>
++    Arch 0 (x86)<br>
++    ID 'Microsoft Corporation'<br>
++    Key 55 AA<br>
++    Eltorito defaultboot header:<br>
++        Bootid 88 (bootable)<br>
++        Boot media 0 (No Emulation Boot)<br>
++        Load segment 0<br>
++        Sys type 0<br>
++        Nsect 8<br>
++        Bootoff 21B 539<br>
+diff --git a/tests/isodata/windows/win10/<wbr>14393.0.160715-1616.RS1_<wbr>RELEASE_CLIENTENTERPRISE_S_<wbr>EVAL_X86FRE_EN-GB.ISO.txt b/tests/isodata/windows/win10/<wbr>14393.<br>
+new file mode 100644<br>
+index 0000000..139c19f<br>
+--- /dev/null<br>
++++ b/tests/isodata/windows/win10/<wbr>14393.0.160715-1616.RS1_<wbr>RELEASE_CLIENTENTERPRISE_S_<wbr>EVAL_X86FRE_EN-GB.ISO.txt<br>
+@@ -0,0 +1,29 @@<br>
++CD-ROM is in ISO 9660 format<br>
++System id:<br>
++Volume id: CESE_X86FREE_EN-GB_DV5<br>
++Volume set id: CESE_X86FREE_EN-GB_DV5<br>
++Publisher id: MICROSOFT CORPORATION<br>
++Data preparer id: MICROSOFT CORPORATION, ONE MICROSOFT WAY, REDMOND WA 98052, (425) 882-8080<br>
++Application id: CDIMAGE 2.56 (01/01/2005 TM)<br>
++Copyright File id:<br>
++Abstract File id:<br>
++Bibliographic File id:<br>
++Volume set size is: 1<br>
++Volume set sequence number is: 1<br>
++Logical block size is: 2048<br>
++Volume size is: 1288647<br>
++El Torito VD version 1 found, boot catalog is in sector 22<br>
++NO Joliet present<br>
++NO Rock Ridge present<br>
++Eltorito validation header:<br>
++    Hid 1<br>
++    Arch 0 (x86)<br>
++    ID 'Microsoft Corporation'<br>
++    Key 55 AA<br>
++    Eltorito defaultboot header:<br>
++        Bootid 88 (bootable)<br>
++        Boot media 0 (No Emulation Boot)<br>
++        Load segment 0<br>
++        Sys type 0<br>
++        Nsect 8<br>
++        Bootoff 219 537<br>
+```<br>
+<br>
+## Adding a new release of an existent OS<br>
+This is the most common case for submitting patches to the osinfo-db project<br>
+and happens whenever a new release is out.<br>
+<br>
+It tends to be quite straightforward to do so as it's pretty much a copy aad<br>
+past of the XML of the previous release. Here's one example of an addition<br>
+of a new release:<br>
+- <a href="https://gitlab.com/libosinfo/osinfo-db/commit/b4ce277defb7085350c5ee73ec62ba37728fde8b" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>osinfo-db/commit/<wbr>b4ce277defb7085350c5ee73ec62ba<wbr>37728fde8b</a><br>
+```<br>
+Refs: <v20180720><br>
+Author:     Věra Cholasta <<a href="mailto:vbudikov@redhat.com">vbudikov@redhat.com</a>><br>
+AuthorDate: Fri Jul 20 09:08:38 2018 +0200<br>
+Commit:     Fabiano Fidêncio <<a href="mailto:fabiano@fidencio.org">fabiano@fidencio.org</a>><br>
+CommitDate: Fri Jul 20 11:30:01 2018 +0200<br>
+<br>
+    ubuntu: Add support for Ubuntu18.04<br>
+<br>
+    Reviewed-by: Fabiano Fidêncio <<a href="mailto:fabiano@fidencio.org">fabiano@fidencio.org</a>><br>
+---<br>
+ data/os/<a href="http://ubuntu.com/ubuntu-18.04.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-18.<wbr>04.xml.in</a> | 72 ++++++++++++++++++++++++++++++<wbr>++++++++++++++++++++++++++++++<wbr>++++++++++++<br>
+ 1 file changed, 72 insertions(+)<br>
+<br>
+diff --git a/data/os/<a href="http://ubuntu.com/ubuntu-18.04.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>18.04.xml.in</a> b/data/os/<a href="http://ubuntu.com/ubuntu-18.04.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>18.04.xml.in</a><br>
+new file mode 100644<br>
+index 0000000..ad13360<br>
+--- /dev/null<br>
++++ b/data/os/<a href="http://ubuntu.com/ubuntu-18.04.xml.in" rel="noreferrer" target="_blank">ubuntu.com/ubuntu-<wbr>18.04.xml.in</a><br>
+@@ -0,0 +1,72 @@<br>
++<?xml version="1.0" encoding="UTF-8"?><br>
++<libosinfo version="0.0.1"><br>
++<!-- Licensed under the GNU General Public License version 2 or later.<br>
++     See <a href="http://www.gnu.org/licenses/" rel="noreferrer" target="_blank">http://www.gnu.org/licenses/</a> for a copy of the license text --><br>
++  <os id="<a href="http://ubuntu.com/ubuntu/18.04" rel="noreferrer" target="_blank">http://ubuntu.com/ubuntu/<wbr>18.04</a>"><br>
++    <short-id>ubuntu18.04</short-<wbr>id><br>
++    <short-id>ubuntubionic</short-<wbr>id><br>
++    <_name>Ubuntu 18.04 LTS</_name><br>
++    <version>18.04</version><br>
++    <_vendor>Canonical Ltd</_vendor><br>
++    <family>linux</family><br>
++    <distro>ubuntu</distro><br>
++    <codename>Bionic Beaver</codename><br>
++    <upgrades id="<a href="http://ubuntu.com/ubuntu/17.10" rel="noreferrer" target="_blank">http://ubuntu.com/ubuntu/<wbr>17.10</a>"/><br>
++    <derives-from id="<a href="http://ubuntu.com/ubuntu/17.10" rel="noreferrer" target="_blank">http://ubuntu.com/ubuntu/<wbr>17.10</a>"/><br>
++<br>
++    <release-date>2018-04-26</<wbr>release-date><br>
++<br>
++    <resources arch="all"><br>
++      <minimum><br>
++        <cpu>1000000000</cpu><br>
++        <n-cpus>1</n-cpus><br>
++        <ram>1073741824</ram><br>
++        <storage>5368709120</storage><br>
++      </minimum><br>
++      <recommended><br>
++        <cpu>1000000000</cpu><br>
++        <ram>1073741824</ram><br>
++        <storage>16106127360</storage><br>
++      </recommended><br>
++    </resources><br>
++<br>
++    <media arch="x86_64"><br>
++      <url><a href="http://cdimage.ubuntu.com/releases/18.04/release/ubuntu-18.04-server-amd64.iso" rel="noreferrer" target="_blank">http://cdimage.ubuntu.<wbr>com/releases/18.04/release/<wbr>ubuntu-18.04-server-amd64.iso</a><<wbr>/url><br>
++      <iso><br>
++        <volume-id>Ubuntu-Server 18.04(.\d)? LTS amd64</volume-id><br>
++      </iso><br>
++      <kernel>install/vmlinuz</<wbr>kernel><br>
++      <initrd>install/initrd.gz</<wbr>initrd><br>
++    </media><br>
++    <media arch="x86_64" live="true"><br>
++      <url><a href="http://releases.ubuntu.com/releases/bionic/ubuntu-18.04-desktop-amd64.iso" rel="noreferrer" target="_blank">http://releases.ubuntu.<wbr>com/releases/bionic/ubuntu-18.<wbr>04-desktop-amd64.iso</a></url><br>
++      <iso><br>
++        <volume-id>Ubuntu 18.04(.\d)? LTS amd64</volume-id><br>
++      </iso><br>
++      <kernel>casper/vmlinuz</<wbr>kernel><br>
++      <initrd>casper/initrd.lz</<wbr>initrd><br>
++    </media><br>
++    <media arch="aarch64"><br>
++      <url><a href="http://cdimage.ubuntu.com/releases/18.04/release/ubuntu-18.04-server-arm64.iso" rel="noreferrer" target="_blank">http://cdimage.ubuntu.<wbr>com/releases/18.04/release/<wbr>ubuntu-18.04-server-arm64.iso</a><<wbr>/url><br>
++      <iso><br>
++        <volume-id>Ubuntu-Server 18.04(.\d)? LTS arm64</volume-id><br>
++      </iso><br>
++    </media><br>
++    <media arch="ppc64le"><br>
++      <url><a href="http://cdimage.ubuntu.com/releases/18.04/release/ubuntu-18.04-server-ppc64el.iso" rel="noreferrer" target="_blank">http://cdimage.ubuntu.<wbr>com/releases/18.04/release/<wbr>ubuntu-18.04-server-ppc64el.<wbr>iso</a></url><br>
++      <iso><br>
++        <volume-id>Ubuntu-Server 18.04(.\d)? LTS ppc64</volume-id><br>
++      </iso><br>
++    </media><br>
++    <media arch="s390x"><br>
++      <url><a href="http://cdimage.ubuntu.com/releases/18.04/release/ubuntu-18.04-server-s390x.iso" rel="noreferrer" target="_blank">http://cdimage.ubuntu.<wbr>com/releases/18.04/release/<wbr>ubuntu-18.04-server-s390x.iso</a><<wbr>/url><br>
++      <iso><br>
++        <volume-id>Ubuntu-Server 18.04(.\d)? LTS s390x</volume-id><br>
++      </iso><br>
++    </media><br>
++<br>
++    <installer><br>
++      <script id='<a href="http://ubuntu.com/ubuntu/preseed/jeos'/" rel="noreferrer" target="_blank">http://ubuntu.com/ubuntu/<wbr>preseed/jeos'/</a>><br>
++    </installer><br>
++  </os><br>
++</libosinfo><br>
+```<br>
+- <a href="https://gitlab.com/libosinfo/libosinfo/commit/91e9e7ccc6588021a220d4cdaa6f832935b35124" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>libosinfo/commit/<wbr>91e9e7ccc6588021a220d4cdaa6f83<wbr>2935b35124</a><br>
+```<br>
+Refs: v1.2.0-7-g91e9e7c<br>
+Author:     Věra Cholasta <<a href="mailto:vbudikov@redhat.com">vbudikov@redhat.com</a>><br>
+AuthorDate: Fri Jul 20 09:09:01 2018 +0200<br>
+Commit:     Fabiano Fidêncio <<a href="mailto:fabiano@fidencio.org">fabiano@fidencio.org</a>><br>
+CommitDate: Fri Jul 20 10:14:10 2018 +0200<br>
+<br>
+    ubuntu: Add test files for Ubuntu18.04<br>
+<br>
+    Reviewed-by: Fabiano Fidêncio <<a href="mailto:fabiano@fidencio.org">fabiano@fidencio.org</a>><br>
+---<br>
+ tests/isodata/ubuntu/ubuntu18.<wbr>04/ubuntu-18.04-desktop-amd64.<wbr>iso.txt  | 29 +++++++++++++++++++++++++++++<br>
+ tests/isodata/ubuntu/ubuntu18.<wbr>04/ubuntu-18.04-server-amd64.<wbr>iso.txt   | 29 +++++++++++++++++++++++++++++<br>
+ tests/isodata/ubuntu/ubuntu18.<wbr>04/ubuntu-18.04-server-arm64.<wbr>iso.txt   | 29 +++++++++++++++++++++++++++++<br>
+ tests/isodata/ubuntu/ubuntu18.<wbr>04/ubuntu-18.04-server-<wbr>ppc64el.iso.txt | 17 +++++++++++++++++<br>
+ tests/isodata/ubuntu/ubuntu18.<wbr>04/ubuntu-18.04-server-s390x.<wbr>iso.txt   | 29 +++++++++++++++++++++++++++++<br>
+ 5 files changed, 133 insertions(+)<br>
+<br>
+diff --git a/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>desktop-amd64.iso.txt b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>desktop-amd64.iso.txt<br>
+new file mode 100644<br>
+index 0000000..025620f<br>
+--- /dev/null<br>
++++ b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>desktop-amd64.iso.txt<br>
+@@ -0,0 +1,29 @@<br>
++CD-ROM is in ISO 9660 format<br>
++System id:<br>
++Volume id: Ubuntu 18.04 LTS amd64<br>
++Volume set id:<br>
++Publisher id:<br>
++Data preparer id: XORRISO-1.2.4 2012.07.20.130001, LIBISOBURN-1.2.4, LIBISOFS-1.2.4, LIBBURN-1.2.4<br>
++Application id:<br>
++Copyright File id:<br>
++Abstract File id:<br>
++Bibliographic File id:<br>
++Volume set size is: 1<br>
++Volume set sequence number is: 1<br>
++Logical block size is: 2048<br>
++Volume size is: 938400<br>
++El Torito VD version 1 found, boot catalog is in sector 201<br>
++Joliet with UCS level 3 found<br>
++Rock Ridge signatures version 1 found<br>
++Eltorito validation header:<br>
++    Hid 1<br>
++    Arch 0 (x86)<br>
++    ID ''<br>
++    Key 55 AA<br>
++    Eltorito defaultboot header:<br>
++        Bootid 88 (bootable)<br>
++        Boot media 0 (No Emulation Boot)<br>
++        Load segment 0<br>
++        Sys type 0<br>
++        Nsect 4<br>
++        Bootoff DFC5B 916571<br>
+diff --git a/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-amd64.iso.txt b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-amd64.iso.txt<br>
+new file mode 100644<br>
+index 0000000..124804d<br>
+--- /dev/null<br>
++++ b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-amd64.iso.txt<br>
+@@ -0,0 +1,29 @@<br>
++CD-ROM is in ISO 9660 format<br>
++System id:<br>
++Volume id: Ubuntu-Server 18.04 LTS amd64<br>
++Volume set id:<br>
++Publisher id:<br>
++Data preparer id: XORRISO-1.2.4 2012.07.20.130001, LIBISOBURN-1.2.4, LIBISOFS-1.2.4, LIBBURN-1.2.4<br>
++Application id:<br>
++Copyright File id:<br>
++Abstract File id:<br>
++Bibliographic File id:<br>
++Volume set size is: 1<br>
++Volume set sequence number is: 1<br>
++Logical block size is: 2048<br>
++Volume size is: 360448<br>
++El Torito VD version 1 found, boot catalog is in sector 2110<br>
++Joliet with UCS level 3 found<br>
++Rock Ridge signatures version 1 found<br>
++Eltorito validation header:<br>
++    Hid 1<br>
++    Arch 0 (x86)<br>
++    ID ''<br>
++    Key 55 AA<br>
++    Eltorito defaultboot header:<br>
++        Bootid 88 (bootable)<br>
++        Boot media 0 (No Emulation Boot)<br>
++        Load segment 0<br>
++        Sys type 0<br>
++        Nsect 4<br>
++        Bootoff D100 53504<br>
+diff --git a/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-arm64.iso.txt b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-arm64.iso.txt<br>
+new file mode 100644<br>
+index 0000000..ce42a5e<br>
+--- /dev/null<br>
++++ b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-arm64.iso.txt<br>
+@@ -0,0 +1,29 @@<br>
++CD-ROM is in ISO 9660 format<br>
++System id:<br>
++Volume id: Ubuntu-Server 18.04 LTS arm64<br>
++Volume set id:<br>
++Publisher id:<br>
++Data preparer id: XORRISO-1.2.4 2012.07.20.130001, LIBISOBURN-1.2.4, LIBISOFS-1.2.4, LIBBURN-1.2.4<br>
++Application id:<br>
++Copyright File id:<br>
++Abstract File id:<br>
++Bibliographic File id:<br>
++Volume set size is: 1<br>
++Volume set sequence number is: 1<br>
++Logical block size is: 2048<br>
++Volume size is: 342740<br>
++El Torito VD version 1 found, boot catalog is in sector 3998<br>
++Joliet with UCS level 3 found<br>
++Rock Ridge signatures version 1 found<br>
++Eltorito validation header:<br>
++    Hid 1<br>
++    Arch 239 (Unknown Arch)<br>
++    ID ''<br>
++    Key 55 AA<br>
++    Eltorito defaultboot header:<br>
++        Bootid 88 (bootable)<br>
++        Boot media 0 (No Emulation Boot)<br>
++        Load segment 0<br>
++        Sys type 0<br>
++        Nsect 380<br>
++        Bootoff 182AF 98991<br>
+diff --git a/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-ppc64el.iso.txt b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-ppc64el.iso.txt<br>
+new file mode 100644<br>
+index 0000000..d7c9249<br>
+--- /dev/null<br>
++++ b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-ppc64el.iso.txt<br>
+@@ -0,0 +1,17 @@<br>
++CD-ROM is in ISO 9660 format<br>
++System id: LINUX<br>
++Volume id: Ubuntu-Server 18.04 LTS ppc64<br>
++Volume set id:<br>
++Publisher id:<br>
++Data preparer id:<br>
++Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM<br>
++Copyright File id:<br>
++Abstract File id:<br>
++Bibliographic File id:<br>
++Volume set size is: 1<br>
++Volume set sequence number is: 1<br>
++Logical block size is: 2048<br>
++Volume size is: 377082<br>
++CD-ROM uses ISO 9660:1999 relaxed format<br>
++NO Joliet present<br>
++Rock Ridge signatures version 1 found<br>
+diff --git a/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-s390x.iso.txt b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-s390x.iso.txt<br>
+new file mode 100644<br>
+index 0000000..19c702d<br>
+--- /dev/null<br>
++++ b/tests/isodata/ubuntu/<wbr>ubuntu18.04/ubuntu-18.04-<wbr>server-s390x.iso.txt<br>
+@@ -0,0 +1,29 @@<br>
++CD-ROM is in ISO 9660 format<br>
++System id: LINUX<br>
++Volume id: Ubuntu-Server 18.04 LTS s390x<br>
++Volume set id:<br>
++Publisher id:<br>
++Data preparer id:<br>
++Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM<br>
++Copyright File id:<br>
++Abstract File id:<br>
++Bibliographic File id:<br>
++Volume set size is: 1<br>
++Volume set sequence number is: 1<br>
++Logical block size is: 2048<br>
++Volume size is: 289280<br>
++El Torito VD version 1 found, boot catalog is in sector 1934<br>
++Joliet with UCS level 3 found<br>
++Rock Ridge signatures version 1 found<br>
++Eltorito validation header:<br>
++    Hid 1<br>
++    Arch 0 (x86)<br>
++    ID ''<br>
++    Key 55 AA<br>
++    Eltorito defaultboot header:<br>
++        Bootid 88 (bootable)<br>
++        Boot media 0 (No Emulation Boot)<br>
++        Load segment 0<br>
++        Sys type 0<br>
++        Nsect FFFFE610<br>
++        Bootoff 78F 1935<br>
+```<br>
+<br>
+### ISOs with the same volume-id<br>
+Please, mind that there are cases where the ISOs will have exactly the same<br>
+"volume-id" and it's actually a quite common case.<br>
+Let's take, for instance, the NetBSD 8.0 media info:<br>
+- <a href="https://gitlab.com/libosinfo/osinfo-db/blob/wip/contribute/data/os/netbsd.org/netbsd-8.0.xml.in" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>osinfo-db/blob/wip/contribute/<wbr>data/os/netbsd.org/netbsd-8.0.<wbr>xml.in</a><br>
+```<br>
+<libosinfo version="0.0.1"><br>
+<br>
+  <os id="<a href="http://netbsd.org/netbsd/8.0" rel="noreferrer" target="_blank">http://netbsd.org/netbsd/<wbr>8.0</a>"><br>
+    <short-id>netbsd8.0</short-id><br>
+    <_name>NetBSD 8.0</_name><br>
+    <version>8.0</version><br>
+    <_vendor>NetBSD Project</_vendor><br>
+    <family>netbsd</family><br>
+    <distro>netbsd</distro><br>
+    <upgrades id="<a href="http://netbsd.org/netbsd/7.1.2" rel="noreferrer" target="_blank">http://netbsd.org/netbsd/<wbr>7.1.2</a>"/><br>
+    <derives-from id="<a href="http://netbsd.org/netbsd/7.1.2" rel="noreferrer" target="_blank">http://netbsd.org/netbsd/<wbr>7.1.2</a>"/><br>
+<br>
+    <release-date>2018-07-17</<wbr>release-date><br>
+<br>
+    <media arch="x86_64"><br>
+      <url><a href="https://cdn.netbsd.org/pub/NetBSD/NetBSD-8.0/images/NetBSD-8.0-amd64.iso" rel="noreferrer" target="_blank">https://cdn.netbsd.org/<wbr>pub/NetBSD/NetBSD-8.0/images/<wbr>NetBSD-8.0-amd64.iso</a></url><br>
+      <iso><br>
+        <system-id>NetBSD</system-id><br>
+        <volume-id>NETBSD_80</volume-<wbr>id><br>
+        <volume-size>750526464</<wbr>volume-size><br>
+      </iso><br>
+    </media><br>
+    ...<br>
+    <media arch="i686"><br>
+      <url><a href="https://cdn.netbsd.org/pub/NetBSD/NetBSD-8.0/images/NetBSD-8.0-i386.iso" rel="noreferrer" target="_blank">https://cdn.netbsd.org/<wbr>pub/NetBSD/NetBSD-8.0/images/<wbr>NetBSD-8.0-i386.iso</a></url><br>
+      <iso><br>
+        <system-id>NetBSD</system-id><br>
+        <volume-id>NETBSD_80</volume-<wbr>id><br>
+        <volume-size>709455872</<wbr>volume-size><br>
+      </iso><br>
+    </media><br>
+    ...<br>
+  </os><br>
+</libosinfo><br>
+<br>
+```<br>
+There you can see that the volume-id is the same (NETBSD_80) for all the ISOs<br>
+provided by the distro.<br>
+When dealing with those cases, the path taken to differentiate the ISOs is by<br>
+their volume-size, which os part of the <iso> section. Let's take a look on<br>
+those ISOs' info to understand how the volume-size has been calculated.<br>
+- <a href="https://gitlab.com/libosinfo/libosinfo/blob/master/tests/isodata/netbsd/netbsd8.0/NetBSD-8.0-amd64.iso.txt" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>libosinfo/blob/master/tests/<wbr>isodata/netbsd/netbsd8.0/<wbr>NetBSD-8.0-amd64.iso.txt</a><br>
+```<br>
+Setting input-charset to 'UTF-8' from locale.<br>
+CD-ROM is in ISO 9660 format<br>
+System id: NetBSD<br>
+Volume id: NETBSD_80<br>
+Volume set id:<br>
+Publisher id: THE_NETBSD_PROJECT<br>
+Data preparer id:<br>
+Application id:<br>
+Copyright File id:<br>
+Abstract File id:<br>
+Bibliographic File id:<br>
+Volume set size is: 1<br>
+Volume set sequence number is: 1<br>
+Logical block size is: 2048<br>
+Volume size is: 366468<br>
+El Torito VD version 1 found, boot catalog is in sector 19<br>
+NO Joliet present<br>
+<br>
+SUSP signatures version 1 found<br>
+Rock Ridge signatures version 1 found<br>
+Rock Ridge id 'IEEE_P1282'<br>
+Eltorito validation header:<br>
+    Hid 1<br>
+    Arch 0 (x86)<br>
+    ID ''<br>
+    Cksum AA 55 OK<br>
+    Key 55 AA<br>
+    Eltorito defaultboot header:<br>
+        Bootid 88 (bootable)<br>
+        Boot media 0 (No Emulation Boot)<br>
+        Load segment 0<br>
+        Sys type 0<br>
+        Nsect 4<br>
+        Bootoff 214 532<br>
+```<br>
+The volume size of this ISO is its logical block size (2048)  multiplied by its<br>
+volume size (366468): 2048 x 366468 = 750526464.<br>
+<br>
+- <a href="https://gitlab.com/libosinfo/libosinfo/blob/master/tests/isodata/netbsd/netbsd8.0/NetBSD-8.0-i386.iso.txt" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>libosinfo/blob/master/tests/<wbr>isodata/netbsd/netbsd8.0/<wbr>NetBSD-8.0-i386.iso.txt</a><br>
+```<br>
+Setting input-charset to 'UTF-8' from locale.<br>
+CD-ROM is in ISO 9660 format<br>
+System id: NetBSD<br>
+Volume id: NETBSD_80<br>
+Volume set id:<br>
+Publisher id: THE_NETBSD_PROJECT<br>
+Data preparer id:<br>
+Application id:<br>
+Copyright File id:<br>
+Abstract File id:<br>
+Bibliographic File id:<br>
+Volume set size is: 1<br>
+Volume set sequence number is: 1<br>
+Logical block size is: 2048<br>
+Volume size is: 346414<br>
+El Torito VD version 1 found, boot catalog is in sector 19<br>
+NO Joliet present<br>
+<br>
+SUSP signatures version 1 found<br>
+Rock Ridge signatures version 1 found<br>
+Rock Ridge id 'IEEE_P1282'<br>
+Eltorito validation header:<br>
+    Hid 1<br>
+    Arch 0 (x86)<br>
+    ID ''<br>
+    Cksum AA 55 OK<br>
+    Key 55 AA<br>
+    Eltorito defaultboot header:<br>
+        Bootid 88 (bootable)<br>
+        Boot media 0 (No Emulation Boot)<br>
+        Load segment 0<br>
+        Sys type 0<br>
+        Nsect 4<br>
+        Bootoff 14 20<br>
+```<br>
+The volume size of this ISO is its logical block size (2048) multiplied by its<br>
+volume size (346414): 2048 x 346414 = 709455872.<br>
+<br>
+## Adding a completely new OS<br>
+Adding a completely new OS is not that different than adding the info of a new<br>
+release of an existent OS.<br>
+<br>
+The main difference is that the "distributor" folder will have to be created on<br>
+osinfo-db side and the "distro" and "short-id" folders will have to be created<br>
+on libosinfo side.<br>
+<br>
+Here's an example of a new addition to the osinfo-db:<br>
+- <a href="https://gitlab.com/libosinfo/osinfo-db/commit/3abb6f27337ddac627dd7cb217d5a3515487204b" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>osinfo-db/commit/<wbr>3abb6f27337ddac627dd7cb217d5a3<wbr>515487204b</a><br>
+```<br>
+Refs: v20180903-19-g3abb6f2<br>
+Author:     Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+AuthorDate: Fri Sep 7 11:18:19 2018 +0200<br>
+Commit:     Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+CommitDate: Tue Sep 11 22:35:30 2018 +0200<br>
+<br>
+    haiku: Add R1/Alpha1 media info<br>
+<br>
+    The mouse doesn't work at all in R1/Alpha1.<br>
+<br>
+    <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1092627" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/<wbr>show_bug.cgi?id=1092627</a><br>
+<br>
+    Signed-off-by: Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+    Reviewed-by: Cole Robinson <<a href="mailto:crobinso@redhat.com">crobinso@redhat.com</a>><br>
+---<br>
+ data/os/<a href="http://haiku-os.org/haiku-r1alpha1.xml.in" rel="noreferrer" target="_blank">haiku-os.org/haiku-<wbr>r1alpha1.xml.in</a> | 35 ++++++++++++++++++++++++++++++<wbr>+++++<br>
+ 1 file changed, 35 insertions(+)<br>
+<br>
+diff --git a/data/os/<a href="http://haiku-os.org/haiku-r1alpha1.xml.in" rel="noreferrer" target="_blank">haiku-os.org/haiku-<wbr>r1alpha1.xml.in</a> b/data/os/<a href="http://haiku-os.org/haiku-r1alpha1.xml.in" rel="noreferrer" target="_blank">haiku-os.org/haiku-<wbr>r1alpha1.xml.in</a><br>
+new file mode 100644<br>
+index 0000000..af9301f<br>
+--- /dev/null<br>
++++ b/data/os/<a href="http://haiku-os.org/haiku-r1alpha1.xml.in" rel="noreferrer" target="_blank">haiku-os.org/haiku-<wbr>r1alpha1.xml.in</a><br>
+@@ -0,0 +1,35 @@<br>
++<libosinfo version="0.0.1"><br>
++  <os id="<a href="http://haiku-os.org/haiku/r1alpha1" rel="noreferrer" target="_blank">http://haiku-os.org/haiku/<wbr>r1alpha1</a>"><br>
++    <short-id>haikur1alpha1</<wbr>short-id><br>
++    <_name>Haiku R1/Alpha1</_name><br>
++    <version>r1alpha1</version><br>
++    <_vendor>Haiku, Inc.</_vendor><br>
++    <family>beos</family><br>
++    <distro>haiku</distro><br>
++<br>
++    <release-date>2009-09-14</<wbr>release-date><br>
++    <eol-date>2010-05-10</eol-<wbr>date><br>
++<br>
++    <media arch="i686" live="true"><br>
++      <iso><br>
++        <volume-id>Haiku</volume-id><br>
++        <system-id>FreeBSD</system-id><br>
++        <volume-size>398305280</<wbr>volume-size><br>
++      </iso><br>
++    </media><br>
++<br>
++    <resources arch="all"><br>
++      <minimum><br>
++        <cpu>1000000000</cpu><br>
++        <n-cpus>1</n-cpus><br>
++        <ram>536870912</ram><br>
++        <storage>2147483648</storage><br>
++      </minimum><br>
++      <recommended><br>
++        <cpu>1000000000</cpu><br>
++        <ram>1073741824</ram><br>
++        <storage>4294967296</storage><br>
++      </recommended><br>
++    </resources><br>
++  </os><br>
++</libosinfo><br>
+```<br>
+- <a href="https://gitlab.com/libosinfo/libosinfo/commit/08b9785488925e2ee95def6c786c127319573c67" rel="noreferrer" target="_blank">https://gitlab.com/libosinfo/<wbr>libosinfo/commit/<wbr>08b9785488925e2ee95def6c786c12<wbr>7319573c67</a><br>
+```<br>
+Refs: v1.2.0-31-g08b9785<br>
+Author:     Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+AuthorDate: Fri Sep 7 11:21:18 2018 +0200<br>
+Commit:     Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+CommitDate: Tue Sep 11 22:17:31 2018 +0200<br>
+<br>
+    haiku: Add R1/Alpha1 isodata<br>
+<br>
+    <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1092627" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/<wbr>show_bug.cgi?id=1092627</a><br>
+<br>
+    Signed-off-by: Fabiano Fidêncio <<a href="mailto:fidencio@redhat.com">fidencio@redhat.com</a>><br>
+    Reviewed-by: Cole Robinson <<a href="mailto:crobinso@redhat.com">crobinso@redhat.com</a>><br>
+---<br>
+ tests/isodata/haiku/<wbr>haikur1alpha1/haiku-r1alpha1.<wbr>iso.txt | 29 +++++++++++++++++++++++++++++<br>
+ 1 file changed, 29 insertions(+)<br>
+<br>
+diff --git a/tests/isodata/haiku/<wbr>haikur1alpha1/haiku-r1alpha1.<wbr>iso.txt b/tests/isodata/haiku/<wbr>haikur1alpha1/haiku-r1alpha1.<wbr>iso.txt<br>
+new file mode 100644<br>
+index 0000000..805c497<br>
+--- /dev/null<br>
++++ b/tests/isodata/haiku/<wbr>haikur1alpha1/haiku-r1alpha1.<wbr>iso.txt<br>
+@@ -0,0 +1,29 @@<br>
++CD-ROM is in ISO 9660 format<br>
++System id: FreeBSD<br>
++Volume id: Haiku<br>
++Volume set id:<br>
++Publisher id:<br>
++Data preparer id:<br>
++Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING<br>
++Copyright File id:<br>
++Abstract File id:<br>
++Bibliographic File id:<br>
++Volume set size is: 1<br>
++Volume set sequence number is: 1<br>
++Logical block size is: 2048<br>
++Volume size is: 194485<br>
++El Torito VD version 1 found, boot catalog is in sector 1607<br>
++NO Joliet present<br>
++Rock Ridge signatures version 1 found<br>
++Eltorito validation header:<br>
++    Hid 1<br>
++    Arch 0 (x86)<br>
++    ID ''<br>
++    Key 55 AA<br>
++    Eltorito defaultboot header:<br>
++        Bootid 88 (bootable)<br>
++        Boot media 3 (2.88MB Floppy)<br>
++        Load segment 0<br>
++        Sys type 0<br>
++        Nsect 1<br>
++        Bootoff 648 1608<br>
+```<br>
+<br>
+## Ensure that your changes do **not** break the current tests<br>
+Before submitting a patch, please, do:<br>
+osinfo-db:<br>
+```<br>
+[fidencio@dahmer osinfo-db]$ make<br>
+  I18N      data/datamap/<a href="http://microsoft.com/win-7-l10n-language.xml" rel="noreferrer" target="_blank">microsoft.com/<wbr>win-7-l10n-language.xml</a><br>
+  I18N      data/datamap/<a href="http://microsoft.com/win-8-l10n-language-reverse.xml" rel="noreferrer" target="_blank">microsoft.com/<wbr>win-8-l10n-language-reverse.<wbr>xml</a><br>
+  I18N      data/datamap/<a href="http://microsoft.com/win-8-l10n-" rel="noreferrer" target="_blank">microsoft.com/<wbr>win-8-l10n-</a><br>
+  ...<br>
+[fidencio@dahmer osinfo-db]$ export OSINFO_SYSTEM_DIR=$PWD/data<br>
+```<br>
+<br>
+libosinfo:<br>
+```<br>
+[fidencio@dahmer libosinfo]$ make check LIBOSINFO_NETWORK_TESTS=1<br>
+<br>
+```<br>
<span class="gmail-HOEnZb"><font color="#888888">-- <br>
2.17.1<br>
<br>
</font></span></blockquote></div></div><div class="gmail_extra"><br></div><div class="gmail_extra">BTW, the rendered page can be seen here: <a href="https://gitlab.com/fidencio/osinfo-db/blob/wip/contribute/CONTRIBUTE.md">https://gitlab.com/fidencio/osinfo-db/blob/wip/contribute/CONTRIBUTE.md</a><br></div></div></div>