Compare commits

..

No commits in common. 'c9' and 'i10c-beta' have entirely different histories.

2
.gitignore vendored

@ -1,2 +1,2 @@
SOURCES/hivex-1.3.21.tar.gz SOURCES/hivex-1.3.23.tar.gz
SOURCES/libguestfs.keyring SOURCES/libguestfs.keyring

@ -1,2 +1,2 @@
3d39d9210e92d809fc3d1e692ff27ee7e9fb0b4c SOURCES/hivex-1.3.21.tar.gz 068e64b81c417d74eb8b97ef96e0ae278c7ca493 SOURCES/hivex-1.3.23.tar.gz
1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring 1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring

@ -1,80 +0,0 @@
From d5a522c0bb738efdd7cc1e762840b579fc9ea3de Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
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 <lersek@redhat.com>
Message-Id: <20210909230617.31256-1-lersek@redhat.com>
Acked-by: Richard W.M. Jones <rjones@redhat.com>
---
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

@ -0,0 +1,102 @@
From fbcff7fbd8f96214c7f13f36bd7669a9142824ab Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 7 Aug 2023 10:21:54 +0100
Subject: [PATCH 1/3] ruby: Replace MiniTest with Minitest
Apparently the old MiniTest module is somewhat ancient. Use "new"
Minitest module instead. This was broken by the following change in
minitest 5.19:
https://github.com/minitest/minitest/commit/a2c6c18570f6f0a1bf6af70fe3b6d9599a13fdd6
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2229653
---
ruby/tests/tc_010_load.rb | 2 +-
ruby/tests/tc_021_close.rb | 2 +-
ruby/tests/tc_120_rlenvalue.rb | 2 +-
ruby/tests/tc_130_special.rb | 2 +-
ruby/tests/tc_200_write.rb | 2 +-
ruby/tests/tc_210_setvalue.rb | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/ruby/tests/tc_010_load.rb b/ruby/tests/tc_010_load.rb
index 76fef60..58fac33 100644
--- a/ruby/tests/tc_010_load.rb
+++ b/ruby/tests/tc_010_load.rb
@@ -17,7 +17,7 @@
require File::join(File::dirname(__FILE__), 'test_helper')
-class TestLoad < MiniTest::Unit::TestCase
+class TestLoad < Minitest::Test
def test_load
h = Hivex::open("../images/minimal", {})
refute_nil (h)
diff --git a/ruby/tests/tc_021_close.rb b/ruby/tests/tc_021_close.rb
index 38b88a9..bc8f79d 100644
--- a/ruby/tests/tc_021_close.rb
+++ b/ruby/tests/tc_021_close.rb
@@ -17,7 +17,7 @@
require File::join(File::dirname(__FILE__), 'test_helper')
-class TestClose < MiniTest::Unit::TestCase
+class TestClose < Minitest::Test
def test_close
h = Hivex::open("../images/minimal", {})
refute_nil (h)
diff --git a/ruby/tests/tc_120_rlenvalue.rb b/ruby/tests/tc_120_rlenvalue.rb
index 6a2fb72..ee881bb 100644
--- a/ruby/tests/tc_120_rlenvalue.rb
+++ b/ruby/tests/tc_120_rlenvalue.rb
@@ -23,7 +23,7 @@
require File::join(File::dirname(__FILE__), 'test_helper')
-class TestRLenValue < MiniTest::Unit::TestCase
+class TestRLenValue < Minitest::Test
def test_RLenValue
h = Hivex::open(File::join(ENV['abs_srcdir'], '..', 'images', 'rlenvalue_test_hive'), {})
refute_nil(h)
diff --git a/ruby/tests/tc_130_special.rb b/ruby/tests/tc_130_special.rb
index 7570824..6179f51 100644
--- a/ruby/tests/tc_130_special.rb
+++ b/ruby/tests/tc_130_special.rb
@@ -3,7 +3,7 @@
require File::join(File::dirname(__FILE__), 'test_helper')
-class TestRLenValue < MiniTest::Unit::TestCase
+class TestRLenValue < Minitest::Test
def test_RLenValue
h = Hivex::open(File::join(ENV['abs_srcdir'], '..', 'images', 'special'), {})
refute_nil(h)
diff --git a/ruby/tests/tc_200_write.rb b/ruby/tests/tc_200_write.rb
index 463283e..a713d77 100644
--- a/ruby/tests/tc_200_write.rb
+++ b/ruby/tests/tc_200_write.rb
@@ -17,7 +17,7 @@
require File::join(File::dirname(__FILE__), 'test_helper')
-class TestWrite < MiniTest::Unit::TestCase
+class TestWrite < Minitest::Test
def test_write
h = Hivex::open("../images/minimal", {:write => 1})
refute_nil (h)
diff --git a/ruby/tests/tc_210_setvalue.rb b/ruby/tests/tc_210_setvalue.rb
index 736b073..2ffd07b 100644
--- a/ruby/tests/tc_210_setvalue.rb
+++ b/ruby/tests/tc_210_setvalue.rb
@@ -17,7 +17,7 @@
require File::join(File::dirname(__FILE__), 'test_helper')
-class TestSetValue < MiniTest::Unit::TestCase
+class TestSetValue < Minitest::Test
def test_set_value
h = Hivex::open("../images/minimal", {:write => 1})
refute_nil (h)
--
2.41.0

