diff --git a/.gitignore b/.gitignore index 6985004..b5c2d61 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/hivex-1.3.21.tar.gz +SOURCES/hivex-1.3.24.tar.gz SOURCES/libguestfs.keyring diff --git a/.hivex.metadata b/.hivex.metadata index a796b73..56fa051 100644 --- a/.hivex.metadata +++ b/.hivex.metadata @@ -1,2 +1,2 @@ -3d39d9210e92d809fc3d1e692ff27ee7e9fb0b4c SOURCES/hivex-1.3.21.tar.gz +76cb2b15d83ef90c77ef1a5acd9b772fbe7ae759 SOURCES/hivex-1.3.24.tar.gz 1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring diff --git a/SOURCES/0001-lib-write-improve-key-collation-compatibility-with-Windows.patch b/SOURCES/0001-lib-write-improve-key-collation-compatibility-with-Windows.patch deleted file mode 100644 index 9c82c26..0000000 --- a/SOURCES/0001-lib-write-improve-key-collation-compatibility-with-Windows.patch +++ /dev/null @@ -1,80 +0,0 @@ -From d5a522c0bb738efdd7cc1e762840b579fc9ea3de Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Fri, 10 Sep 2021 01:06:17 +0200 -Subject: [PATCH] lib: write: improve key collation compatibility with Windows - -There are multiple problems with using strcasecmp() for ordering registry -keys: - -(1) strcasecmp() is influenced by LC_CTYPE. - -(2) strcasecmp() cannot implement case conversion for multibyte UTF-8 - sequences. - -(3) Even with LC_CTYPE=POSIX and key names consisting solely of ASCII - characters, strcasecmp() converts characters to lowercase, for - comparison. But on Windows, the CompareStringOrdinal() function - converts characters to uppercase. This makes a difference when - comparing a letter to one of the characters that fall between 'Z' - (0x5A) and 'a' (0x61), namely {'[', '\\', ']', '^', '_', '`'}. For - example, - - 'c' (0x63) > '_' (0x5F) - 'C' (0x43) < '_' (0x5F) - -Compare key names byte for byte, eliminating problems (1) and (3). - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1648520 -Signed-off-by: Laszlo Ersek -Message-Id: <20210909230617.31256-1-lersek@redhat.com> -Acked-by: Richard W.M. Jones ---- - lib/write.c | 32 +++++++++++++++++++++++++++++++- - 1 file changed, 31 insertions(+), 1 deletion(-) - -diff --git a/lib/write.c b/lib/write.c -index 70105c9d9907..d9a13a3c18b6 100644 ---- a/lib/write.c -+++ b/lib/write.c -@@ -462,7 +462,37 @@ compare_name_with_nk_name (hive_h *h, const char *name, hive_node_h nk_offs) - return 0; - } - -- int r = strcasecmp (name, nname); -+ /* Perform a limited case-insensitive comparison. ASCII letters will be -+ * *upper-cased*. Multibyte sequences will produce nonsensical orderings. -+ */ -+ int r = 0; -+ const char *s1 = name; -+ const char *s2 = nname; -+ -+ for (;;) { -+ unsigned char c1 = *(s1++); -+ unsigned char c2 = *(s2++); -+ -+ if (c1 >= 'a' && c1 <= 'z') -+ c1 = 'A' + (c1 - 'a'); -+ if (c2 >= 'a' && c2 <= 'z') -+ c2 = 'A' + (c2 - 'a'); -+ if (c1 < c2) { -+ /* Also covers the case when "name" is a prefix of "nname". */ -+ r = -1; -+ break; -+ } -+ if (c1 > c2) { -+ /* Also covers the case when "nname" is a prefix of "name". */ -+ r = 1; -+ break; -+ } -+ if (c1 == '\0') { -+ /* Both strings end. */ -+ break; -+ } -+ } -+ - free (nname); - - return r; --- -2.19.1.3.g30247aa5d201 - diff --git a/SOURCES/hivex-1.3.21.tar.gz.sig b/SOURCES/hivex-1.3.21.tar.gz.sig deleted file mode 100644 index 521d711..0000000 --- a/SOURCES/hivex-1.3.21.tar.gz.sig +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmEHr1sRHHJpY2hAYW5u -ZXhpYS5vcmcACgkQkXOPc+G3aKAdQRAAnKp8vh3Mn73YpNBzA4PgQm/wkhwU0vlG -WEpcbz5sJnxd51XsLfPbHLC99CN3A47WBbwvUVlbY6QIzEgonKJvsWYPnRi9DURG -9rrHGPNixitS+eZCwyhhqjDXzujQOC7h0YBRxOHp2HTE2uQ+l15o6H0i6sr2vNkG -QwiUI50YVhtaAi3DVaXpPbb2vlA+3K6ImeLPQrSB+em1+n0g40Wze6B2tHN5wtxB -XMRN8Hlw+Emc3Fe0Bx/4apg6YRqnXXCGyTyx25zHgtnf8cocOvjamt/cqsN3IspP -pOi9aD4+LmPuToLzTfReLwmacch3p+QA4ZjSfcqmSXOpdl6ZtIBGHg3587Zv3j5+ -1WvpVVTeRsV8neRg9H+bnLFhjvCjbU+pPylmW+HdWargqFrzlhFrLAvGTzKhxWNy -r3Xmbe/XnHHTWYeojg8mTZQ5mYt5MYfpbmywZusoyqhWVZV+bAHKJFk1q0UWLjfo -L+TkJLka9wjB4r4uPylZion92hW4QEh3lRg7SJU6qfIvmOJMaihRWK77c4S7BvZ2 -NG05XST/cRyZviSRtGbllqhzBjS50zl5oCCmwu/L4muZGaBYT0/DiQgvM8TI1XeB -9si16xg+KdE76tR+5g+Hn9Mh6ywi7hwp55UZHnRmgvvXHB6spBG2LQNqVNtPkWJV -CzY9MsNqjVc= -=y80J ------END PGP SIGNATURE----- diff --git a/SOURCES/hivex-1.3.24.tar.gz.sig b/SOURCES/hivex-1.3.24.tar.gz.sig new file mode 100644 index 0000000..5f39e5e --- /dev/null +++ b/SOURCES/hivex-1.3.24.tar.gz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- + +iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmbS4a8RHHJpY2hAYW5u +ZXhpYS5vcmcACgkQkXOPc+G3aKD8kw//Tj6k2S7YA5lptSWx/WLTaAlhp8LAgeXf +uEahjUqa/dlSomflETuEEO5w+/NQrOm6uZjCDppiX6jRrT6E4siciYU/fA3Z0nHs +3MhBhuhXC4eRgMB40JqPngqU+dTo4CVMr3bESHmypZ/e2G0IUVQ5z0OIXRMnD/vG +kvoKpCD9aA9PmRdPTEVkHkJKLqWoNZ6SrmUCswE7mgMMvtc5UfOCtYOSH4fIkoqw +cLzzPcqHL0qydfuDgiWm6McByQvOoIhS4TfCySD38hjD1ltK7cpiYjC+yMNvE49V +e1QEAmiDtoLL+CukeEUUf3m8NqGIPLi0zjOWigv0OM4sJxrXrEZDFUbjHOe7NNe+ +rFSBofizgbYp2w4+RpIVI3uPi60K24tFndlPaD19CQJ53IUCic1Fy2kmq2GpqnzJ +Yppuh1Wl5z382sT0U1KCQd9ll2LpoLb18asyFa6WcOOFqjYZ74JZReqBVjybmLAW +8+JurMp5i63rmx00lnadQ/TqSHfNnv+ivTqT4lYHp7j01qLqEyFBfK8virh40866 +XvSlknQZnhIrPn1VRRtPr1yxjuyXkGQvJUJ7E7W+cEbfb3CYXBmfQGpNrS1AW4LU +Q+4jGoENJ8pN8zIJohDwmgW/gkc1MlvCOHdZmHT5ATmG5T9HLb3up2DfDsSmTF6X +sW4jWzAZuHA= +=YcM4 +-----END PGP SIGNATURE----- diff --git a/SPECS/hivex.spec b/SPECS/hivex.spec index 7a386e4..933dd0a 100644 --- a/SPECS/hivex.spec +++ b/SPECS/hivex.spec @@ -9,11 +9,11 @@ %global verify_tarball_signature 1 Name: hivex -Version: 1.3.21 -Release: 3%{?dist} +Version: 1.3.24 +Release: 1%{?dist} Summary: Read and write Windows Registry binary hive files -License: LGPLv2 +License: LGPL-2.1-only AND LGPL-2.0-or-later AND GPL-2.0-or-later URL: http://libguestfs.org/ Source0: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz @@ -26,8 +26,8 @@ Source1: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz.s Source2: libguestfs.keyring %endif -Patch0000: 0001-lib-write-improve-key-collation-compatibility-with-Windows.patch - +BuildRequires: make +BuildRequires: autoconf, automake, libtool, gettext-devel BuildRequires: perl-interpreter BuildRequires: perl-devel BuildRequires: perl-generators @@ -62,18 +62,14 @@ BuildRequires: rubygem(rdoc) BuildRequires: readline-devel BuildRequires: libxml2-devel %if 0%{verify_tarball_signature} -BuildRequires: gnupg2 +BuildRequires: gnupg2 %endif -BuildRequires: make Requires: %{name}-libs = %{version}-%{release} Conflicts: %{name} < 1.3.20-6 Obsoletes: %{name} < 1.3.20-6 -# https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions -Provides: bundled(gnulib) - %description Hive files are the undocumented binary files that Windows uses to @@ -108,6 +104,7 @@ For Ruby bindings, see 'ruby-hivex'. %package libs Summary: Library for %{name} +License: LGPL-2.1-only AND LGPL-2.0-or-later Conflicts: %{name} < 1.3.20-6 Obsoletes: %{name} < 1.3.20-6 @@ -130,7 +127,8 @@ for %{name}. %if !0%{?rhel} %package static Summary: Statically linked library for %{name} -Requires: %{name}-libs = %{version}-%{release} +License: LGPL-2.1-only AND LGPL-2.0-or-later +Requires: %{name}-devel = %{version}-%{release} %description static @@ -142,7 +140,8 @@ for %{name}. %if %{with ocaml} %package -n ocaml-%{name} Summary: OCaml bindings for %{name} -Requires: %{name}-libs = %{version}-%{release} +License: LGPL-2.0-or-later +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n ocaml-%{name} @@ -154,8 +153,9 @@ programs which use %{name} you will also need ocaml-%{name}-devel. %package -n ocaml-%{name}-devel Summary: OCaml bindings for %{name} -Requires: ocaml-%{name} = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} +License: LGPL-2.0-or-later +Requires: ocaml-%{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description -n ocaml-%{name}-devel @@ -166,8 +166,8 @@ required to use the OCaml bindings for %{name}. %package -n perl-%{name} Summary: Perl bindings for %{name} +License: LGPL-2.0-or-later AND GPL-2.0-or-later Requires: %{name}-libs = %{version}-%{release} -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) %description -n perl-%{name} @@ -176,6 +176,7 @@ perl-%{name} contains Perl bindings for %{name}. %package -n python3-%{name} Summary: Python 3 bindings for %{name} +License: LGPL-2.0-or-later Requires: %{name}-libs = %{version}-%{release} %description -n python3-%{name} @@ -184,6 +185,7 @@ python3-%{name} contains Python 3 bindings for %{name}. %package -n ruby-%{name} Summary: Ruby bindings for %{name} +License: LGPL-2.0-or-later Requires: %{name}-libs = %{version}-%{release} Requires: ruby(release) Requires: ruby @@ -200,6 +202,8 @@ ruby-%{name} contains Ruby bindings for %{name}. %setup -q %autopatch -p1 +autoreconf -fi + %build %configure \ @@ -232,17 +236,6 @@ rm $RPM_BUILD_ROOT%{python3_sitearch}/libhivexmod.la %check -# Disable some gnulib tests which fail on Arm and POWER and S/390 -# (2020-07, 2020-12): -for f in test-float test-perror2 test-pthread_sigmask1 test-strerror_r; do - pushd gnulib/tests - make $f - rm -f $f - touch $f - chmod +x $f - popd -done - if ! make check -k; then for f in $( find -name test-suite.log | xargs grep -l ^FAIL: ); do echo @@ -254,7 +247,7 @@ if ! make check -k; then fi %files -f %{name}.lang -%doc README +%doc README.md %license LICENSE %{_bindir}/hivexget %{_bindir}/hivexml @@ -265,7 +258,7 @@ fi %files libs -%doc README +%doc README.md %license LICENSE %{_libdir}/libhivex.so.* @@ -287,20 +280,21 @@ fi %if %{with ocaml} %files -n ocaml-%{name} -%doc README -%{_libdir}/ocaml/hivex -%exclude %{_libdir}/ocaml/hivex/*.a -%exclude %{_libdir}/ocaml/hivex/*.cmxa -%exclude %{_libdir}/ocaml/hivex/*.cmx -%exclude %{_libdir}/ocaml/hivex/*.mli +%doc README.md +%dir %{_libdir}/ocaml/hivex +%{_libdir}/ocaml/hivex/META +%{_libdir}/ocaml/hivex/*.cma +%{_libdir}/ocaml/hivex/*.cmi %{_libdir}/ocaml/stublibs/*.so %{_libdir}/ocaml/stublibs/*.so.owner %files -n ocaml-%{name}-devel -%{_libdir}/ocaml/hivex/*.a +%ifarch %{ocaml_native_compiler} %{_libdir}/ocaml/hivex/*.cmxa %{_libdir}/ocaml/hivex/*.cmx +%endif +%{_libdir}/ocaml/hivex/*.a %{_libdir}/ocaml/hivex/*.mli %endif @@ -325,6 +319,10 @@ fi %changelog +* Mon Sep 02 2024 Richard W.M. Jones - 1.3.24-1 +- Rebase to Fedora Rawhide + resolves: RHEL-56803 + * Tue Sep 14 2021 Laszlo Ersek - 1.3.21-3 - Bring key collation order closer to that of Windows. - Resolves: RHBZ#1648524.