[syslinux] Module Versioning

Ady ady-sf at hotmail.com
Mon Mar 7 20:15:23 PST 2016


> On Mon, 7 Mar 2016, Pete Batard via Syslinux wrote:
> > I could also say something about the ISOHybrid _HACK_, which clearly is not 
> > something that was ever intended by the people who designed ISO-9660, and 
> > that could "either work if you're lucky or fail if you're not". Looking at 
> > the recent history of this mailing list, it does seem to me like ISOHybrid 
> > can be a bit of a headache...
> 
> Yes I agree it's not a perfect solution. The difference is that the 
> headache in this case is for those tech savvy people creating the hybrid 
> iso who should be able to figure it out so the non-tech savvy end users 
> should not have a problem with it as long as used as intended. If the end 
> users start to modify an iso without knowing what they are doing they 
> could easily end up with problems. If Rufus can do it automatically for 
> them then they are lucky, if not then they just broke something they were 
> not supposed to change. I mean, trying to do something that was not 
> intended by those that designed it can be a valid problem but not easy to 
> solve cleanly.
> 
> If you're already rebuilding the boot loader on the iso you could also 
> replace all of syslinux with a known working version that you have all the 
> matching modules for and only keep the config. (This is what Ferenc has 
> suggested.) This might save you having to keep all possible versions of 
> syslinux ever appeared in the wild and avoid the need to detect the 
> version of syslinux on the iso. But can break with patched syslinux 
> versions or if they have custom modules. (But then trying to use a 
> substitute part from a release for this customised version would likely 
> break too.) I'm not sure if the config file is more portable between 
> syslinux versions than modules but I guess it would be so for this keeping 
> fewer versions could be enough.
> 
> I was also thinking about storing hashes of files that you have modules 
> for and try to idenfify the version by comparing the hashes instead of 
> trying to extract a version number from the binary, but this may be 
> problematic as well because building with different compilers will result 
> in different hashes and you don't know what was used by those created the 
> iso.
> 
> I don't see a way to solve this problem in a way that is fool-proof and 
> cannot break as this is inherently fragile because you can't know what's 
> on the iso. It can be anything, even containing custom modules or patched, 
> unreleased versions.
> 
> Also I'm surprised that isos converted this way still work and the 
> software on them is not confused by having its files on a different 
> filesystem loosing case sensitivity, access rights, links, etc. For simple 
> live CDs running entirely from an initrd this could work but for anything 
> more complex than that I wonder how it does not break.
> 
> Regards,
> BALATON Zoltan
 
There are several different issues / discussions / matters mentioned 
here. This is not the first time I read about them. Sometimes, it might 
just seem a matter of opinion / taste / preference / needs.

Although these points can be an interesting discussion for some 
participants, I am going to respectfully request to go back to the main 
point in this email thread: improving the version identification in 
Syslinux's binaries, including modules.

Pete's experience is valuable for the main matter in question, but it 
is not the only one. While testing multiple "versions" of Syslinux for 
comparison (regressions, consistent behavior, etc.), it is 
not-so-difficult to mix binaries of different "versions".

Developers tend to assume (regarding other people / users) a certain 
level of knowledge, skills... My experience with helping other users, 
distros and my own beta-testing as common user suggest that the need 
for a better versioning identification is not limited to release and 
pre-release (as others have suggested in this email thread).

Unless there is a clear "standardize", methodical way to add a clear 
"version" identification to Syslinux's binaries (including for distros, 
with patches), I am not going to consider the matter really solved 
(other might not care, or might be pleased with less than that). I 
should know it, as I am the one actually encountering this type of 
problems while testing as _common user_ and helping solve the mismatch 
version problems.

As I mentioned before, I have seen / read / helped users with mismatch 
version problems countless times already, for years now.

Please, improve the versioning identification (not just for official 
upstream (pre-)prelease).

Thank you for focusing on this matter.

Regards,
Ady.


More information about the Syslinux mailing list