diff --git a/helpers/DATA/osinfo-db/guix_1.3-e75ed5cd.patch b/helpers/DATA/osinfo-db/guix_1.3-e75ed5cd.patch
new file mode 100644
index 0000000000000000000000000000000000000000..a57e6dcb8088737d22103062f1f30341f042ab48
--- /dev/null
+++ b/helpers/DATA/osinfo-db/guix_1.3-e75ed5cd.patch
@@ -0,0 +1,150 @@
+From e75ed5cdfb18ba61366881589dabdcfa253fca78 Mon Sep 17 00:00:00 2001
+From: Mathieu Othacehe <othacehe@gnu.org>
+Date: Tue, 28 Sep 2021 16:45:52 +0000
+Subject: [PATCH] guix: Add 1.3 release.
+
+Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
+---
+ data/os/guix.gnu.org/guix-1.3.xml.in          | 48 +++++++++++++++++++
+ ...ix-system-install-1.3.0.i686-linux.iso.txt | 33 +++++++++++++
+ ...-system-install-1.3.0.x86_64-linux.iso.txt | 33 +++++++++++++
+ 3 files changed, 114 insertions(+)
+ create mode 100644 data/os/guix.gnu.org/guix-1.3.xml.in
+ create mode 100644 tests/isodata/guix/guix-1.3/guix-system-install-1.3.0.i686-linux.iso.txt
+ create mode 100644 tests/isodata/guix/guix-1.3/guix-system-install-1.3.0.x86_64-linux.iso.txt
+
+diff --git a/data/os/guix.gnu.org/guix-1.3.xml.in b/data/os/guix.gnu.org/guix-1.3.xml.in
+new file mode 100644
+index 00000000..c1e53850
+--- /dev/null
++++ b/data/os/guix.gnu.org/guix-1.3.xml.in
+@@ -0,0 +1,48 @@
++<libosinfo version="0.0.1">
++<!-- Licensed under the GNU General Public License version 2 or later.
++     See http://www.gnu.org/licenses/ for a copy of the license text -->
++  <os id="http://guix.gnu.org/guix/1.3">
++    <short-id>guix-1.3</short-id>
++    <name>Guix 1.3</name>
++    <version>1.3</version>
++    <vendor>Guix Contributors</vendor>
++    <family>linux</family>
++    <distro>guix</distro>
++    <upgrades id="http://guix.gnu.org/guix/1.1"/>
++    <derives-from id="http://guix.gnu.org/guix/1.1"/>
++
++    <release-date>2021-05-11</release-date>
++
++    <media arch="i686">
++      <url>https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.i686-linux.iso</url>
++      <iso>
++        <volume-id>GUIX_I686-LINUX_1.3.0</volume-id>
++        <volume-size>636252160</volume-size>
++      </iso>
++      <kernel>gnu/store/506a8398hzkdqcm6y7r45fm0dvpaagks-linux-libre-5.4.31/bzImage</kernel>
++      <initrd>gnu/store/f1gga79nhl5if3rmm9n793c6jmdkb0j9-raw-initrd/initrd.cpio.gz</initrd>
++    </media>
++    <media arch="x86_64">
++      <url>https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso</url>
++      <iso>
++        <volume-id>GUIX_X86_64-LINUX_1.3.0</volume-id>
++        <volume-size>638605312</volume-size>
++      </iso>
++      <kernel>gnu/store/g56i8savnfr7981fil03idkjl0syj29d-linux-libre-5.4.31/bzImage</kernel>
++      <initrd>gnu/store/33mpn6f0hy4m73m4isd5lg83qxwclld8-raw-initrd/initrd.cpio.gz</initrd>
++    </media>
++
++
++    <resources arch="all">
++      <minimum>
++        <ram>536870912</ram>
++        <storage>4294967296</storage>
++      </minimum>
++
++      <recommended>
++        <ram>2147483648</ram>
++        <storage>21474836480</storage>
++      </recommended>
++    </resources>
++  </os>
++</libosinfo>
+diff --git a/tests/isodata/guix/guix-1.3/guix-system-install-1.3.0.i686-linux.iso.txt b/tests/isodata/guix/guix-1.3/guix-system-install-1.3.0.i686-linux.iso.txt
+new file mode 100644
+index 00000000..1a5c24cd
+--- /dev/null
++++ b/tests/isodata/guix/guix-1.3/guix-system-install-1.3.0.i686-linux.iso.txt
+@@ -0,0 +1,33 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: GUIX_I686-LINUX_1.3.0
++Volume set id: 
++Publisher id: 
++Data preparer id: XORRISO-1.5.2 2019.10.26.180001, LIBISOBURN-1.5.2, LIBISOFS-1.5.2, LIBBURN-1.5.2
++Application id: 
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 310670
++El Torito VD version 1 found, boot catalog is in sector 49266
++NO Joliet present
++
++SUSP signatures version 1 found
++Rock Ridge signatures version 1 found
++Rock Ridge id 'RRIP_1991A'
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Cksum AA 55 OK
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff C9C9 51657
+diff --git a/tests/isodata/guix/guix-1.3/guix-system-install-1.3.0.x86_64-linux.iso.txt b/tests/isodata/guix/guix-1.3/guix-system-install-1.3.0.x86_64-linux.iso.txt
+new file mode 100644
+index 00000000..f65ca7f3
+--- /dev/null
++++ b/tests/isodata/guix/guix-1.3/guix-system-install-1.3.0.x86_64-linux.iso.txt
+@@ -0,0 +1,33 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: GUIX_X86_64-LINUX_1.3.0
++Volume set id: 
++Publisher id: 
++Data preparer id: XORRISO-1.5.2 2019.10.26.180001, LIBISOBURN-1.5.2, LIBISOFS-1.5.2, LIBBURN-1.5.2
++Application id: 
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 311819
++El Torito VD version 1 found, boot catalog is in sector 49075
++NO Joliet present
++
++SUSP signatures version 1 found
++Rock Ridge signatures version 1 found
++Rock Ridge id 'RRIP_1991A'
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Cksum AA 55 OK
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff C4F4 50420
+-- 
+GitLab
+
diff --git a/helpers/DATA/osinfo-db/guix_base-9bb849fe.patch b/helpers/DATA/osinfo-db/guix_base-9bb849fe.patch
new file mode 100644
index 0000000000000000000000000000000000000000..130dd2fc6ff6b49321cd44957c1484bce4729da0
--- /dev/null
+++ b/helpers/DATA/osinfo-db/guix_base-9bb849fe.patch
@@ -0,0 +1,148 @@
+From 9bb849fee4fd22d58a1e3d154c26272e1f642605 Mon Sep 17 00:00:00 2001
+From: Julien Lepiller <julien@lepiller.eu>
+Date: Sat, 29 Aug 2020 00:53:56 +0200
+Subject: [PATCH] guix: add distro
+
+Signed-off-by: Julien Lepiller <julien@lepiller.eu>
+---
+ data/os/guix.gnu.org/guix-1.1.xml.in          | 46 +++++++++++++++++++
+ ...ix-system-install-1.1.0.i686-linux.iso.txt | 33 +++++++++++++
+ ...-system-install-1.1.0.x86_64-linux.iso.txt | 33 +++++++++++++
+ 3 files changed, 112 insertions(+)
+ create mode 100644 data/os/guix.gnu.org/guix-1.1.xml.in
+ create mode 100644 tests/isodata/guix/guix-1.1/guix-system-install-1.1.0.i686-linux.iso.txt
+ create mode 100644 tests/isodata/guix/guix-1.1/guix-system-install-1.1.0.x86_64-linux.iso.txt
+
+diff --git a/data/os/guix.gnu.org/guix-1.1.xml.in b/data/os/guix.gnu.org/guix-1.1.xml.in
+new file mode 100644
+index 00000000..5533687e
+--- /dev/null
++++ b/data/os/guix.gnu.org/guix-1.1.xml.in
+@@ -0,0 +1,46 @@
++<libosinfo version="0.0.1">
++<!-- Licensed under the GNU General Public License version 2 or later.
++     See http://www.gnu.org/licenses/ for a copy of the license text -->
++  <os id="http://guix.gnu.org/guix/1.1">
++    <short-id>guix-1.1</short-id>
++    <name>Guix 1.1</name>
++    <version>1.1</version>
++    <vendor>Guix Contributors</vendor>
++    <family>linux</family>
++    <distro>guix</distro>
++
++    <release-date>2020-04-15</release-date>
++
++    <media arch="i686">
++      <!--<url>https://ftp.gnu.org/gnu/guix/guix-system-install-1.1.0.i686-linux.iso.xz</url>-->
++      <iso>
++        <volume-id>GUIX_IMAGE</volume-id>
++        <volume-size>584865792</volume-size>
++      </iso>
++      <kernel>gnu/store/506a8398hzkdqcm6y7r45fm0dvpaagks-linux-libre-5.4.31/bzImage</kernel>
++      <initrd>gnu/store/f1gga79nhl5if3rmm9n793c6jmdkb0j9-raw-initrd/initrd.cpio.gz</initrd>
++    </media>
++    <media arch="x86_64">
++      <!--<url>https://ftp.gnu.org/gnu/guix/guix-system-install-1.1.0.x86_64-linux.iso.xz</url>-->
++      <iso>
++        <volume-id>GUIX_IMAGE</volume-id>
++        <volume-size>586209280</volume-size>
++      </iso>
++      <kernel>gnu/store/g56i8savnfr7981fil03idkjl0syj29d-linux-libre-5.4.31/bzImage</kernel>
++      <initrd>gnu/store/33mpn6f0hy4m73m4isd5lg83qxwclld8-raw-initrd/initrd.cpio.gz</initrd>
++    </media>
++
++
++    <resources arch="all">
++      <minimum>
++        <ram>536870912</ram>
++        <storage>4294967296</storage>
++      </minimum>
++
++      <recommended>
++        <ram>2147483648</ram>
++        <storage>21474836480</storage>
++      </recommended>
++    </resources>
++  </os>
++</libosinfo>
+diff --git a/tests/isodata/guix/guix-1.1/guix-system-install-1.1.0.i686-linux.iso.txt b/tests/isodata/guix/guix-1.1/guix-system-install-1.1.0.i686-linux.iso.txt
+new file mode 100644
+index 00000000..2bda2615
+--- /dev/null
++++ b/tests/isodata/guix/guix-1.1/guix-system-install-1.1.0.i686-linux.iso.txt
+@@ -0,0 +1,33 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: GUIX_IMAGE
++Volume set id: 
++Publisher id: 
++Data preparer id: XORRISO-1.5.2 2019.10.26.180001, LIBISOBURN-1.5.2, LIBISOFS-1.5.2, LIBBURN-1.5.2
++Application id: 
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 285579
++El Torito VD version 1 found, boot catalog is in sector 49266
++NO Joliet present
++
++SUSP signatures version 1 found
++Rock Ridge signatures version 1 found
++Rock Ridge id 'RRIP_1991A'
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Cksum AA 55 OK
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff C9C9 51657
+diff --git a/tests/isodata/guix/guix-1.1/guix-system-install-1.1.0.x86_64-linux.iso.txt b/tests/isodata/guix/guix-1.1/guix-system-install-1.1.0.x86_64-linux.iso.txt
+new file mode 100644
+index 00000000..840368b3
+--- /dev/null
++++ b/tests/isodata/guix/guix-1.1/guix-system-install-1.1.0.x86_64-linux.iso.txt
+@@ -0,0 +1,33 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: GUIX_IMAGE
++Volume set id: 
++Publisher id: 
++Data preparer id: XORRISO-1.5.2 2019.10.26.180001, LIBISOBURN-1.5.2, LIBISOFS-1.5.2, LIBBURN-1.5.2
++Application id: 
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 286235
++El Torito VD version 1 found, boot catalog is in sector 49075
++NO Joliet present
++
++SUSP signatures version 1 found
++Rock Ridge signatures version 1 found
++Rock Ridge id 'RRIP_1991A'
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Cksum AA 55 OK
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff C4F4 50420
+-- 
+GitLab
+
diff --git a/helpers/DATA/osinfo-db/hyperbola_03-a77800ad.patch b/helpers/DATA/osinfo-db/hyperbola_03-a77800ad.patch
new file mode 100644
index 0000000000000000000000000000000000000000..81d465c7729590700cf4006baf73c7780238d111
--- /dev/null
+++ b/helpers/DATA/osinfo-db/hyperbola_03-a77800ad.patch
@@ -0,0 +1,160 @@
+From a77800ad268fef69928a93e0e5083bab22fd6155 Mon Sep 17 00:00:00 2001
+From: Mercy Corder <myrcy@posteo.net>
+Date: Sun, 12 Dec 2021 21:48:08 +0000
+Subject: [PATCH] add Hyperbola
+
+---
+ data/os/hyperbola.info/hyperbola-03.xml.in    | 65 +++++++++++++++++++
+ .../hyperbola-milky-way-v0.3.1-dual.iso.txt   | 30 +++++++++
+ ...hypertalking-milky-way-v0.3.1-dual.iso.txt | 30 +++++++++
+ 3 files changed, 125 insertions(+)
+ create mode 100644 data/os/hyperbola.info/hyperbola-03.xml.in
+ create mode 100644 tests/isodata/hyperbola/hyperbola-milky-way-v0.3.1-dual.iso.txt
+ create mode 100644 tests/isodata/hyperbola/hypertalking-milky-way-v0.3.1-dual.iso.txt
+
+diff --git a/data/os/hyperbola.info/hyperbola-03.xml.in b/data/os/hyperbola.info/hyperbola-03.xml.in
+new file mode 100644
+index 00000000..893cda51
+--- /dev/null
++++ b/data/os/hyperbola.info/hyperbola-03.xml.in
+@@ -0,0 +1,65 @@
++<?xml version="1.0"?>
++<libosinfo version="0.0.1">
++  <!-- Licensed under the GNU General Public License version 2 or later.
++     See http://www.gnu.org/licenses/ for a copy of the license text -->
++  <os id="http://hyperbola.info/hyperbola/03">
++    <short-id>hyperbola03</short-id>
++    <name>Hyperbola</name>
++    <version>03</version>
++    <vendor>Hyperbola Project</vendor>
++    <family>linux</family>
++    <distro>hyperbola</distro>
++    <release-date>2019-09-23</release-date>
++
++    <variant id="hyperbola">
++      <name>Hypebola 03</name>
++    </variant>
++    <variant id="talking">
++      <name>Hypetalking 03</name>
++    </variant>
++
++    <!-- x86_64 -->
++    <media arch="x86_64" live="true" installer-script="false">
++      <variant id="hyperbola"/>
++      <url>https://repo.hyperbola.info:50000/other/live_images/gnu-plus-linux-libre/hyperbola-milky-way-v0.3.1/hyperbola-milky-way-v0.3.1-dual.iso</url>
++      <iso>
++        <volume-id>HYPER_v031.*</volume-id>
++        <volume-size>691011584</volume-size>
++      </iso>
++      <kernel>hyperbola/boot/x86_64/vmlinuz</kernel>
++      <initrd>hyperbola/boot/x86_64/hyperiso.img</initrd>
++    </media>
++    <media arch="x86_64" live="true" installer-script="false">
++      <variant id="talking"/>
++      <url>https://repo.hyperbola.info:50000/other/live_images/gnu-plus-linux-libre/hypertalking-milky-way-v0.3.1/hypertalking-milky-way-v0.3.1-dual.iso</url>
++      <iso>
++        <volume-id>HYPER_v031.*</volume-id>
++        <volume-size>721420288</volume-size>
++      </iso>
++      <kernel>hyperbola/boot/x86_64/vmlinuz</kernel>
++      <initrd>hyperbola/boot/x86_64/hyperiso.img</initrd>
++    </media>
++
++    <resources arch="all">
++      <minimum>
++        <n-cpus>1</n-cpus>
++        <cpu>1000000000</cpu>
++        <ram>53687091</ram>
++        <storage>1000000000</storage>
++      </minimum>
++      <recommended>
++        <n-cpus>1</n-cpus>
++        <cpu>1000000000</cpu>
++        <ram>67108864</ram>
++        <storage>16106127360</storage>
++      </recommended>
++    </resources>
++
++    <devices>
++      <device id="http://usb.org/usb/80ee/0021"/> <!-- tablet -->
++      <device id="http://pcisig.com/pci/1af4/1000"/> <!-- virtio-net -->
++      <device id="http://pcisig.com/pci/1af4/1001"/> <!-- virtio-block -->
++    </devices>
++
++  </os>
++</libosinfo>
+diff --git a/tests/isodata/hyperbola/hyperbola-milky-way-v0.3.1-dual.iso.txt b/tests/isodata/hyperbola/hyperbola-milky-way-v0.3.1-dual.iso.txt
+new file mode 100644
+index 00000000..e584f713
+--- /dev/null
++++ b/tests/isodata/hyperbola/hyperbola-milky-way-v0.3.1-dual.iso.txt
+@@ -0,0 +1,30 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: HYPER_v031
++Volume set id: 
++Publisher id: HYPERBOLA GNU/LINUX-LIBRE <HTTPS://WWW.HYPERBOLA.INFO>
++Data preparer id: PREPARED BY MKHYPERISO
++Application id: HYPERBOLA GNU/LINUX-LIBRE LIVE/RESCUE CD
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 337408
++El Torito VD version 1 found, boot catalog is in sector 41
++NO Joliet present
++Rock Ridge signatures version 1 found
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff 4C2A 19498
++
+diff --git a/tests/isodata/hyperbola/hypertalking-milky-way-v0.3.1-dual.iso.txt b/tests/isodata/hyperbola/hypertalking-milky-way-v0.3.1-dual.iso.txt
+new file mode 100644
+index 00000000..f7598bd5
+--- /dev/null
++++ b/tests/isodata/hyperbola/hypertalking-milky-way-v0.3.1-dual.iso.txt
+@@ -0,0 +1,30 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: HYPER_v031
++Volume set id: 
++Publisher id: HYPERBOLA GNU/LINUX-LIBRE <HTTPS://WWW.HYPERBOLA.INFO>
++Data preparer id: PREPARED BY MKHYPERISO
++Application id: HYPERBOLA GNU/LINUX-LIBRE LIVE/RESCUE CD
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 352256
++El Torito VD version 1 found, boot catalog is in sector 41
++NO Joliet present
++Rock Ridge signatures version 1 found
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff 4C2A 19498
++
+-- 
+GitLab
+
diff --git a/helpers/DATA/osinfo-db/pure-os_8-3570a396.patch b/helpers/DATA/osinfo-db/pure-os_8-3570a396.patch
new file mode 100644
index 0000000000000000000000000000000000000000..18b28df5b6949287c28a07c0fecffd3bfa328d2d
--- /dev/null
+++ b/helpers/DATA/osinfo-db/pure-os_8-3570a396.patch
@@ -0,0 +1,58 @@
+From 3570a3965b6ebce5b59b8b2e96f0730f4c3e1340 Mon Sep 17 00:00:00 2001
+From: Chris Lamb <chris.lamb@puri.sm>
+Date: Mon, 11 Feb 2019 23:24:40 +0100
+Subject: [PATCH] pureos: Add generic PureOS entry.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Chris Lamb <lamby@debian.org>
+Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
+---
+ data/os/pureos.net/pureos-8.xml.in | 34 ++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+ create mode 100644 data/os/pureos.net/pureos-8.xml.in
+
+diff --git a/data/os/pureos.net/pureos-8.xml.in b/data/os/pureos.net/pureos-8.xml.in
+new file mode 100644
+index 00000000..13c5ba6b
+--- /dev/null
++++ b/data/os/pureos.net/pureos-8.xml.in
+@@ -0,0 +1,34 @@
++<libosinfo version="0.0.1">
++<!-- Licensed under the GNU General Public License version 2 or later.
++     See http://www.gnu.org/licenses/ for a copy of the license text -->
++  <os id="http://pureos.net/pureos/8">
++    <short-id>pureos8</short-id>
++    <name>PureOS</name>
++    <version>8</version>
++    <vendor>Purism, SPC</vendor>
++    <family>linux</family>
++    <distro>pureos</distro>
++
++    <resources arch="all">
++      <minimum>
++        <cpu>1000000000</cpu>
++        <n-cpus>1</n-cpus>
++        <ram>1073741824</ram>
++        <storage>5368709120</storage>
++      </minimum>
++      <recommended>
++        <cpu>1000000000</cpu>
++        <ram>1073741824</ram>
++        <storage>16106127360</storage>
++      </recommended>
++    </resources>
++
++    <media arch="x86_64" live="true">
++      <iso>
++        <volume-id>PureOS 8.0 GNOME Live</volume-id>
++      </iso>
++      <kernel>casper/vmlinuz</kernel>
++      <initrd>casper/initrd.img</initrd>
++    </media>
++  </os>
++</libosinfo>
+-- 
+GitLab
+
diff --git a/helpers/DATA/osinfo-db/trisquel9-e43f4830.patch b/helpers/DATA/osinfo-db/trisquel9-e43f4830.patch
new file mode 100644
index 0000000000000000000000000000000000000000..8705b826bfebe8c63f33be94036e47cc0a37bb56
--- /dev/null
+++ b/helpers/DATA/osinfo-db/trisquel9-e43f4830.patch
@@ -0,0 +1,245 @@
+From e43f4830933fa4f88ab6f6017be566bea559305d Mon Sep 17 00:00:00 2001
+From: Mercy <myrcy@posteo.net>
+Date: Fri, 10 Dec 2021 23:35:10 -0700
+Subject: [PATCH] Trisquel: Add Trisquel 9 Etiona Trisquel GNU/Linux is a free
+ OS for home users, small businesses, and education
+
+Signed-off-by: Mercy <myrcy@posteo.net>
+---
+ data/os/trisquel.info/trisquel-9.xml.in       | 76 +++++++++++++++++++
+ .../trisquel9/triskel_9.0.1_amd64.iso.txt     | 29 +++++++
+ .../trisquel-mini_9.0.1_amd64.iso.txt         | 29 +++++++
+ .../trisquel-sugar_9.0.1_amd64.iso.txt        | 29 +++++++
+ .../trisquel9/trisquel_9.0.1_amd64.iso.txt    | 29 +++++++
+ 5 files changed, 192 insertions(+)
+ create mode 100644 data/os/trisquel.info/trisquel-9.xml.in
+ create mode 100644 tests/isodata/trisquel/trisquel9/triskel_9.0.1_amd64.iso.txt
+ create mode 100644 tests/isodata/trisquel/trisquel9/trisquel-mini_9.0.1_amd64.iso.txt
+ create mode 100644 tests/isodata/trisquel/trisquel9/trisquel-sugar_9.0.1_amd64.iso.txt
+ create mode 100644 tests/isodata/trisquel/trisquel9/trisquel_9.0.1_amd64.iso.txt
+
+diff --git a/data/os/trisquel.info/trisquel-9.xml.in b/data/os/trisquel.info/trisquel-9.xml.in
+new file mode 100644
+index 00000000..2d3f5352
+--- /dev/null
++++ b/data/os/trisquel.info/trisquel-9.xml.in
+@@ -0,0 +1,76 @@
++<?xml version="1.0"?>
++<libosinfo version="0.0.1">
++  <!-- Licensed under the GNU General Public License version 2 or later.
++     See http://www.gnu.org/licenses/ for a copy of the license text -->
++  <os id="http://trisquel.info/trisquel/9">
++    <short-id>trisquel9</short-id>
++    <name>Trisquel</name>
++    <version>9</version>
++    <vendor>The Trisquel Project</vendor>
++    <family>linux</family>
++    <distro>trisquel</distro>
++    <release-date>2021-10-16</release-date>
++    <derives-from id="http://ubuntu.com/ubuntu/18.04"/>
++
++    <variant id="trisquel">
++      <name>Trisquel 9</name>
++    </variant>
++    <variant id="triskel">
++      <name>Triskel 9</name>
++    </variant>
++    <variant id="mini">
++      <name>Trisquel 9 Mini</name>
++    </variant>
++    <variant id="sugar-toast">
++      <name>Trisquel 9 Sugar Toast</name>
++    </variant>
++
++    <!-- x86_64 -->
++    <media arch="x86_64" live="true" installer-script="false">
++      <variant id="trisquel"/>
++      <url>https://cdimage.trisquel.info/trisquel-images/trisquel_9.0.1_amd64.iso</url>
++      <iso>
++        <volume-id>trisquel 9.0.1 amd64.*</volume-id>
++      </iso>
++      <kernel>casper/vmlinuz</kernel>
++      <initrd>casper/initrd</initrd>
++    </media>
++    <media arch="x86_64" live="true" installer-script="false">
++      <variant id="mini"/>
++      <url>https://cdimage.trisquel.info/trisquel-images/trisquel-mini_9.0.1_amd64.iso</url>
++      <iso>
++        <volume-id>trisquel-mini 9.0.1 amd64.*</volume-id>
++      </iso>
++      <kernel>casper/vmlinuz</kernel>
++      <initrd>casper/initrd</initrd>
++    </media>
++    <media arch="x86_64" live="true" installer-script="false">
++      <variant id="sugar-toast"/>
++      <url>https://cdimage.trisquel.info/trisquel-images/trisquel-sugar_9.0.1_amd64.iso</url>
++      <iso>
++        <volume-id>trisquel-sugar 9.0.1 amd64.*</volume-id>
++      </iso>
++      <kernel>casper/vmlinuz</kernel>
++      <initrd>casper/initrd</initrd>
++    </media>
++    <media arch="x86_64" live="true" installer-script="false">
++      <variant id="triskel"/>
++      <url>https://cdimage.trisquel.info/trisquel-images/triskel_9.0.1_amd64.iso</url>
++      <iso>
++        <volume-id>triskel 9.0.1 amd64.*</volume-id>
++      </iso>
++      <kernel>casper/vmlinuz</kernel>
++      <initrd>casper/initrd</initrd>
++    </media>
++
++
++    <resources arch="all">
++      <recommended>
++        <cpu>1000000000</cpu>
++        <ram>1073741824</ram>
++        <storage>16106127360</storage>
++      </recommended>
++    </resources>
++
++  </os>
++</libosinfo>
+diff --git a/tests/isodata/trisquel/trisquel9/triskel_9.0.1_amd64.iso.txt b/tests/isodata/trisquel/trisquel9/triskel_9.0.1_amd64.iso.txt
+new file mode 100644
+index 00000000..b220fd50
+--- /dev/null
++++ b/tests/isodata/trisquel/trisquel9/triskel_9.0.1_amd64.iso.txt
+@@ -0,0 +1,29 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: triskel 9.0.1 amd64
++Volume set id: 
++Publisher id: 
++Data preparer id: XORRISO-1.4.8 2017.09.12.143001, LIBISOBURN-1.4.8, LIBISOFS-1.4.8, LIBBURN-1.4.8
++Application id: TRISKEL 9.0.1 AMD64
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 1032192
++El Torito VD version 1 found, boot catalog is in sector 79
++Joliet with UCS level 3 found
++Rock Ridge signatures version 1 found
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff 250 592
+diff --git a/tests/isodata/trisquel/trisquel9/trisquel-mini_9.0.1_amd64.iso.txt b/tests/isodata/trisquel/trisquel9/trisquel-mini_9.0.1_amd64.iso.txt
+new file mode 100644
+index 00000000..747f1be5
+--- /dev/null
++++ b/tests/isodata/trisquel/trisquel9/trisquel-mini_9.0.1_amd64.iso.txt
+@@ -0,0 +1,29 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: trisquel-mini 9.0.1 amd64
++Volume set id: 
++Publisher id: 
++Data preparer id: XORRISO-1.4.8 2017.09.12.143001, LIBISOBURN-1.4.8, LIBISOFS-1.4.8, LIBBURN-1.4.8
++Application id: TRISQUEL-MINI 9.0.1 AMD64
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 625856
++El Torito VD version 1 found, boot catalog is in sector 79
++Joliet with UCS level 3 found
++Rock Ridge signatures version 1 found
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff 250 592
+diff --git a/tests/isodata/trisquel/trisquel9/trisquel-sugar_9.0.1_amd64.iso.txt b/tests/isodata/trisquel/trisquel9/trisquel-sugar_9.0.1_amd64.iso.txt
+new file mode 100644
+index 00000000..2b45e3e5
+--- /dev/null
++++ b/tests/isodata/trisquel/trisquel9/trisquel-sugar_9.0.1_amd64.iso.txt
+@@ -0,0 +1,29 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: trisquel-sugar 9.0.1 amd64
++Volume set id: 
++Publisher id: 
++Data preparer id: XORRISO-1.4.8 2017.09.12.143001, LIBISOBURN-1.4.8, LIBISOFS-1.4.8, LIBBURN-1.4.8
++Application id: TRISQUEL-SUGAR 9.0.1 AMD64
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 582336
++El Torito VD version 1 found, boot catalog is in sector 79
++Joliet with UCS level 3 found
++Rock Ridge signatures version 1 found
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff 250 592
+diff --git a/tests/isodata/trisquel/trisquel9/trisquel_9.0.1_amd64.iso.txt b/tests/isodata/trisquel/trisquel9/trisquel_9.0.1_amd64.iso.txt
+new file mode 100644
+index 00000000..6bfcb7dd
+--- /dev/null
++++ b/tests/isodata/trisquel/trisquel9/trisquel_9.0.1_amd64.iso.txt
+@@ -0,0 +1,29 @@
++CD-ROM is in ISO 9660 format
++System id: 
++Volume id: trisquel 9.0.1 amd64
++Volume set id: 
++Publisher id: 
++Data preparer id: XORRISO-1.4.8 2017.09.12.143001, LIBISOBURN-1.4.8, LIBISOFS-1.4.8, LIBBURN-1.4.8
++Application id: TRISQUEL 9.0.1 AMD64
++Copyright File id: 
++Abstract File id: 
++Bibliographic File id: 
++Volume set size is: 1
++Volume set sequence number is: 1
++Logical block size is: 2048
++Volume size is: 1340864
++El Torito VD version 1 found, boot catalog is in sector 79
++Joliet with UCS level 3 found
++Rock Ridge signatures version 1 found
++Eltorito validation header:
++    Hid 1
++    Arch 0 (x86)
++    ID ''
++    Key 55 AA
++    Eltorito defaultboot header:
++        Bootid 88 (bootable)
++        Boot media 0 (No Emulation Boot)
++        Load segment 0
++        Sys type 0
++        Nsect 4
++        Bootoff 250 592
+-- 
+GitLab
+
diff --git a/helpers/make-osinfo-db b/helpers/make-osinfo-db
new file mode 100644
index 0000000000000000000000000000000000000000..70fdc3445b28e81dd77cca32233d9978393735df
--- /dev/null
+++ b/helpers/make-osinfo-db
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+#    Copyright (C) 2022 Trisquel GNU/Linux developers
+#                       <trisquel-devel@listas.trisquel.info>
+#
+#    This program is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program; if not, write to the Free Software
+#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+#
+
+VERSION=0
+
+. ./config
+
+#Apply patches fow new fully free distros availbale at libosinfo as Jan-2022
+# trisquel.info
+patch -p1 < $DATA/trisquel9-e43f4830.patch
+# guix.gnu.org
+patch -p1 < $DATA/guix_base-9bb849fe.patch
+patch -p1 < $DATA/guix_1.3-e75ed5cd.patch
+# hyperbola.info
+patch -p1 < $DATA/hyperbola_03-a77800ad.patch
+# pureos.net
+rm -r data/os/pureos.net
+patch -p1 < $DATA/pure-os_8-3570a396.patch
+
+
+changelog "Apply patches fow new fully free distros availbale at libosinfo (Jan-2022)."
+
+compile