%define major 0 %define libname %mklibname %{name} %{major} %define devname %mklibname %{name} -d # TODO Fix underlinking issue %define _disable_ld_no_undefined 1 Name: hivex Version: 1.3.23 Release: %mkrel 1 Summary: Read and write Windows Registry binary hive files Group: File tools License: LGPLv2 URL: https://libguestfs.org/ Source0: https://libguestfs.org/download/%{name}/%{name}-%{version}.tar.gz BuildRequires: gettext-devel BuildRequires: perl-devel BuildRequires: perl(Test::Simple) BuildRequires: perl(Test::Pod) BuildRequires: perl(Test::Pod::Coverage) BuildRequires: perl-IO-stringy BuildRequires: perl-libintl-perl BuildRequires: ocaml BuildRequires: ocaml-findlib BuildRequires: pkgconfig(ruby) BuildRequires: ruby-rake BuildRequires: ruby-minitest BuildRequires: ruby-test-unit BuildRequires: pkgconfig(readline) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(python3) %description Hive files are the undocumented binary files that Windows uses to store the Windows Registry on disk. Hivex is a library that can read and write to these files. 'hivexsh' is a shell you can use to interactively navigate a hive binary file. 'hivexregedit' (in perl-hivex) lets you export and merge to the textual regedit format. 'hivexml' can be used to convert a hive file to a more useful XML format. In order to get access to the hive files themselves, you can copy them from a Windows machine. They are usually found in %%systemroot%%\system32\config. For virtual machines we recommend using libguestfs or guestfish to copy out these files. libguestfs also provides a useful high-level tool called 'virt-win-reg' (based on hivex technology) which can be used to query specific registry keys in an existing Windows VM. For OCaml bindings, see 'ocaml-hivex-devel'. For Perl bindings, see 'perl-hivex'. For Python 3 bindings, see 'python3-hivex'. For Ruby bindings, see 'ruby-hivex'. %package -n %{devname} Summary: Development tools and libraries for %{name} Group: Development/C Requires: %{libname} = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{devname} This package contains development tools and libraries for %{name}. %package -n %{libname} Summary: Shared libraries for %{name} Group: System/Libraries %description -n %{libname} This package contains the shared libraries for %{name}. %package -n ocaml-%{name} Summary: OCaml bindings for %{name} Group: Development/OCaml %description -n ocaml-%{name} ocaml-%{name} contains OCaml bindings for %{name}. This is for toplevel and scripting access only. To compile OCaml programs which use %{name} you will also need ocaml-%{name}-devel. %package -n ocaml-%{name}-devel Summary: OCaml bindings for %{name} Group: Development/OCaml Requires: ocaml-%{name} = %{version}-%{release} Requires: %{devname} = %{version}-%{release} %description -n ocaml-%{name}-devel ocaml-%{name}-devel contains development libraries required to use the OCaml bindings for %{name}. %package -n perl-%{name} Summary: Perl bindings for %{name} Group: Development/Perl Requires: %{name} = %{version}-%{release} %description -n perl-%{name} perl-%{name} contains Perl bindings for %{name}. %package -n python3-%{name} Summary: Python 3 bindings for %{name} Group: Development/Python %description -n python3-%{name} python3-%{name} contains Python 3 bindings for %{name}. %package -n ruby-%{name} Summary: Ruby bindings for %{name} Group: Development/Ruby Requires: %{name} = %{version}-%{release} Requires: ruby(release) Requires: ruby Provides: ruby(hivex) = %{version} %description -n ruby-%{name} ruby-%{name} contains Ruby bindings for %{name}. %prep %setup -q %autopatch -p1 %build %configure \ PYTHON=%{__python3} \ --disable-static \ %{nil} %make_build %install %make_install INSTALLSITEMAN3DIR=%{_mandir}/man3 INSTALLDIRS=vendor # fix rights chmod +w %{buildroot}%{perl_vendorarch}/auto/Win/Hivex/Hivex.so # Remove unwanted Perl files: find %{buildroot} -name perllocal.pod -delete find %{buildroot} -name .packlist -delete find %{buildroot} -name '*.bs' -delete # we don't want these find %{buildroot} -name "*.la" -delete %find_lang %{name} %check if ! make check -k; then for f in $( find -name test-suite.log | xargs grep -l ^FAIL: ); do echo echo "***" $f "***" cat $f echo done exit 1 fi %files -f %{name}.lang %doc README.md %license LICENSE %{_bindir}/hivexget %{_bindir}/hivexml %{_bindir}/hivexsh %{_mandir}/man1/hivexget.1* %{_mandir}/man1/hivexml.1* %{_mandir}/man1/hivexsh.1* %files -n %{devname} %license LICENSE %{_libdir}/libhivex.so %{_mandir}/man3/hivex.3* %{_includedir}/hivex.h %{_libdir}/pkgconfig/hivex.pc %files -n %{libname} %doc README.md %license LICENSE %{_libdir}/libhivex.so.%{major}{,.*} %files -n ocaml-%{name} %doc README.md %{_libdir}/ocaml/hivex %exclude %{_libdir}/ocaml/hivex/*.a %exclude %{_libdir}/ocaml/hivex/*.cmxa %exclude %{_libdir}/ocaml/hivex/*.cmx %exclude %{_libdir}/ocaml/hivex/*.mli %{_libdir}/ocaml/stublibs/*.so %{_libdir}/ocaml/stublibs/*.so.owner %files -n ocaml-%{name}-devel %{_libdir}/ocaml/hivex/*.a %{_libdir}/ocaml/hivex/*.cmxa %{_libdir}/ocaml/hivex/*.cmx %{_libdir}/ocaml/hivex/*.mli %files -n perl-%{name} %{perl_vendorarch}/* %{_mandir}/man3/Win::Hivex.3pm* %{_mandir}/man3/Win::Hivex::Regedit.3pm* %{_bindir}/hivexregedit %{_mandir}/man1/hivexregedit.1* %files -n python3-%{name} %{python3_sitearch}/hivex/ %{python3_sitearch}/*.so %files -n ruby-%{name} %doc ruby/doc/site/* %{ruby_vendorlibdir}/hivex.rb %{ruby_vendorarchdir}/_hivex.so %changelog * Wed Jan 18 2023 daviddavid <daviddavid> 1.3.23-1.mga9 + Revision: 1934312 - new version: 1.3.23 * Tue Jun 07 2022 umeabot <umeabot> 1.3.21-7.mga9 + Revision: 1863167 - Rebuild for Perl 5.36 * Thu May 19 2022 pterjan <pterjan> 1.3.21-6.mga9 + Revision: 1858891 - Rebuild for OCaml 4.14 * Tue Mar 29 2022 umeabot <umeabot> 1.3.21-5.mga9 + Revision: 1832837 - Mageia 9 Mass Rebuild * Fri Feb 25 2022 pterjan <pterjan> 1.3.21-4.mga9 + Revision: 1784562 - Rebuild for Ruby 3.1 * Thu Feb 17 2022 tv <tv> 1.3.21-3.mga9 + Revision: 1778426 - Rebuild for python-3.10 * Wed Oct 13 2021 tv <tv> 1.3.21-2.mga9 + Revision: 1750913 - Disable test-fcntl too - Disable some failing gnulib tests - Display test failures - Rebuild for ocaml 4.13.1 - New upstream version 1.3.21. - Fixes CVE-2021-3622 limit recursion in ri-records. - Mark LICENSE as a license file * Mon May 24 2021 umeabot <umeabot> 1.3.20-2.mga9 + Revision: 1727660 - Rebuild for perl 5.34 * Thu May 06 2021 tv <tv> 1.3.20-1.mga9 + Revision: 1721647 - New upstream version 1.3.20. - Fixes CVE-2021-3504 missing bounds check in hivex_open. * Fri Mar 26 2021 daviddavid <daviddavid> 1.3.19-14.mga9 + Revision: 1710342 - disable tests on armv7 for now * Fri Mar 26 2021 daviddavid <daviddavid> 1.3.19-13.mga9 + Revision: 1710331 - rebuild for python 3.9 * Wed Mar 03 2021 tv <tv> 1.3.19-12.mga9 + Revision: 1696711 - rebuild for ocaml-4.12 * Mon Nov 23 2020 tv <tv> 1.3.19-11.mga8 + Revision: 1648731 - ruby-hivex depends on ruby & libguestfs - Move hivexregedit to perl-hivex subpackage, since otherwise hivex and hence libguestfs depends on perl (RHBZ#1194158). * Thu Nov 19 2020 daviddavid <daviddavid> 1.3.19-10.mga8 + Revision: 1647704 - new version: 1.3.19 * Thu Jun 18 2020 tv <tv> 1.3.18-10.mga8 + Revision: 1596451 - rebuild for perl-5.32 + umeabot <umeabot> - Rebuild for perl 5.32 * Mon Mar 02 2020 pterjan <pterjan> 1.3.18-8.mga8 + Revision: 1553140 - Rebuild for ruby 2.7 * Fri Feb 28 2020 umeabot <umeabot> 1.3.18-7.mga8 + Revision: 1551124 - Rebuild for ocaml 4.10.0 final * Wed Feb 19 2020 umeabot <umeabot> 1.3.18-6.mga8 + Revision: 1543761 - Mageia 8 Mass Rebuild * Thu Jan 23 2020 tv <tv> 1.3.18-5.mga8 + Revision: 1482251 - rebuild for ocaml-4.10 + wally <wally> - replace deprecated %%configure2_5x * Sat Jan 04 2020 tv <tv> 1.3.18-4.mga8 + Revision: 1476440 - rebuild with new readline * Sat Sep 21 2019 daviddavid <daviddavid> 1.3.18-3.mga8 + Revision: 1444350 - rebuild for python3.8 - drop python2 support * Tue Aug 27 2019 tv <tv> 1.3.18-2.mga8 + Revision: 1433112 - rebuild with perl-5.30 * Sat Feb 09 2019 daviddavid <daviddavid> 1.3.18-1.mga7 + Revision: 1364442 - new version: 1.3.18 * Tue Jan 08 2019 daviddavid <daviddavid> 1.3.15-6.mga7 + Revision: 1352734 - rebuild for new Python 3.7 * Tue Oct 23 2018 tv <tv> 1.3.15-5.mga7 + Revision: 1324020 - rebuild with ocaml-4.07.1 * Mon Oct 22 2018 pterjan <pterjan> 1.3.15-4.mga7 + Revision: 1323715 - Rebuild for ocaml 4.07 * Sun Sep 23 2018 umeabot <umeabot> 1.3.15-3.mga7 + Revision: 1298200 - Mageia 7 Mass Rebuild * Tue Aug 07 2018 daviddavid <daviddavid> 1.3.15-2.mga7 + Revision: 1248469 - rebuild for new perl 5.28.0 * Thu Mar 29 2018 kekepower <kekepower> 1.3.15-1.mga7 + Revision: 1213354 - Update to version 1.3.15 - Rediffed patch * Mon Jan 01 2018 pterjan <pterjan> 1.3.14-6.mga7 + Revision: 1188457 - Rebuild for Ruby 2.5 * Sun Nov 26 2017 tv <tv> 1.3.14-5.mga7 + Revision: 1179563 - add fixes from FC - rebuild for new ocaml * Thu Aug 31 2017 pterjan <pterjan> 1.3.14-4.mga7 + Revision: 1150305 - Install into vendor dirs - Rebuild for perl ABI changes - Rebuild for new Ruby * Sat Aug 05 2017 pterjan <pterjan> 1.3.14-2.mga7 + Revision: 1135224 - Rebuild for python 3.6 * Sat Jul 22 2017 daviddavid <daviddavid> 1.3.14-1.mga7 + Revision: 1128676 - new version: 1.3.14 - create python2 and python3 subpackages and make python3 the default + neoclust <neoclust> - Rebuild against new Perl 5.26 * Sun Sep 25 2016 pterjan <pterjan> 1.3.13-3.mga6 + Revision: 1056211 - Rebuild for fix in ocaml * Sat Jun 18 2016 pterjan <pterjan> 1.3.13-2.mga6 + Revision: 1022149 - Rebuild for perl 5.22.2 * Thu Mar 24 2016 daviddavid <daviddavid> 1.3.13-1.mga6 + Revision: 994749 - new version: 1.3.13 - remove merged upstream patches - add missing BR on ruby-minitest needed for testsuite * Wed Feb 10 2016 pterjan <pterjan> 1.3.8-13.mga6 + Revision: 953009 - Rebuild for new ocaml * Wed Nov 11 2015 daviddavid <daviddavid> 1.3.8-12.mga6 + Revision: 902018 - rebuild for new ruby 2.2.3 * Mon Jul 27 2015 sander85 <sander85> 1.3.8-11.mga6 + Revision: 858247 - Drop BR on perl-ExtUtils-MakeMaker-Coverage * Thu Jun 25 2015 tv <tv> 1.3.8-10.mga6 + Revision: 843532 - rebuild with soname-ified perl * Tue Jun 23 2015 tv <tv> 1.3.8-9.mga6 + Revision: 841186 - rebuild for perl-5.22 * Tue Dec 09 2014 luigiwalser <luigiwalser> 1.3.8-8.mga5 + Revision: 802375 - add patches from fedora to fix handling of invalid hive files (CVE-2014-9273) * Wed Oct 15 2014 umeabot <umeabot> 1.3.8-7.mga5 + Revision: 748256 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 1.3.8-6.mga5 + Revision: 680156 - Mageia 5 Mass Rebuild * Fri Aug 08 2014 wally <wally> 1.3.8-5.mga5 + Revision: 661083 - fix libification * Tue Jun 03 2014 jquelin <jquelin> 1.3.8-4.mga5 + Revision: 632356 - perl 5.20.0 rebuild * Tue Jun 03 2014 pterjan <pterjan> 1.3.8-3.mga5 + Revision: 632299 - Rebuild for perl 5.20 * Tue Oct 22 2013 umeabot <umeabot> 1.3.8-2.mga4 + Revision: 543425 - Mageia 4 Mass Rebuild * Tue Oct 15 2013 malo <malo> 1.3.8-1.mga4 + Revision: 498713 - new version 1.3.8 * Sat Sep 21 2013 fwang <fwang> 1.3.7-7.mga4 + Revision: 482942 - rebuild for ruby 2.0 * Thu Jun 20 2013 fwang <fwang> 1.3.7-6.mga4 + Revision: 445195 - use ruby-test-unit - try build with ruby-minitest - add debian patch to have it build with latest ruby * Wed May 29 2013 fwang <fwang> 1.3.7-5.mga4 + Revision: 430396 - rebuild for new perl * Fri Feb 08 2013 fwang <fwang> 1.3.7-4.mga3 + Revision: 396861 - rebuild for new rdoc * Sat Jan 12 2013 umeabot <umeabot> 1.3.7-3.mga3 + Revision: 353273 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Fri Nov 02 2012 fwang <fwang> 1.3.7-2.mga3 + Revision: 312423 - update file list - br minitest for check - rebuild for new ruby * Wed Oct 24 2012 malo <malo> 1.3.7-1.mga3 + Revision: 309754 - update RPM group - update to 1.3.7 * Thu Jun 14 2012 malo <malo> 1.3.6-1.mga3 + Revision: 260672 - update to 1.3.6 * Thu May 31 2012 fwang <fwang> 1.3.3-4.mga3 + Revision: 251944 - rebuild for new perl + jquelin <jquelin> - perl 5.16 rebuild - perl 5.16 rebuild * Wed Mar 07 2012 malo <malo> 1.3.3-1.mga2 + Revision: 220694 - new version 1.3.3 * Thu Nov 17 2011 malo <malo> 1.3.2-1.mga2 + Revision: 168368 - patch from Fedora to fix autoconf - fix BuildRequires - fix Source URL - new version 1.3.2 - added patches from Fedora (allows to build correctly) - enable Ruby bindings - spec clean up * Sun Jun 12 2011 sander85 <sander85> 1.2.2-3.mga2 + Revision: 104652 - Rebuild for perl 5.14 * Thu Mar 24 2011 boklm <boklm> 1.2.2-2.mga1 + Revision: 76154 - rebuild for bug #497 * Mon Mar 21 2011 saispo <saispo> 1.2.2-1.mga1 + Revision: 75279 - imported package hivex