[virt-tools-list] [PATCH virtio-win-pkg-scripts v3 0/2] helpers to standardize driver directory layout
Vadim Rozenfeld
vrozenfe at redhat.com
Mon Feb 8 22:43:44 UTC 2016
On Mon, 2016-02-08 at 17:23 +0300, Roman Kagan wrote:
> On Sat, Feb 06, 2016 at 06:20:42PM -0500, Cole Robinson wrote:
> > Sorry for the delay, been caught up in other stuff. I'll be focusing on
> > virtio-win stuff this coming week though
> >
> > I've committed these patches now. I added a few commits on top to make my
> > pylint[1] setup happy. No functional changes.
>
> Great, thanks.
> I've accumulated a couple of fixes and enhancements in the meantime;
> I'll rebase and post them soon.
>
> > I'm realizing now that the input bits to make-driver-dir.py
> > (virtio-win/qxl/qemu-ga windows builders from RH's internal build system)
> > aren't published anywhere so there isn't any way for you to reproduce the full
> > workflow for the public RPM. I'll work on getting those mirrored on
> > fedorapeople.org
>
> Actually we started putting together our stuff, too, and encountered a
> number of issues I'd be interested to discuss.
>
> 1) since the drivers can only be built on a Windows machine, there's a
> need to define the artifact(s) produced on a Windows machine and used
> as source(s) for rpmbuild on a Linux machine (koji).
>
> We thought the most natural responsibility split (as applied to
> kvm-guest-drivers-windows) is to collect the stuff in "Install"
> subdirectories of every driver upon buildAll.bat execution in a
> single zip archive and use it as that artifact; the rest will be
> taken care of from under rpmbuild on a Linux machine. One benefit is
> that it's going to be easy to intervene manually, e.g. when doing
> signatures or whatever else.
>
> This differs from what's currently in virtio-win srpm where the
> drivers are received in a tarball whose contents was obviously
> subject to certain manipulations after building on Windows.
>
>
> 2) build scripts for kvm-guest-drivers-windows (haven't checked qxl yet)
> don't adhere to the conventions assumed by the scripts I posted.
> E.g. here's the relevant excerpt from Balloon/sys/packOne.bat:
>
> [...]
> if /i "%1"=="win8" goto create_win8
> if /i "%1"=="wlh" goto create_vista
> if /i "%1"=="win7" goto create_vista
> if /i "%1"=="wnet" goto create_xp
> if /i "%1"=="wxp" goto create_xp
> goto error_inf2cat
>
> :create_xp
> if /i "%2"=="x86" set _OSMASK_=XP_X86,Server2003_X86
> if /i "%2"=="x64" set _OSMASK_=XP_X64,Server2003_X64
> goto run_inf2cat
>
> :create_vista
> if /i "%2"=="x86" set _OSMASK_=Vista_X86,Server2008_X86,7_X86
> if /i "%2"=="x64" set _OSMASK_=Vista_X64,Server2008_X64,7_X64,Server2008R2_X64
> goto run_inf2cat
>
> :create_win8
> if /i "%2"=="x86" set _OSMASK_=8_X86
> if /i "%2"=="x64" set _OSMASK_=8_X64,Server8_X64
> call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %INST_ARC%
> goto run_inf2cat
>
> [...]
> :run_inf2cat
> inf2cat /driver:..\Install\%INST_OS%\%INST_ARC% /os:%_OSMASK_%
> [...]
>
> as a result
>
> a) there are distinct builds for XP and 2003, but they both are
> marked as matching both XP and 2003; same problem for Vista/2008
> and Win7/2008R2
> b) there's no build marked as matching Win8.1, 2012R2 and Win10
We are working on reviewing virtio-win build system, mostly toward
switching to VS2015 and adding Win10 as a build target.
Best regards,
Vadim.
>
> We have an engineer tasked with sorting this out (and submitting the
> fixes upstream of course) but ATM the scripts won't produce the
> complete and consistent driver set.
>
>
> 3) current virtio-win package includes several loosely related packages:
> virtio drivers, qxl, qga; we add our own, too. They have independent
> release cycles and build procedures (e.g. qga builds nicely with
> mingw on Linux and can be turned into a normal rpm suitable for
> shipping in e.g. Fedora)
>
> Therefore we're considering splitting the rpm into several
> independent ones with the stuff installed onto the host filesystem as
> a directory structure; the iso and floppy images would be generated
> from that right on the host (e.g. by rpm triggers or by a tool like
> supermin) rather than brought in pre-generated.
>
>
> Comments welcome,
> Thanks,
> Roman.
More information about the virt-tools-list
mailing list