summary refs log tree commit diff
path: root/pkgs/development/libraries/libosinfo
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2018-09-29 00:04:25 -0500
committerWill Dietz <w@wdtz.org>2018-09-29 00:04:25 -0500
commitdacdf8b6c7a8250aa763a471a2c6c8948ab3529e (patch)
tree8ca5a4b1f3a978d1d7f0d31facde6b3c471f0704 /pkgs/development/libraries/libosinfo
parent4bc001e41bdb8ee53e70d4676e140cc11675229c (diff)
downloadnixpkgs-dacdf8b6c7a8250aa763a471a2c6c8948ab3529e.tar
nixpkgs-dacdf8b6c7a8250aa763a471a2c6c8948ab3529e.tar.gz
nixpkgs-dacdf8b6c7a8250aa763a471a2c6c8948ab3529e.tar.bz2
nixpkgs-dacdf8b6c7a8250aa763a471a2c6c8948ab3529e.tar.lz
nixpkgs-dacdf8b6c7a8250aa763a471a2c6c8948ab3529e.tar.xz
nixpkgs-dacdf8b6c7a8250aa763a471a2c6c8948ab3529e.tar.zst
nixpkgs-dacdf8b6c7a8250aa763a471a2c6c8948ab3529e.zip
libosinfo: pick upstream patches to fix bug causing test failure
Diffstat (limited to 'pkgs/development/libraries/libosinfo')
-rw-r--r--pkgs/development/libraries/libosinfo/0001-tests-Expand-the-arch-s-parser-for-isodetect.patch40
-rw-r--r--pkgs/development/libraries/libosinfo/0002-db-Force-anchored-patterns-when-matching-regex.patch34
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix2
3 files changed, 76 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libosinfo/0001-tests-Expand-the-arch-s-parser-for-isodetect.patch b/pkgs/development/libraries/libosinfo/0001-tests-Expand-the-arch-s-parser-for-isodetect.patch
new file mode 100644
index 00000000000..7dcbb75df39
--- /dev/null
+++ b/pkgs/development/libraries/libosinfo/0001-tests-Expand-the-arch-s-parser-for-isodetect.patch
@@ -0,0 +1,40 @@
+From b9cb227842948b1b2289cdd3e9b8d925664c2ee7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
+Date: Fri, 7 Sep 2018 15:04:20 +0200
+Subject: [PATCH 1/2] tests: Expand the arch's parser for isodetect
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Some Windows ISOs isodata, as the ones added as part of commit 857f503,
+uses X64 and X86 and load_iso() didn't take those into consideration.
+
+Signed-off-by: Fabiano FidĂȘncio <fidencio@redhat.com>
+Reviewed-by: Cole Robinson <crobinso@redhat.com>
+---
+ tests/test-isodetect.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/test-isodetect.c b/tests/test-isodetect.c
+index 415770b..76f0c5a 100644
+--- a/tests/test-isodetect.c
++++ b/tests/test-isodetect.c
+@@ -106,6 +106,7 @@ static struct ISOInfo *load_iso(GFile *file, const gchar *shortid, const gchar *
+     info->langs = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
+     if (strstr(name, "amd64") ||
+              strstr(name, "x64") ||
++             strstr(name, "X64") ||
+              strstr(name, "x86_64") ||
+              strstr(name, "64bit") ||
+              strstr(name, "64-bit"))
+@@ -114,6 +115,7 @@ static struct ISOInfo *load_iso(GFile *file, const gchar *shortid, const gchar *
+              strstr(name, "i586") ||
+              strstr(name, "i686") ||
+              strstr(name, "x86") ||
++             strstr(name, "X86") ||
+              strstr(name, "32bit") ||
+              strstr(name, "32-bit"))
+         arch = "i386";
+-- 
+2.19.0
+
diff --git a/pkgs/development/libraries/libosinfo/0002-db-Force-anchored-patterns-when-matching-regex.patch b/pkgs/development/libraries/libosinfo/0002-db-Force-anchored-patterns-when-matching-regex.patch
new file mode 100644
index 00000000000..b47c93f3d39
--- /dev/null
+++ b/pkgs/development/libraries/libosinfo/0002-db-Force-anchored-patterns-when-matching-regex.patch
@@ -0,0 +1,34 @@
+From e6168463f4fc659b9827b5c8694dc1c6d7d5239a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
+Date: Fri, 7 Sep 2018 15:53:20 +0200
+Subject: [PATCH 2/2] db: Force anchored patterns when matching regex
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Without forcing anchored patterns some matches may be completely wrong
+as "(J_)?CENN?A_X64FREV" (volume-id for Windows 10) that could be taken
+as a match for "HRM_CENNA_X64FREV" (volume-id of a Windows 8 ISO).
+
+Signed-off-by: Fabiano FidĂȘncio <fidencio@redhat.com>
+Reviewed-by: Cole Robinson <crobinso@redhat.com>
+---
+ osinfo/osinfo_db.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/osinfo/osinfo_db.c b/osinfo/osinfo_db.c
+index fa14c6d..f4b3a8c 100644
+--- a/osinfo/osinfo_db.c
++++ b/osinfo/osinfo_db.c
+@@ -37,7 +37,7 @@ G_DEFINE_TYPE(OsinfoDb, osinfo_db, G_TYPE_OBJECT);
+ #define match_regex(pattern, str)                                       \
+     (((pattern) == NULL) ||                                             \
+      (((str) != NULL) &&                                                \
+-      g_regex_match_simple((pattern), (str), 0, 0)))
++      g_regex_match_simple((pattern), (str), 0, G_REGEX_MATCH_ANCHORED)))
+ 
+ static gchar *get_raw_lang(const char *volume_id, const gchar *regex_str)
+ {
+-- 
+2.19.0
+
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index d77a691ba4b..3a3dc6952a6 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./osinfo-db-data-dir.patch
+    ./0001-tests-Expand-the-arch-s-parser-for-isodetect.patch
+    ./0002-db-Force-anchored-patterns-when-matching-regex.patch
   ];
 
   postPatch = ''