[virt-tools-list] [PATCH RFC virtio-win-pkg-scripts 0/2] helpers to standardize driver directory layout
Cole Robinson
crobinso at redhat.com
Wed Jan 20 23:33:26 UTC 2016
On 01/18/2016 09:15 AM, Roman Kagan wrote:
> As was discussed some time ago on libguestfs ML
> (http://thread.gmane.org/gmane.comp.emulators.guestfs/8341/focus=8576)
> there is a need in a tool that would lay out the Windows guest drivers
> on a filesystem by Windows flavor and architecture in a way that is
>
> - easy to consume by both humans and programs
> - dependable in the long term
>
> This patch series brings in the scripts to do this.
>
> The scripts are based on the idea that the most actual information about
> the suitability of a driver for a particular flavor / architecture is
> contained in the driver's catalog file (in particular, the process of
> ISV or WHQL siging may affect it).
>
> Since the catalog files are DER-encoded ASN.1 structures the first patch
> introduces a module to extract relevant information from a .cat file
> using PyASN1 library.
>
Sounds good. Have you tested this against WHQL cat files? Or just those
chipped with the public/fedora drivers?
> The second patch introduces a script that lays out the drivers by
> arch/flavor.
> It assumes that
>
> - every driver for a particular arch/flavor is contained in a separate
> directory
>
This is correct... but in fedora/RHEL we do use hard links to share the same
file across multiple directories, since some drivers are WHQL signed for
multiple windows versions, so keeping a full copy is redundant. I don't think
that matters here though.
(TBH it's difficult to keep all the variables here in my head, so I may be
wrong about things... but once there's more complete patches I'll play with
them and verify my assumptions)
> - the directory contains a single .inf file; the basename of the file is
> taken as the name of the package
>
> - the .cat file for the package is in the same directory and has the
> same basename as the .inf
>
> - all the files contained in that directory are associated with the
> driver and go together with it no matter if they are listed in .inf or
> .cat or not.
>
Yes I believe these assumptions are correct.
> The virtio-win driver packages I could get my hands on all matched the
> above assumptions.
>
All in all this sounds good. The code looks fine modulo some style nits that
aren't worth harping over, they can be cleaned up later.
Thanks,
Cole
> [ There's no integration with the rest of the system yet as I'd like to
> receive some comments on these two first. ]
>
> Roman Kagan (2):
> add parser for driver catalog files
> add script to lay out drivers based on their catalog files
>
> util/cpdrivers.py | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> util/parsecat.py | 166 +++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 357 insertions(+)
> create mode 100644 util/cpdrivers.py
> create mode 100644 util/parsecat.py
>
More information about the virt-tools-list
mailing list