yast/y2r

Bootloader installation exceptions

Closed this issue · 2 comments

binary/YRuby.cc(loadModule):148 Module /mounts/mp_0001/usr/share/YaST2/modules/BootCommon load failed: undefined method _old_mbr_disk=' for
Yast::BootCommonClass:0x0000000208c0f8 at
/mounts/mp_0001/usr/share/YaST2/include/bootloader/routines/i386.rb:11:in
initialize_bootloader_routines_i386'

Found on line 3020 in log file

Another similar exception is there on the next line, on the line 3054 and 3056.

Log file here: https://gist.github.com/vmoravec/9fac28024a8004e0e788

There were another exceptions within bootloader which I described here in yast/ycp-killer#494 , not sure if they have anything in common.

There is a bug in compilation when using --extract-files (used by include_wrappers in YCP Killer).

If you look at bootloader/src/include/bootloader/routines/i386.ycp, you can see that _old_mbr_disk is a toplevel variable. As such, it should be translated as @_old_mbr_disk, but it is translated as BootCommon._old_mbr_disk. The reason is that the i386.ycp uses BootCommon.ycp as include wrapper, but the translation considers BootCommon as some random extranal module, not "this" module, and thus translates _old_mbr_disk incorrectly.