Spec URL: http://www.annexia.org/tmp/hivex.spec
SRPM URL: http://www.annexia.org/tmp/hivex-1.1.2-1.fc12.src.rpm
Hive files are the undocumented binary blobs 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
'hivexml' can be used to convert a hive file to a more useful XML
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.
Note that this package will conflict with libguestfs if you have that installed.
This is because the code in this package is being separated out from
the main libguestfs package.
Koji scratch build for dist-f13:
hivex.src: W: unexpanded-macro %description -l C %systemroot
I think this is a bug in rpmlint (bug 567231).
hivex.src: W: spelling-error %description -l en_US systemroot -> system root, system-root, systematic
hivex.src: W: spelling-error %description -l en_US config -> con fig, con-fig, configure
hivex.src: W: spelling-error %description -l en_US libguestfs -> guestrooms, guesthouse, guestroom
hivex.src: W: spelling-error %description -l en_US guestfish -> guest fish, guest-fish, guesthouse
hivex.src: W: spelling-error %description -l en_US virt -> dirt, girt, vi rt
Not spelling mistakes.
rpmlint has been run. Reported errors can be ignored.
Package is named according to the package naming guidelines.
spec file name matches the base package name
Package meets the packaging guidelines
Package has an approved license (LGPLv2)
spec license matches actual license.
LICENSE is included in %doc
spec file is in English
spec file is legible
Sources in srpm match upstream
Package builds on at least x86_64 and i686
spec file does not exclude any architectures.
All BuildRequires are specified
spec file uses %find_lang
spec file calls ldconfig in %post and %postun
Package does not bundle system libraries
Package is not relocatable
Package does not explicitly create any directories
* Both the base and devel pacakges list %doc LICENSE
Permissions are set properly
spec file has a %clean section
Package uses macros consistently
Package doesn't contain any large documentation files
%doc files do not affect runtime
Header file is in -devel package
Package doesn't include any static libraries
devel package Requires pkgconfig
devel package contains libhivex.so
devel package requires exact base package version
Package does not contain any libtool archives
Package does not any GUI applications
Pacakge does not own any files or directories of other packages
%install runs rm -rf $RPM_BUILD_ROOT
All filenames are valid UTF-8
hivex as packaged here would conflict with libguestfs as currently included in Fedora. This is a blocker until libguestfs is updated to remove hivex.
hivex should include Conflicts: libguestfs < (version without hivex, when released)
libguestfs will presumably require hivex in any case, meaning a user can upgrade seamlessly.
Thanks for reviewing this so quickly. Additional comments below:
(In reply to comment #4)
> * Both the base and devel pacakges list %doc LICENSE
I'm going to leave this, as I believe that the current Fedora
packaging guidelines are illegal. See my reasoning here:
> hivex as packaged here would conflict with libguestfs as currently included in
> Fedora. This is a blocker until libguestfs is updated to remove hivex.
> hivex should include Conflicts: libguestfs < (version without hivex, when
Agreed. I will make a new package in a moment that contains:
Conflicts: libguestfs <= 1.0.84
> libguestfs will presumably require hivex in any case, meaning a user can
> upgrade seamlessly.
Spec URL: http://www.annexia.org/tmp/hivex.spec
SRPM URL: http://www.annexia.org/tmp/hivex-1.1.2-2.fc12.src.rpm
The only change is:
* Mon Feb 22 2010 Richard W.M. Jones <email@example.com> - 1.1.2-2
- Add Conflicts libguestfs <= 1.0.84.
I agree LICENSE must be included in both packages. In fact, it should also be in the -debuginfo package, which includes the full source. No idea how you'd do that, though. That's a problem for another day.
Added Conflicts line assumes that there will be no release of libguestfs after 1.0.84 which includes hivex. As you're also the libguestfs maintainer, I'll trust you that's true ;)
Honesty in advertising: I didn't actually test a build with the above Conflicts line in place because there is no libguestfs build which would currently satisfy it. I also think there's a typo in there, because libguestfs has an Epoch. Should be 1:1.0.84. Assume this will be cleared up.
I made the change to the epoch ...
New Package CVS Request
Package Name: hivex
Short Description: Read and write Windows Registry binary hive files
Owners: rjones mbooth
Branches: F-12 F-13 EL-5
CVS done (by process-cvs-requests.py).
I've only built this in Rawhide for the moment, because otherwise it will
conflict with existing libguestfs in stable branches. When I upgrade
libguestfs over time in those stable branches, I will build hivex there
You've added the wrong Matthew Booth to the list of package owners. My FAS account name is mbooth, but I did not review this package. You wanted the *other* Matthew Booth's FAS account name... :-)
I will relinquish co-maintainership of this package.
Ah, sorry 'bout that. It's very confusing ...
(In reply to comment #13)
> Ah, sorry 'bout that. It's very confusing ...
Heh, tell me about it. :-)