From 566311457542d08f48507b0ab7bd68cb848594e9 Mon Sep 17 00:00:00 2001 From: Marek Blaha Date: Fri, 29 Nov 2019 09:47:29 +0100 Subject: [PATCH 1/2] Libmagic to follow symlinks (RhBug:1776399) If the input metadata file for modifyrepo_c was a symlink the program failed to detect compression type. This patch instructs libmagic to follow the symlinks when guessing the mime type. Let modules.yaml be a symlink: $ modifyrepo_c ./modules.yaml ./repodata Cannot open ./modules.yaml: Cannot detect compression type https://bugzilla.redhat.com/show_bug.cgi?id=1776399 --- src/compression_wrapper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compression_wrapper.c b/src/compression_wrapper.c index d04ab24..6fdb8ea 100644 --- a/src/compression_wrapper.c +++ b/src/compression_wrapper.c @@ -166,7 +166,7 @@ cr_detect_compression(const char *filename, GError **err) // No success? Let's get hardcore... (Use magic bytes) - magic_t myt = magic_open(MAGIC_MIME); + magic_t myt = magic_open(MAGIC_MIME | MAGIC_SYMLINK); if (myt == NULL) { g_set_error(err, ERR_DOMAIN, CRE_MAGIC, "magic_open() failed: Cannot allocate the magic cookie"); From b1b849c3bd63424760152981f96031ef578d752c Mon Sep 17 00:00:00 2001 From: Marek Blaha Date: Fri, 29 Nov 2019 10:53:25 +0100 Subject: [PATCH 2/2] Add shortcut to detect *.yaml files as not compressed --- src/compression_wrapper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compression_wrapper.c b/src/compression_wrapper.c index 6fdb8ea..56d1dc5 100644 --- a/src/compression_wrapper.c +++ b/src/compression_wrapper.c @@ -158,12 +158,12 @@ cr_detect_compression(const char *filename, GError **err) return CR_CW_ZCK_COMPRESSION; } else if (g_str_has_suffix(filename, ".xml") || g_str_has_suffix(filename, ".tar") || + g_str_has_suffix(filename, ".yaml") || g_str_has_suffix(filename, ".sqlite")) { return CR_CW_NO_COMPRESSION; } - // No success? Let's get hardcore... (Use magic bytes) magic_t myt = magic_open(MAGIC_MIME | MAGIC_SYMLINK);