import createrepo_c-0.17.7-5.el8

This commit is contained in:
CentOS Sources 2022-05-10 03:05:30 -04:00 committed by Stepan Oksanichenko
parent 12a0fb39d1
commit 5264d3031c
7 changed files with 2782 additions and 41 deletions

View File

@ -1 +1 @@
9feb9bf8e6a9812a08ef8156c3ccc1c4dac90b7a SOURCES/createrepo_c-0.17.2.tar.gz
5f3e45a79255654c7315c8667197fd562fd2ff5c SOURCES/createrepo_c-0.17.7.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/createrepo_c-0.17.2.tar.gz
SOURCES/createrepo_c-0.17.7.tar.gz

View File

@ -1,25 +0,0 @@
From 1ec1e767e4a48bc2c1d09b52da9e749352f8d925 Mon Sep 17 00:00:00 2001
From: Jaroslav Rohel <jrohel@redhat.com>
Date: Thu, 6 May 2021 19:09:19 +0200
Subject: [PATCH] Fix: cr_compress_file_with_stat: Memory leak
---
src/misc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/misc.c b/src/misc.c
index e5350ac..59c04e6 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -503,6 +503,8 @@ cr_compress_file_with_stat(const char *src,
if (!orig) {
ret = tmp_err->code;
g_propagate_prefixed_error(err, tmp_err, "Cannot open %s: ", src);
+ if (dst != in_dst)
+ g_free(dst);
return ret;
}
--
libgit2 1.0.1

View File

@ -1,4 +1,4 @@
From a611bb0c3729713af28031cdf1d056823d663db1 Mon Sep 17 00:00:00 2001
From 6bcfaac228236ac3c609d014cbd23c3bd645bf18 Mon Sep 17 00:00:00 2001
From: Aleš Matěj <amatej@redhat.com>
Date: Thu, 9 Sep 2021 08:31:03 +0200
Subject: [PATCH] Preserve changed API for cr_compress_file_with_stat (RhBug:1973588)
@ -9,17 +9,20 @@ behavior.
Keep the fixed version as cr_compress_file_with_stat_v2 only for rhel8
https://bugzilla.redhat.com/show_bug.cgi?id=1973588
With fixed memory leak of `tmp_err`, reported here:
https://bugzilla.redhat.com/show_bug.cgi?id=2005781
---
src/misc.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
src/misc.c | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
src/misc.h | 42 ++++++++++++++++++++++++++++++++++++++++--
src/modifyrepo_shared.c | 4 ++--
src/python/misc-py.c | 2 +-
src/threads.c | 14 +++++++-------
tests/test_misc.c | 34 +++++++++++++++++-----------------
6 files changed, 204 insertions(+), 30 deletions(-)
6 files changed, 205 insertions(+), 30 deletions(-)
diff --git a/src/misc.c b/src/misc.c
index 59c04e6..b3a218c 100644
index 4bd9f4c..c4b2cb3 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -446,7 +446,7 @@ cr_copy_file(const char *src, const char *in_dst, GError **err)
@ -31,7 +34,7 @@ index 59c04e6..b3a218c 100644
cr_CompressionType compression,
cr_ContentStat *stat,
const char *zck_dict_dir,
@@ -458,6 +458,142 @@ cr_compress_file_with_stat(const char *src,
@@ -458,6 +458,143 @@ cr_compress_file_with_stat(const char *src,
char buf[BUFFER_SIZE];
CR_FILE *orig = NULL;
CR_FILE *new = NULL;
@ -113,6 +116,7 @@ index 59c04e6..b3a218c 100644
+ g_set_error(err, ERR_DOMAIN, CRE_IO,
+ "Error reading zchunk dict %s: %s",
+ dict_file, tmp_err->message);
+ g_clear_error(&tmp_err);
+ ret = CRE_IO;
+ goto compress_file_cleanup;
+ }
@ -271,10 +275,10 @@ index 6a7871e..cc28448 100644
nice_exception(&tmp_err, NULL);
return NULL;
diff --git a/src/threads.c b/src/threads.c
index 9ef839d..91b5430 100644
index f0c3f93..b529d55 100644
--- a/src/threads.c
+++ b/src/threads.c
@@ -100,13 +100,13 @@ cr_compressing_thread(gpointer data, G_GNUC_UNUSED gpointer user_data)
@@ -101,13 +101,13 @@ cr_compressing_thread(gpointer data, G_GNUC_UNUSED gpointer user_data)
cr_compression_suffix(task->type),
NULL);
@ -376,5 +380,5 @@ index 6614809..1acccb7 100644
g_assert_cmpint(ret, ==, CRE_OK);
g_assert(g_file_test(dst_full_name, G_FILE_TEST_EXISTS));
--
libgit2 1.0.1
libgit2 1.1.0

View File

@ -0,0 +1,94 @@
From b5f425fec738c1de344f4f917d3614e9efb98e2b Mon Sep 17 00:00:00 2001
From: Aleš Matěj <amatej@redhat.com>
Date: Thu, 23 Sep 2021 08:30:47 +0200
Subject: [PATCH] Default --keep-all-metadata to TRUE and add --discard-additional-metadata
= changelog =
msg: Switch default of --keep-all-metadata to TRUE and add --discard-additional-metadata
type: enhancement
resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1992209
---
doc/createrepo_c.8 | 7 +++++--
src/cmd_parser.c | 15 ++++++++++++---
src/cmd_parser.h | 1 +
3 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/doc/createrepo_c.8 b/doc/createrepo_c.8
index c9017c5..1a3e101 100644
--- a/doc/createrepo_c.8
+++ b/doc/createrepo_c.8
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH CREATEREPO_C 8 "2020-07-02" "" ""
+.TH CREATEREPO_C 8 "2021-09-23" "" ""
.SH NAME
createrepo_c \- Create rpm-md format (xml-rpm-metadata) repository
.
@@ -173,7 +173,10 @@ Generate zchunk files as well as the standard repodata.
Directory containing compression dictionaries for use by zchunk
.SS \-\-keep\-all\-metadata
.sp
-Keep all additional metadata (not primary, filelists and other xml or sqlite files, nor their compressed variants) from source repository during update.
+Keep all additional metadata (not primary, filelists and other xml or sqlite files, nor their compressed variants) from source repository during update (default).
+.SS \-\-discard\-additional\-metadata
+.sp
+Discard all additional metadata (not primary, filelists and other xml or sqlite files, nor their compressed variants) from source repository during update.
.SS \-\-compatibility
.sp
Enforce maximal compatibility with classical createrepo (Affects only: \-\-retain\-old\-md).
diff --git a/src/cmd_parser.c b/src/cmd_parser.c
index bbefa08..639d7e9 100644
--- a/src/cmd_parser.c
+++ b/src/cmd_parser.c
@@ -65,6 +65,8 @@ struct CmdOptions _cmd_options = {
.zck_compression = FALSE,
.zck_dict_dir = NULL,
.recycle_pkglist = FALSE,
+
+ .keep_all_metadata = TRUE,
};
@@ -168,6 +170,9 @@ static GOptionEntry cmd_entries[] =
#endif
{ "keep-all-metadata", 0, 0, G_OPTION_ARG_NONE, &(_cmd_options.keep_all_metadata),
"Keep all additional metadata (not primary, filelists and other xml or sqlite files, "
+ "nor their compressed variants) from source repository during update (default).", NULL },
+ { "discard-additional-metadata", 0, 0, G_OPTION_ARG_NONE, &(_cmd_options.discard_additional_metadata),
+ "Discard all additional metadata (not primary, filelists and other xml or sqlite files, "
"nor their compressed variants) from source repository during update.", NULL },
{ "compatibility", 0, 0, G_OPTION_ARG_NONE, &(_cmd_options.compatibility),
"Enforce maximal compatibility with classical createrepo (Affects only: --retain-old-md).", NULL },
@@ -510,9 +515,13 @@ check_arguments(struct CmdOptions *options,
x++;
}
- // Check keep-all-metadata
- if (options->keep_all_metadata && !options->update) {
- g_warning("--keep-all-metadata has no effect (--update is not used)");
+ if (options->discard_additional_metadata) {
+ options->keep_all_metadata = FALSE;
+ }
+
+ // Check discard-additional-metadata
+ if (options->discard_additional_metadata && !options->update) {
+ g_warning("--discard-additional-metadata has no effect (--update is not used)");
}
// Process --distro tags
diff --git a/src/cmd_parser.h b/src/cmd_parser.h
index 32bcf99..03cfcf0 100644
--- a/src/cmd_parser.h
+++ b/src/cmd_parser.h
@@ -77,6 +77,7 @@ struct CmdOptions {
char *zck_dict_dir; /*!< directory with zchunk dictionaries */
gboolean keep_all_metadata; /*!< keep groupfile and updateinfo from source
repo during update */
+ gboolean discard_additional_metadata; /*!< Inverse option to keep_all_metadata */
gboolean ignore_lock; /*!< Ignore existing .repodata/ - remove it,
create the new one (empty) to serve as
a lock and use a .repodata.date.pid for
--
libgit2 1.1.0

View File

@ -10,27 +10,34 @@
%bcond_without drpm
%endif
%if 0%{?rhel} || (0%{?fedora} && 0%{?fedora} < 29)
%if 0%{?rhel}
%bcond_with zchunk
%else
%bcond_without zchunk
%endif
%if (0%{?rhel} && 0%{?rhel} < 8) || (0%{?fedora} && 0%{?fedora} < 29)
%if 0%{?rhel} && 0%{?rhel} < 8
%bcond_with libmodulemd
%else
%bcond_without libmodulemd
%endif
%if 0%{?rhel} && 0%{?rhel} <= 8
%bcond_without legacy_hashes
%else
%bcond_with legacy_hashes
%endif
Summary: Creates a common metadata repository
Name: createrepo_c
Version: 0.17.2
Release: 3%{?dist}
Version: 0.17.7
Release: 5%{?dist}
License: GPLv2+
URL: https://github.com/rpm-software-management/createrepo_c
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Patch1: 0001-Fix-cr_compress_file_with_stat-Memory-leak.patch
Patch2: 0002-Preserve-changed-API-for-cr_compress_file_with_stat-RhBug1973588.patch
Patch1: 0001-Preserve-changed-API-for-cr_compress_file_with_stat-RhBug1973588.patch
Patch2: 0002-Default---keep-all-metadata-to-TRUE-and-add---discard-additional-metadata.patch
Patch3: 0003-Revert-added-API-for-parsing-main-metadata-together-RhBug2062299.patch
BuildRequires: cmake
BuildRequires: gcc
@ -109,6 +116,7 @@ pushd build-py3
%cmake .. \
-DWITH_ZCHUNK=%{?with_zchunk:ON}%{!?with_zchunk:OFF} \
-DWITH_LIBMODULEMD=%{?with_libmodulemd:ON}%{!?with_libmodulemd:OFF} \
-DWITH_LEGACY_HASHES=%{?with_legacy_hashes:ON}%{!?with_legacy_hashes:OFF} \
-DENABLE_DRPM=%{?with_drpm:ON}%{!?with_drpm:OFF}
make %{?_smp_mflags} RPM_OPT_FLAGS="%{optflags}"
# Build C documentation
@ -177,6 +185,26 @@ ln -sr %{buildroot}%{_bindir}/modifyrepo_c %{buildroot}%{_bindir}/modifyrepo
%{python3_sitearch}/%{name}-%{version}-py%{python3_version}.egg-info
%changelog
* Fri Mar 11 2022 Ales Matej <amatej@redhat.com> - 0.17.7-5
- Revert addition of new API for parsing main metadata together (RhBug:2062299)
* Wed Feb 16 2022 Pavla Kratochvilova <pkratoch@redhat.com> - 0.17.7-4
- Switch default of --keep-all-metadata to TRUE and add --discard-additional-metadata (RhBug:1992209)
* Mon Nov 29 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 0.17.7-3
- Fix memory leak of `tmp_err` (RhBug:2005781)
* Mon Nov 15 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 0.17.7-2
- Build with legacy hashes (RhBug:2022271)
* Tue Nov 09 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 0.17.7-1
- Update to 0.17.7
- Remove insecure hashes SHA-1 and MD5 from the default build (RhBug:1935486)
- Fix error when updating repo with removed modules metadata
- Exit with status code 1 when loading of repo's metadata fails
- Fix memory leaks (RhBug:1998426)
- Fix valgrind warnings caused by subprocess calls
* Wed Sep 15 2021 Pavla Kratochvilova <pkratoch@redhat.com> - 0.17.2-3
- Preserve changed API for cr_compress_file_with_stat (RhBug:1973588)