From dacdf8b6c7a8250aa763a471a2c6c8948ab3529e Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Sat, 29 Sep 2018 00:04:25 -0500 Subject: libosinfo: pick upstream patches to fix bug causing test failure --- ...ts-Expand-the-arch-s-parser-for-isodetect.patch | 40 ++++++++++++++++++++++ ...rce-anchored-patterns-when-matching-regex.patch | 34 ++++++++++++++++++ pkgs/development/libraries/libosinfo/default.nix | 2 ++ 3 files changed, 76 insertions(+) create mode 100644 pkgs/development/libraries/libosinfo/0001-tests-Expand-the-arch-s-parser-for-isodetect.patch create mode 100644 pkgs/development/libraries/libosinfo/0002-db-Force-anchored-patterns-when-matching-regex.patch (limited to 'pkgs/development/libraries/libosinfo') 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 0000000000000..7dcbb75df3964 --- /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?= +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 +Reviewed-by: Cole Robinson +--- + 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 0000000000000..b47c93f3d3900 --- /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?= +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 +Reviewed-by: Cole Robinson +--- + 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 d77a691ba4b7d..3a3dc6952a618 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 = '' -- cgit 1.4.1