Skip to content
Branch: master
Go to file
Code

Latest commit

fidencio authored and vrozenfe committed e118a24 Jun 24, 2020
The files must be installed under %{_datadir}/osinfo-db/os/microsoft...
instead of %{_datadir}/osinfo-db/microsoft.

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
Reported-by: Vadim Rozenfeld <vrozenfe@redhat.com>

Files

Permalink
Failed to load latest commit information.

README.md

Scripts for packaging virtio-win drivers into VFDs, ISO, and an RPM. The goal here is to generate a virtio-win RPM that matches the same file layout as the RHEL virtio-win RPM.

The build process is fed by input from 5 sources:

Build input is mirrored at: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/virtio-win-pkg-scripts-input/

For more details about the RPM, repos, public direct-downloads layout, etc, see: https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/

Contributing

To reproduce the build process there's 3 steps:

  • Install host build dependencies. See the section below about make-installer.py
  • fetch-latest-builds.py --rebuild: this will grab the input used for the most recent published build
  • Run make-fedora-rpm.py

Scripts

make-fedora-rpm.py

Fedora-specific script that ties it all together. Run it like:

./make-fedora-rpm.py

What it does roughly:

  • Extracts all the .zip files in $scriptdir/new-builds/ to a temporary directory. The .zip files should contain all the build input for make-driver-dir.py. I prepopulate this with fetch-latest-builds.py but other people can use the build input mirror mentioned above.
  • Runs make-driver-dir.py on the unzipped output
  • Runs make-virtio-win-rpm-archive.py on the make-driver-dir.py output
  • Updates the virtio-win.spec
  • Runs ./make-repo.py

make-driver-dir.py

Run the script like:

./make-driver-dir.py /path/to/extracted-new-builds

It will copy the input to $PWD/drivers_output, with the file layout that make-virtio-win-rpm-archive.py expects, and what is largely shipped on the .iso file. The input directory is set up by make-fedora-rpm.py

make-installer.py

This uses a virtio-win-guest-tools-installer.git git submodule to build .msi installers for all the drivers. Invoking this successfully requires quite a few RPMs installed on the host

make-virtio-win-rpm-archive.py

Run the script like:

./make-virtio-win-rpm-archive.py \
    virtio-win-$version \
    /path/to/make-driver-dir-output

It will output an archive virtio-win-$version-bin-for-rpm.zip in the current directory that is then used in the specfile.

make-repo.py

Populates my local mirror of the fedorapeople.org virtio-win tree, moving direct downloads and RPMs into place, updating some convenience redirects, and then syncing the content up to fedorapeople.org.

fetch-latest-builds.py

Cron script I run to watch for latest builds at the sources listed at the top of this file. If new builds are found, it downloads them to ./new-builds.

About

Scripts for packaging virtio-win drivers

Resources

License

Releases

No releases published

Languages

You can’t perform that action at this time.