[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