Spec URL: http://www.annexia.org/tmp/hivex.spec SRPM URL: http://www.annexia.org/tmp/hivex-1.1.2-1.fc12.src.rpm Description: 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 binary file. '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.
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: http://koji.fedoraproject.org/koji/taskinfo?taskID=2004687
rpmlint says: 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 Additionally: 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: http://lists.fedoraproject.org/pipermail/packaging/2009-November/006654.html > Additionally: > > 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) 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 <rjones> - 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 ;) ACK.
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 InitialCC:
CVS done (by process-cvs-requests.py).
Thanks Jason! 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 too. Rawhide build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2008060
Hi Richard, 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. :-)