Bug 1251520

Summary: Make msed x86-arch exclusive
Product: [Fedora] Fedora Reporter: Rafael Fonseca <rdossant>
Component: msedAssignee: Charles R. Anderson <cra>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: cra
Target Milestone: ---   
Target Release: ---   
Hardware: ppc   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-11 14:41:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 467765, 1071880    
Attachments:
Description Flags
msed x86-exclusive patch
none
disable msed for big-endian machines none

Description Rafael Fonseca 2015-08-07 14:51:22 UTC
Created attachment 1060383 [details]
msed x86-exclusive patch

Description of problem: currently msed is allowed to compile on every platform. However, when trying to build it on a big-endian architecture it will fail with an error directive set up in the msed/MsedEndianFixup.h file:

#error This code does not support big endian architectures

After some exchanged messages with the developer he said:

"There are several reasons for the lack of BE support.  The first being a
complete lack of familiarity with any small BE systems (IBM mainframes
only).  The LinuxPBA and Rescue system are based on TinyCore and I do not
believe they have a BE/PPC image.  Finally, I have no ability to
test/debug.

In addition to the header you pointed out I am also aware of structures
that map memory areas in the syslinux PBA.  There are probably other places
in the code that I am unaware of.

My current near term plans are to add (U)EFI support, hopefully with secure
boot, so that will be my next area of focus.  After that BE support could
an option, my biggest hesitation in adding BE support is the additional
time to test on the platform and my limited ability to support BE/PPC
users.  Just trying to support the plethora of intel based platforms is
straining the amount of time I have to maintain the project..

There is no reason msed shouldn't work on ARM/PPC machines but to my
knowledge it has not been tested on non-x86 machines."

So the attached patch proposes to make msed x86-exclusive for the time being until upstream support for other architectures is actually added.

Version-Release number of selected component (if applicable): 0.23beta


How reproducible: koji-build msed on a big-endian architecture.

Comment 1 Charles R. Anderson 2015-08-07 15:28:43 UTC
Correct, although the package currently isn't building the syslinux PBA or the  LinuxPBA w/TinyCore anyway, so those points are moot.  The only piece that matters for this package is actually the "msed" binary.  The "linuxpba" binary is there for testing, but it isn't really useful without a way to boot directly into it from a PBA image (or a Live USB stick I suppose).

I agree that making this package exclusive of big-endian architectures is the only sensible thing to do for now.  However, I wonder if we have to exclude all non-x86/x86_64 arches.  Is there a way to exclude only big-endian arches?

Comment 2 Rafael Fonseca 2015-08-07 15:33:17 UTC
(In reply to Charles R. Anderson from comment #1)
> Correct, although the package currently isn't building the syslinux PBA or
> the  LinuxPBA w/TinyCore anyway, so those points are moot.  The only piece
> that matters for this package is actually the "msed" binary.  The "linuxpba"
> binary is there for testing, but it isn't really useful without a way to
> boot directly into it from a PBA image (or a Live USB stick I suppose).
> 
> I agree that making this package exclusive of big-endian architectures is
> the only sensible thing to do for now.  However, I wonder if we have to
> exclude all non-x86/x86_64 arches.  Is there a way to exclude only
> big-endian arches?

Yes, we can either make it exclusive for x86, arm and ppcle or we can exclude ppc64 and s390[x]\?. I will do a new patch for the 2nd alternative adding a comment about not having support for big-endian in the spec file. Does that sound good for you?

Comment 3 Rafael Fonseca 2015-08-07 15:57:20 UTC
Created attachment 1060425 [details]
disable msed for big-endian machines

Comment 4 Charles R. Anderson 2015-08-11 14:41:39 UTC
(In reply to Rafael Fonseca from comment #3)
> Created attachment 1060425 [details]
> disable msed for big-endian machines

Thanks, applied to all branches and built for rawhide, f23 and epel7.