FS#40571 - [qemu] seabios is deleted and replace with an outdated version

Attached to Project: Arch Linux
Opened by Steven Honeyman (stevenhoneyman) - Tuesday, 27 May 2014, 14:39 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Wednesday, 28 May 2014, 09:24 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


In this PKGBUILD I noticed that the seabios bios.bin provided with QEMU (v1.7.4) is deleted, and an older version is installed (as the package "seabios v1.7.3") which was flagged as out of date in March.

I think this must be an oversight or mistake (or is seabios package supposed to be a higher version, and the maintainer hasn't noticed?)

PKGBUILD snippet:
# provided by seabios package
rm "${pkgdir}/usr/share/qemu/bios.bin"
rm "${pkgdir}/usr/share/qemu/acpi-dsdt.aml"
rm "${pkgdir}/usr/share/qemu/q35-acpi-dsdt.aml"

Installed BIOS:
This task depends upon

Closed by  Bartłomiej Piotrowski (Barthalion)
Wednesday, 28 May 2014, 09:24 GMT
Reason for closing:  Not a bug
Additional comments about closing:  "Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List."
Comment by Steven Honeyman (stevenhoneyman) - Tuesday, 27 May 2014, 20:34 GMT
It's not an out of date package that's the issue - that can be removed if this PKGBUILD is fixed.

Also, this part seems legacy/unnecessary:

# strip scripts directory
find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
case "$(file -bi "$binary")" in
*application/x-executable*) # Binaries
/usr/bin/strip $STRIP_BINARIES "$binary";;

There are no files ever copied/created to ${pkgdir}/usr/src that I can see...
My guess is that it's been hanging around since the Kqemu days (2009-ish)

Comment by Doug Newgard (Scimmia) - Wednesday, 28 May 2014, 00:28 GMT
you want seabios 1.7.4, but the seabios package is at 1.7.3. That's the definition of an out of date package.
Comment by Dennis (dennis123123) - Wednesday, 28 May 2014, 05:40 GMT
1.7.4 is already there in qemu, but it is being deleted. It's a bug!
Comment by Steven Honeyman (stevenhoneyman) - Wednesday, 28 May 2014, 06:52 GMT
Hi Doug,

I'll try and explain it a different way, is there a language barrier between us? (I'm from the UK).

The out of date package you are referring to can be ignored, it's irrelavent.
The changes I propose (to make the package work properly, correct the issue, and all without updating any source versions):

In the QEMU package (which is -->not<-- out of date):

Remove these 3 lines:
rm "${pkgdir}/usr/share/qemu/bios.bin"
rm "${pkgdir}/usr/share/qemu/acpi-dsdt.aml"
rm "${pkgdir}/usr/share/qemu/q35-acpi-dsdt.aml"

Remove all deps and makedeps to the 'seabios' package.

And that would be problem solved :)

Hope that helps explain a little better what I meant in the bug report.

Comment by Paul Gideon Dann (giddie) - Wednesday, 28 May 2014, 08:22 GMT
Steven, the problem is that the seabios package installs to exactly that location (/usr/share/qemu), so the qemu and seabios packages would be in conflict if your suggested changes were made. (That's why the qemu package removes those files: they're supplied by a different package.) It does look to me as though the correct fix is to update the seabios package. It's already been flagged out of date. In the meantime, you can build the latest seabios from ABS, probably just by bumping the version number in the PKGBUILD.
Comment by Steven Honeyman (stevenhoneyman) - Wednesday, 28 May 2014, 08:33 GMT

I know, but one of my proposed changes was: "Remove all deps and makedeps to the 'seabios' package"

They're already combined upstream in the QEMU source - there is no need to try and add a separate seabios package. Doing so is drifting away from how QEMU upstream intends it to be.
(to add a side note on why the seabios package is a bad one; it doesn't compile or include the vgabios files - so there'll also be a mismatch)

Comment by Paul Gideon Dann (giddie) - Wednesday, 28 May 2014, 08:54 GMT
OK, well that's a different issue, I think. What you actually want is for the seabios and qemu packages to be re-combined. By the looks of it, qemu is the only official package that depends on seabios, so it's a decent candidate for combination. I've no idea why it was originally split. Maybe in case seabios were to be used by other emulators? Given that they are closely-coupled, I'm really surprised that they have different maintainers.