Opened 6 months ago

Closed 3 months ago

#14695 closed bug (fixed)

Specify Haiku version in the ISO's volume-id

Reported by: fidencio Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: - General Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Haiku (between several others) is one of the systems which libosinfo/osinfo-db provides information about for applications like virt-manager, GNOME Boxes, etc.

libosinfo uses the volume-id of the ISO in order to properly detect its version. In case the volume-id of different ISOs are the same, we fallback to the volume-size of the ISO and it usually provides us a good match.

For Haiku, however, we've been facing some issues since R1/beta1 release. For R1/beta1, its volume-id is set as "booting" and both the x86 and x86_64 versions have *exactly* the same size, making it impossible to distinguish them.

More than that, we have an entry of haiku-nightly, which also has the same "booting" volume-id and makes then the R1/beta1 (which is still not part of our db, due to this issue) be recognized as nightly.

The simplest solution I can see here is, if possible, to have more significant volume-id for the ISOs, like:

  • HaikuNightly
  • HaikuR1Beta1

Would be possible to have this fixed in the next releases?

About libosinfo/osinfo-db: *libosinfo:

*osinfo-db:

Change History (5)

comment:1 Changed 5 months ago by kallisti5

Ideally, we'll want to capture the branch name in our build system and pass it here:

https://git.haiku-os.org/haiku/tree/build/jam/ImageRules#n1550

I think we should use the following:

  • "<distroname>/$HAIKU_DISTRO_COMPATIBILITY/<branchname>"
  • "Haiku/default/master"
  • "Haiku/official/r1beta1"

Branch:

  • "master" is nightly
  • "r1beta1" is a release from the r1beta1 branch

HAIKU_DISTRO_COMPATIBILITY: (if we have space in VolumeID)

  • "default" means a normal nightly / rapid testing build
  • "compatible" is generally a 3rd party distro (not used much)
  • "official" is an official release.

libosinfo could even search for "Haiku/*/r 1*" to determine if it is an R1 release vs R2.

I don't think having the exact build in the iso volume name is needed since most filtering will be "Haiku R1, Haiku R2, etc"

Distroname should be Haiku in all cases. Other distros are free to come in and make their own, but they won't be "Haiku" :-)

Last edited 5 months ago by kallisti5 (previous) (diff)

comment:2 Changed 5 months ago by fidencio

I personally would suggest is something like: Haiku-<arch>-<version>

So, for a x86 version of Nightly it'd be "Haiku-x86-nightly" and for a x86_64 version of r1beta1 it'd be "Haiku-x86_64-r1beta1".

Does this make sense? Is the suggestion reasonable?

comment:3 Changed 3 months ago by kallisti5

I'm ok with that... however, partitioning systems would differ wildly between x86 (ISO, EFI,OS), arm (FAT32 u-boot partition,OS), riscv64 (EFI, Coreboot, OS), powerpc (ISO, OS), etc. So the architecture isn't really as useful?

-- Alex

comment:4 Changed 3 months ago by fidencio

I've opened a PR with a fix for that: https://review.haiku-os.org/c/haiku/+/1034

comment:5 Changed 3 months ago by waddlesplash

Resolution: fixed
Status: newclosed

Merged in hrev52866. Thanks!

Note: See TracTickets for help on using tickets.