83b1643
Name:           hivex
a3678e8
Version:        1.2.2
5b898fe
Release:        1%{?dist}
83b1643
Summary:        Read and write Windows Registry binary hive files
83b1643
83b1643
Group:          Development/Libraries
83b1643
License:        LGPLv2
83b1643
URL:            http://libguestfs.org/
83b1643
Source0:        http://libguestfs.org/download/%{name}-%{version}.tar.gz
83b1643
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
83b1643
83b1643
BuildRequires:  perl
7c2336c
BuildRequires:  perl-Test-Simple
7c2336c
BuildRequires:  perl-Test-Pod
7c2336c
BuildRequires:  perl-Test-Pod-Coverage
7c2336c
BuildRequires:  perl-ExtUtils-MakeMaker
5b898fe
BuildRequires:  perl-IO-stringy
7c2336c
BuildRequires:  perl-libintl
83b1643
BuildRequires:  ocaml
83b1643
BuildRequires:  ocaml-findlib-devel
83b1643
BuildRequires:  readline-devel
83b1643
BuildRequires:  libxml2-devel
83b1643
83b1643
# This library used to be part of libguestfs.  It won't install alongside
83b1643
# the old version of libguestfs that included this library:
83b1643
Conflicts:      libguestfs <= 1:1.0.84
83b1643
83b1643
83b1643
%description
83b1643
Hive files are the undocumented binary blobs that Windows uses to
83b1643
store the Windows Registry on disk.  Hivex is a library that can read
83b1643
and write to these files.
83b1643
83b1643
'hivexsh' is a shell you can use to interactively navigate a hive
83b1643
binary file.
83b1643
5b898fe
'hivexregedit' lets you export and merge to the textual regedit
5b898fe
format.
5b898fe
83b1643
'hivexml' can be used to convert a hive file to a more useful XML
83b1643
format.
83b1643
83b1643
In order to get access to the hive files themselves, you can copy them
83b1643
from a Windows machine.  They are usually found in
83b1643
%%systemroot%%\system32\config.  For virtual machines we recommend
83b1643
using libguestfs or guestfish to copy out these files.  libguestfs
83b1643
also provides a useful high-level tool called 'virt-win-reg' (based on
83b1643
hivex technology) which can be used to query specific registry keys in
83b1643
an existing Windows VM.
83b1643
83b1643
For Perl bindings, see 'perl-hivex'.
83b1643
83b1643
For OCaml bindings, see 'ocaml-hivex-devel'.
83b1643
83b1643
83b1643
%package devel
83b1643
Summary:        Development tools and libraries for %{name}
83b1643
Group:          Development/Libraries
83b1643
Requires:       %{name} = %{version}-%{release}
83b1643
Requires:       pkgconfig
83b1643
83b1643
83b1643
%description devel
83b1643
%{name}-devel contains development tools and libraries
83b1643
for %{name}.
83b1643
83b1643
83b1643
%package -n ocaml-%{name}
83b1643
Summary:       OCaml bindings for %{name}
83b1643
Group:         Development/Libraries
83b1643
Requires:      %{name} = %{version}-%{release}
83b1643
83b1643
83b1643
%description -n ocaml-%{name}
83b1643
ocaml-%{name} contains OCaml bindings for %{name}.
83b1643
83b1643
This is for toplevel and scripting access only.  To compile OCaml
83b1643
programs which use %{name} you will also need ocaml-%{name}-devel.
83b1643
83b1643
83b1643
%package -n ocaml-%{name}-devel
83b1643
Summary:       OCaml bindings for %{name}
83b1643
Group:         Development/Libraries
83b1643
Requires:      ocaml-%{name} = %{version}-%{release}
83b1643
83b1643
83b1643
%description -n ocaml-%{name}-devel
83b1643
ocaml-%{name}-devel contains development libraries
83b1643
required to use the OCaml bindings for %{name}.
83b1643
83b1643
83b1643
%package -n perl-%{name}
83b1643
Summary:       Perl bindings for %{name}
83b1643
Group:         Development/Libraries
83b1643
Requires:      %{name} = %{version}-%{release}
83b1643
Requires:      perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
83b1643
83b1643
83b1643
%description -n perl-%{name}
83b1643
perl-%{name} contains Perl bindings for %{name}.
83b1643
83b1643
83b1643
%prep
83b1643
%setup -q
83b1643
83b1643
83b1643
%build
83b1643
%configure --disable-static
066ec83
066ec83
# 'INSTALLDIRS' ensures that perl libs are installed in the vendor dir
066ec83
# not the site dir.
066ec83
make INSTALLDIRS=vendor %{?_smp_mflags}
83b1643
83b1643
83b1643
%install
83b1643
rm -rf $RPM_BUILD_ROOT
83b1643
make install DESTDIR=$RPM_BUILD_ROOT
83b1643
83b1643
# Remove unwanted libtool *.la file:
83b1643
rm $RPM_BUILD_ROOT%{_libdir}/libhivex.la
83b1643
83b1643
# Remove unwanted Perl files:
83b1643
find $RPM_BUILD_ROOT -name perllocal.pod -delete
83b1643
find $RPM_BUILD_ROOT -name .packlist -delete
83b1643
find $RPM_BUILD_ROOT -name '*.bs' -delete
83b1643
83b1643
%find_lang %{name}
83b1643
83b1643
83b1643
%clean
83b1643
rm -rf $RPM_BUILD_ROOT
83b1643
83b1643
83b1643
%post -p /sbin/ldconfig
83b1643
83b1643
%postun -p /sbin/ldconfig
83b1643
83b1643
83b1643
%files -f %{name}.lang
83b1643
%defattr(-,root,root,-)
83b1643
%doc README LICENSE
83b1643
%{_bindir}/hivexget
83b1643
%{_bindir}/hivexml
5b898fe
%{_bindir}/hivexregedit
83b1643
%{_bindir}/hivexsh
83b1643
%{_libdir}/libhivex.so.*
83b1643
%{_mandir}/man1/hivexget.1*
83b1643
%{_mandir}/man1/hivexml.1*
5b898fe
%{_mandir}/man1/hivexregedit.1*
83b1643
%{_mandir}/man1/hivexsh.1*
83b1643
83b1643
83b1643
%files devel
83b1643
%defattr(-,root,root,-)
83b1643
%doc LICENSE
83b1643
%{_libdir}/libhivex.so
83b1643
%{_mandir}/man3/hivex.3*
83b1643
%{_includedir}/hivex.h
83b1643
%{_libdir}/pkgconfig/hivex.pc
83b1643
83b1643
83b1643
%files -n ocaml-%{name}
83b1643
%defattr(-,root,root,-)
83b1643
%doc README
83b1643
%{_libdir}/ocaml/hivex
83b1643
%exclude %{_libdir}/ocaml/hivex/*.a
83b1643
%exclude %{_libdir}/ocaml/hivex/*.cmxa
83b1643
%exclude %{_libdir}/ocaml/hivex/*.cmx
83b1643
%exclude %{_libdir}/ocaml/hivex/*.mli
83b1643
%{_libdir}/ocaml/stublibs/*.so
83b1643
%{_libdir}/ocaml/stublibs/*.so.owner
83b1643
83b1643
83b1643
%files -n ocaml-%{name}-devel
83b1643
%defattr(-,root,root,-)
83b1643
%{_libdir}/ocaml/hivex/*.a
83b1643
%{_libdir}/ocaml/hivex/*.cmxa
83b1643
%{_libdir}/ocaml/hivex/*.cmx
83b1643
%{_libdir}/ocaml/hivex/*.mli
83b1643
83b1643
83b1643
%files -n perl-%{name}
83b1643
%defattr(-,root,root,-)
83b1643
%{perl_vendorarch}/*
83b1643
%{_mandir}/man3/Win::Hivex.3pm*
5b898fe
%{_mandir}/man3/Win::Hivex::Regedit.3pm*
83b1643
83b1643
83b1643
%changelog
a3678e8
* Wed Apr 28 2010 Richard W.M. Jones <rjones@redhat.com> - 1.2.2-1
a3678e8
- New upstream version 1.2.2.
a3678e8
5b898fe
* Tue Apr 20 2010 Richard W.M. Jones <rjones@redhat.com> - 1.2.1-1
5b898fe
- New upstream version 1.2.1.
5b898fe
- Includes new tool for exporting and merging in regedit format.
5b898fe
066ec83
* Mon Mar  1 2010 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-2.fc12.1
066ec83
- On F-12 we have to pass INSTALLDIRS=vendor to 'make' to get Perl
066ec83
  package installed in vendordir instead of sitedir.
066ec83
7c2336c
* Mon Mar  1 2010 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-2
83b1643
- New upstream version 1.2.0.
83b1643
- This includes OCaml and Perl bindings, so add these as subpackages.
83b1643
83b1643
* Mon Feb 22 2010 Richard W.M. Jones <rjones@redhat.com> - 1.1.2-3
83b1643
- Missing Epoch in conflicts version fixed.
83b1643
83b1643
* Mon Feb 22 2010 Richard W.M. Jones <rjones@redhat.com> - 1.1.2-2
83b1643
- Add Conflicts libguestfs <= 1.0.84.
83b1643
83b1643
* Mon Feb 22 2010 Richard W.M. Jones <rjones@redhat.com> - 1.1.2-1
83b1643
- Initial Fedora RPM.