@ -0,0 +1,160 @@
From 6dbbc474d3df5cdfd21ed5e692b3a58136fffc42 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 7 Aug 2023 10:41:26 +0100
Subject: [PATCH 2/3] ruby: Get rid of old Test::Unit compatibility
Minitest is now required to run the Ruby unit tests.
This compatibility was added back in commit 3f3bc6af07 ("ruby: tests:
convert from Test::Unit to MiniTest (RHBZ#1090407)", 2014), but is
broken by the change from MiniTest to Minitest.
---
ruby/Makefile.am | 3 +--
ruby/tests/tc_010_load.rb | 3 ++-
ruby/tests/tc_021_close.rb | 3 ++-
ruby/tests/tc_120_rlenvalue.rb | 3 ++-
ruby/tests/tc_130_special.rb | 3 ++-
ruby/tests/tc_200_write.rb | 3 ++-
ruby/tests/tc_210_setvalue.rb | 3 ++-
ruby/tests/test_helper.rb | 31 -------------------------------
8 files changed, 13 insertions(+), 39 deletions(-)
delete mode 100644 ruby/tests/test_helper.rb
diff --git a/ruby/Makefile.am b/ruby/Makefile.am
index 0e9a868..7a5fe42 100644
--- a/ruby/Makefile.am
+++ b/ruby/Makefile.am
@@ -23,8 +23,7 @@ EXTRA_DIST = \
ext/hivex/_hivex.c \
lib/hivex.rb \
run-ruby-tests \
- tests/tc_*.rb \
- tests/test_helper.rb
+ tests/tc_*.rb
CLEANFILES = \
lib/*~ \
diff --git a/ruby/tests/tc_010_load.rb b/ruby/tests/tc_010_load.rb
index 58fac33..8efac36 100644
--- a/ruby/tests/tc_010_load.rb
+++ b/ruby/tests/tc_010_load.rb
@@ -15,7 +15,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-require File::join(File::dirname(__FILE__), 'test_helper')
+require 'minitest/autorun'
+require 'hivex'
class TestLoad < Minitest::Test
def test_load
diff --git a/ruby/tests/tc_021_close.rb b/ruby/tests/tc_021_close.rb
index bc8f79d..b3aaa10 100644
--- a/ruby/tests/tc_021_close.rb
+++ b/ruby/tests/tc_021_close.rb
@@ -15,7 +15,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-require File::join(File::dirname(__FILE__), 'test_helper')
+require 'minitest/autorun'
+require 'hivex'
class TestClose < Minitest::Test
def test_close
diff --git a/ruby/tests/tc_120_rlenvalue.rb b/ruby/tests/tc_120_rlenvalue.rb
index ee881bb..f40735d 100644
--- a/ruby/tests/tc_120_rlenvalue.rb
+++ b/ruby/tests/tc_120_rlenvalue.rb
@@ -21,7 +21,8 @@
# length and offset for this value cell should be 37 bytes, position
# 8712.
-require File::join(File::dirname(__FILE__), 'test_helper')
+require 'minitest/autorun'
+require 'hivex'
class TestRLenValue < Minitest::Test
def test_RLenValue
diff --git a/ruby/tests/tc_130_special.rb b/ruby/tests/tc_130_special.rb
index 6179f51..49a635b 100644
--- a/ruby/tests/tc_130_special.rb
+++ b/ruby/tests/tc_130_special.rb
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
# -*- ruby -*-
-require File::join(File::dirname(__FILE__), 'test_helper')
+require 'minitest/autorun'
+require 'hivex'
class TestRLenValue < Minitest::Test
def test_RLenValue
diff --git a/ruby/tests/tc_200_write.rb b/ruby/tests/tc_200_write.rb
index a713d77..4ce0586 100644
--- a/ruby/tests/tc_200_write.rb
+++ b/ruby/tests/tc_200_write.rb
@@ -15,7 +15,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-require File::join(File::dirname(__FILE__), 'test_helper')
+require 'minitest/autorun'
+require 'hivex'
class TestWrite < Minitest::Test
def test_write
diff --git a/ruby/tests/tc_210_setvalue.rb b/ruby/tests/tc_210_setvalue.rb
index 2ffd07b..c3624ef 100644
--- a/ruby/tests/tc_210_setvalue.rb
+++ b/ruby/tests/tc_210_setvalue.rb
@@ -15,7 +15,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-require File::join(File::dirname(__FILE__), 'test_helper')
+require 'minitest/autorun'
+require 'hivex'
class TestSetValue < Minitest::Test
def test_set_value
diff --git a/ruby/tests/test_helper.rb b/ruby/tests/test_helper.rb
deleted file mode 100644
index f939b94..0000000
--- a/ruby/tests/test_helper.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-# hivex Ruby bindings -*- ruby -*-
-# Copyright (C) 2009-2014 Red Hat Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-begin
- require 'minitest/autorun'
-rescue LoadError
- require 'test/unit'
- MiniTest = Test
- module Test
- Assertions = Unit::Assertions
- module Assertions
- alias refute_nil assert_not_nil
- end
- end
-end
-
-require 'hivex'
--
2.41.0

@ -0,0 +1,80 @@
From 326399ceef0c904f78cdd5da17f7ca724292b4f8 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 7 Aug 2023 10:36:46 +0100
Subject: [PATCH 3/3] build: Go back to gettext 0.19
Commit 850feece ("build: Remove gnulib") unintentionally(?) moved to
GNU gettext 0.21. However this is not available in RHEL 8, and
doesn't contain any new features we need. Go back to 0.19 from RHEL 8.
Update: commit 850feece47b052e568392e83bff2bcdb2886f14d
---
configure.ac | 2 +-
po/Makevars.template | 29 -----------------------------
2 files changed, 1 insertion(+), 30 deletions(-)
diff --git a/configure.ac b/configure.ac
index 946c261..7a8b664 100644
--- a/configure.ac
+++ b/configure.ac
@@ -136,7 +136,7 @@ AS_IF([test "x$with_readline" != xno],
dnl For i18n.
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([0.21])
+AM_GNU_GETTEXT_VERSION([0.19])
AM_ICONV
dnl libxml2 (optional).
diff --git a/po/Makevars.template b/po/Makevars.template
index 86a11f1..4a9ff7d 100644
--- a/po/Makevars.template
+++ b/po/Makevars.template
@@ -1,8 +1,4 @@
# Makefile variables for PO directory in any package using GNU gettext.
-#
-# Copyright (C) 2003-2019 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to use, copy, distribute, and modify it.
# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)
@@ -24,13 +20,6 @@ XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
# their copyright.
COPYRIGHT_HOLDER = Free Software Foundation, Inc.
-# This tells whether or not to prepend "GNU " prefix to the package
-# name that gets inserted into the header of the $(DOMAIN).pot file.
-# Possible values are "yes", "no", or empty. If it is empty, try to
-# detect it automatically by scanning the files in $(top_srcdir) for
-# "GNU packagename" string.
-PACKAGE_GNU =
-
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
@@ -62,21 +51,3 @@ USE_MSGCTXT = no
# --previous to keep previous msgids of translated messages,
# --quiet to reduce the verbosity.
MSGMERGE_OPTIONS =
-
-# These options get passed to msginit.
-# If you want to disable line wrapping when writing PO files, add
-# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
-# MSGINIT_OPTIONS.
-MSGINIT_OPTIONS =
-
-# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
-# has changed. Possible values are "yes" and "no". Set this to no if
-# the POT file is checked in the repository and the version control
-# program ignores timestamps.
-PO_DEPENDS_ON_POT = yes
-
-# This tells whether or not to forcibly update $(DOMAIN).pot and
-# regenerate PO files on "make dist". Possible values are "yes" and
-# "no". Set this to no if the POT file and PO files are maintained
-# externally.
-DIST_DEPENDS_ON_UPDATE_PO = yes
--
2.41.0

@ -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-----

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmPH85kRHHJpY2hAYW5u
ZXhpYS5vcmcACgkQkXOPc+G3aKBANBAAogtCGejQXiNO/xVR4zZ/faoY0R2wGw0T
O3dg9c9HOwPOq0CL+15w6AfGdK74db3XKr+9qyGbkPEIHVGBc/w8tmgGCyZ0Tn/6
329vu068GjBg+fPfXNKGkZzFML08uEo+3IfIoOg8BIpi8fZ4FcUZ8rOMDCtUP3ce
xBgos7BvmseESMTal4vqPHtPBxCaZMp7IPLNffoToKVN2V5M2s73tWttscFfOa2e
v6+0ojQ62aR3buoRelkupeD7qXSJJfBD8HPPEpzbcVdA7cjdUnr2frTrlw70M+80
L2diKtlu3/UpvabnbEbh/efSg7k8CGhAoL+pImxxWSC9QCRBh9bObN7/7cvDYl3x
+BTajRm3bnULRpwQRfgvZyPZLVOZR7Qfcng1AoMpsGH6eL1wXF2T65H3Tr1MD0xI
zca4Es2ISbJYGTXbARFl5+jZjcyFvsvjUThF5Q4le2IUcxkdi4QFiWzItxzgclSv
cyUU2omjF6V6cN1JFL/1vEb4KqIc7IcbjIaHyLufjqtO2Z8a4yDxtamln57l/m0K
YC2wIpkiQ2qU1hZIq0zZOWgZe3pC5XJBpWg51ClAiOhODiX1vuXw2Q74bue+/2Og
q7jldflXVyOGzDlhKsGqjMWuNDsel1Q3KVikRQqyyaF/C+h4jVsNqn1xlljdGo4J
e79ccPiEiHE=
=pTzE
-----END PGP SIGNATURE-----

@ -1,19 +1,19 @@
# Conditionalize Ocaml support. This looks ass-backwards, but it's not. # Conditionalize Ocaml support. This looks ass-backwards, but it's not.
%ifarch %{ocaml_native_compiler} %ifarch %{ix86}
%bcond_without ocaml
%else
%bcond_with ocaml %bcond_with ocaml
%else
%bcond_without ocaml
%endif %endif
# Verify tarball signature with GPGv2. # Verify tarball signature with GPGv2.
%global verify_tarball_signature 1 %global verify_tarball_signature 1
Name: hivex Name: hivex
Version: 1.3.21 Version: 1.3.23
Release: 3%{?dist} Release: 24%{?dist}
Summary: Read and write Windows Registry binary hive files 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/ URL: http://libguestfs.org/
Source0: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz Source0: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz
@ -26,8 +26,15 @@ Source1: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz.s
Source2: libguestfs.keyring Source2: libguestfs.keyring
%endif %endif
Patch0000: 0001-lib-write-improve-key-collation-compatibility-with-Windows.patch # Upstream patches to fix Ruby minitest support.
# https://bugzilla.redhat.com/show_bug.cgi?id=2229653
Patch: 0001-ruby-Replace-MiniTest-with-Minitest.patch
Patch: 0002-ruby-Get-rid-of-old-Test-Unit-compatibility.patch
# Another upstream patch, not required.
Patch: 0003-build-Go-back-to-gettext-0.19.patch
BuildRequires: make
BuildRequires: autoconf, automake, libtool, gettext-devel
BuildRequires: perl-interpreter BuildRequires: perl-interpreter
BuildRequires: perl-devel BuildRequires: perl-devel
BuildRequires: perl-generators BuildRequires: perl-generators
@ -62,18 +69,14 @@ BuildRequires: rubygem(rdoc)
BuildRequires: readline-devel BuildRequires: readline-devel
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
%if 0%{verify_tarball_signature} %if 0%{verify_tarball_signature}
BuildRequires: gnupg2 BuildRequires: gnupg2
%endif %endif
BuildRequires: make
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
Conflicts: %{name} < 1.3.20-6 Conflicts: %{name} < 1.3.20-6
Obsoletes: %{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 %description
Hive files are the undocumented binary files that Windows uses to Hive files are the undocumented binary files that Windows uses to
@ -108,6 +111,7 @@ For Ruby bindings, see 'ruby-hivex'.
%package libs %package libs
Summary: Library for %{name} Summary: Library for %{name}
License: LGPL-2.1-only AND LGPL-2.0-or-later
Conflicts: %{name} < 1.3.20-6 Conflicts: %{name} < 1.3.20-6
Obsoletes: %{name} < 1.3.20-6 Obsoletes: %{name} < 1.3.20-6
@ -130,7 +134,8 @@ for %{name}.
%if !0%{?rhel} %if !0%{?rhel}
%package static %package static
Summary: Statically linked library for %{name} 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 %description static
@ -142,7 +147,8 @@ for %{name}.
%if %{with ocaml} %if %{with ocaml}
%package -n ocaml-%{name} %package -n ocaml-%{name}
Summary: OCaml bindings for %{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} %description -n ocaml-%{name}
@ -154,8 +160,9 @@ programs which use %{name} you will also need ocaml-%{name}-devel.
%package -n ocaml-%{name}-devel %package -n ocaml-%{name}-devel
Summary: OCaml bindings for %{name} Summary: OCaml bindings for %{name}
Requires: ocaml-%{name} = %{version}-%{release} License: LGPL-2.0-or-later
Requires: %{name}-devel = %{version}-%{release} Requires: ocaml-%{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description -n ocaml-%{name}-devel %description -n ocaml-%{name}-devel
@ -166,8 +173,8 @@ required to use the OCaml bindings for %{name}.
%package -n perl-%{name} %package -n perl-%{name}
Summary: Perl bindings for %{name} Summary: Perl bindings for %{name}
License: LGPL-2.0-or-later AND GPL-2.0-or-later
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description -n perl-%{name} %description -n perl-%{name}
@ -176,6 +183,7 @@ perl-%{name} contains Perl bindings for %{name}.
%package -n python3-%{name} %package -n python3-%{name}
Summary: Python 3 bindings for %{name} Summary: Python 3 bindings for %{name}
License: LGPL-2.0-or-later
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
%description -n python3-%{name} %description -n python3-%{name}
@ -184,6 +192,7 @@ python3-%{name} contains Python 3 bindings for %{name}.
%package -n ruby-%{name} %package -n ruby-%{name}
Summary: Ruby bindings for %{name} Summary: Ruby bindings for %{name}
License: LGPL-2.0-or-later
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
Requires: ruby(release) Requires: ruby(release)
Requires: ruby Requires: ruby
@ -200,6 +209,8 @@ ruby-%{name} contains Ruby bindings for %{name}.
%setup -q %setup -q
%autopatch -p1 %autopatch -p1
autoreconf -fi
%build %build
%configure \ %configure \
@ -232,17 +243,6 @@ rm $RPM_BUILD_ROOT%{python3_sitearch}/libhivexmod.la
%check %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 if ! make check -k; then
for f in $( find -name test-suite.log | xargs grep -l ^FAIL: ); do for f in $( find -name test-suite.log | xargs grep -l ^FAIL: ); do
echo echo
@ -254,7 +254,7 @@ if ! make check -k; then
fi fi
%files -f %{name}.lang %files -f %{name}.lang
%doc README %doc README.md
%license LICENSE %license LICENSE
%{_bindir}/hivexget %{_bindir}/hivexget
%{_bindir}/hivexml %{_bindir}/hivexml
@ -265,7 +265,7 @@ fi
%files libs %files libs
%doc README %doc README.md
%license LICENSE %license LICENSE
%{_libdir}/libhivex.so.* %{_libdir}/libhivex.so.*
@ -287,20 +287,21 @@ fi
%if %{with ocaml} %if %{with ocaml}
%files -n ocaml-%{name} %files -n ocaml-%{name}
%doc README %doc README.md
%{_libdir}/ocaml/hivex %dir %{_libdir}/ocaml/hivex
%exclude %{_libdir}/ocaml/hivex/*.a %{_libdir}/ocaml/hivex/META
%exclude %{_libdir}/ocaml/hivex/*.cmxa %{_libdir}/ocaml/hivex/*.cma
%exclude %{_libdir}/ocaml/hivex/*.cmx %{_libdir}/ocaml/hivex/*.cmi
%exclude %{_libdir}/ocaml/hivex/*.mli
%{_libdir}/ocaml/stublibs/*.so %{_libdir}/ocaml/stublibs/*.so
%{_libdir}/ocaml/stublibs/*.so.owner %{_libdir}/ocaml/stublibs/*.so.owner
%files -n ocaml-%{name}-devel %files -n ocaml-%{name}-devel
%{_libdir}/ocaml/hivex/*.a %ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/hivex/*.cmxa %{_libdir}/ocaml/hivex/*.cmxa
%{_libdir}/ocaml/hivex/*.cmx %{_libdir}/ocaml/hivex/*.cmx
%endif
%{_libdir}/ocaml/hivex/*.a
%{_libdir}/ocaml/hivex/*.mli %{_libdir}/ocaml/hivex/*.mli
%endif %endif
@ -325,21 +326,130 @@ fi
%changelog %changelog
* Tue Sep 14 2021 Laszlo Ersek <lersek@redhat.com> - 1.3.21-3 * Tue Nov 26 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.3.23-24
- Bring key collation order closer to that of Windows. - Rebuilt for MSVSphere 10
- Resolves: RHBZ#1648524.
* Thu Aug 08 2024 Troy Dawson <tdawson@redhat.com> - 1.3.23-24
- Bump release for Aug 2024 java mass rebuild
* Tue Jun 25 2024 Troy Dawson <tdawson@redhat.com> - 1.3.23-23
- Bump release for June 2024 mass rebuild
* Wed Jun 19 2024 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-22
- OCaml 5.2.0 ppc64le fix
* Wed Jun 12 2024 Jitka Plesnikova <jplesnik@redhat.com> - 1.3.23-21
- Perl 5.40 rebuild
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1.3.23-20
- Rebuilt for Python 3.13
* Wed May 29 2024 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-19
- OCaml 5.2.0 for Fedora 41
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.23-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.23-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jan 03 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.3.23-16
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.3
* Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-15
- OCaml 5.1.1 + s390x code gen fix for Fedora 40
* Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-14
- OCaml 5.1.1 rebuild for Fedora 40
* Thu Oct 05 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-13
- OCaml 5.1 rebuild for Fedora 40
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.3.21-2 * Mon Aug 07 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-12
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Fix Ruby minitest support (RHBZ#2229653)
Related: rhbz#1991688
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.23-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jul 13 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1.3.23-10
- Perl 5.38 re-rebuild updated packages
* Tue Jul 11 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-9
- OCaml 5.0 rebuild for Fedora 39
* Tue Jul 11 2023 Jitka Plesnikova <jplesnik@redhat.com> - 1.3.23-8
- Perl 5.38 rebuild
* Mon Jul 10 2023 Jerry James <loganjerry@gmail.com> - 1.3.23-7
- OCaml 5.0.0 rebuild
- Build the OCaml interface on all architectures but i386
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1.3.23-6
- Rebuilt for Python 3.12
* Mon Jun 05 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-5
- Migrated to SPDX license
* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-4
- Bump release and rebuild.
* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-3
- Rebuild OCaml packages for F38
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jan 18 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.23-1
- New development version 1.3.23
- Second attempt to fix Python 3.12 removal of distutils (RHBZ#2155013)
- Remove gnulib since it is no longer bundled by upstream.
* Wed Jan 04 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.3.21-13
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_3.2
* Tue Jan 03 2023 Richard W.M. Jones <rjones@redhat.com> - 1.3.21-12
- Upstream fix for Python 3.12 removal of distutils (RHBZ#2155013)
- Unconditionally run autoreconf.
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.21-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 20 2022 Python Maint <python-maint@redhat.com> - 1.3.21-10
- Rebuilt for Python 3.11
* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 1.3.21-9
- OCaml 4.14.0 rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.3.21-8
- Rebuilt for Python 3.11
* Tue May 31 2022 Jitka Plesnikova <jplesnik@redhat.com> - 1.3.21-7
- Perl 5.36 rebuild
* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 1.3.21-6
- OCaml 4.13.1 rebuild to remove package notes
* Wed Jan 26 2022 Vít Ondruch <vondruch@redhat.com> - 1.3.21-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_3.1
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.21-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Oct 04 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.21-3
- Bump release and rebuild.
* Mon Oct 04 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.21-2
- OCaml 4.13.1 build
* Mon Aug 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.21-1 * Mon Aug 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.21-1
- New upstream version 1.3.21. - New upstream version 1.3.21.
- Fixes CVE-2021-3622 limit recursion in ri-records. - Fixes CVE-2021-3622 limit recursion in ri-records.
* Wed Jun 23 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.20-7 * Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.20-8
- Bump and rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
resolves: rhbz#1975314
* Mon Jun 14 2021 Matt Coleman <matt@datto.com> - 1.3.20-7
- Correct the static package's dependency
* Fri Jun 11 2021 Matt Coleman <matt@datto.com> - 1.3.20-6 * Fri Jun 11 2021 Matt Coleman <matt@datto.com> - 1.3.20-6
- Move the library into a separate package: hivex-libs - Move the library into a separate package: hivex-libs
@ -347,9 +457,15 @@ fi
* Fri Jun 11 2021 Matt Coleman <matt@datto.com> - 1.3.20-5 * Fri Jun 11 2021 Matt Coleman <matt@datto.com> - 1.3.20-5
- Mark LICENSE as a license file - Mark LICENSE as a license file
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.3.20-4
- Rebuilt for Python 3.10
* Wed Jun 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.20-3 * Wed Jun 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.20-3
- Add gating tests (for RHEL 9) - Add gating tests (for RHEL 9)
* Fri May 21 2021 Jitka Plesnikova <jplesnik@redhat.com> - 1.3.20-2
- Perl 5.34 rebuild
* Mon May 3 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.20-1 * Mon May 3 2021 Richard W.M. Jones <rjones@redhat.com> - 1.3.20-1
- New upstream version 1.3.20. - New upstream version 1.3.20.
- Fixes CVE-2021-3504 missing bounds check in hivex_open. - Fixes CVE-2021-3504 missing bounds check in hivex_open.

Loading…
Cancel
Save