Closed Bug 1717650 Opened 3 years ago Closed 3 years ago

RockyLinux not supported in bootstrap?

Categories

(Firefox Build System :: Bootstrap Configuration, task)

Firefox 91
x86_64
Linux
task

Tracking

(firefox91 fixed)

RESOLVED FIXED
91 Branch
Tracking Status
firefox91 --- fixed

People

(Reporter: WeirdAl, Assigned: WeirdAl)

References

Details

Attachments

(2 files, 1 obsolete file)

RockyLinux just had their first general release a couple days ago. As CentOS 8 has been set to end-of-life at the end of 2021, and RockyLinux was created specifically to respond to that, I'd very much like to see this added.

I'm willing to do the work, if someone can give me pointers on how. I maintain Firefox for our company's in-house tools, so I have good motivation to proceed.

[root@2ffcebe411bd mozilla-unified]# ./mach bootstrap
Error running mach:

    ['bootstrap']

The error occurred in code that was called by the mach command. This is either
a bug in the called code itself or in the way that mach is calling it.
You can invoke |./mach busted| to check if this issue is already on file. If it
isn't, please use |./mach busted file bootstrap| to report it. If |./mach busted| is
misbehaving, you can also inspect the dependencies of bug 1543241.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

NotImplementedError: Bootstrap support for this Linux distro not yet available: rocky

  File "/root/mozilla/mozilla-unified/python/mozboot/mozboot/mach_commands.py", line 53, in bootstrap
    mach_context=self._mach_context,
  File "/root/mozilla/mozilla-unified/python/mozboot/mozboot/bootstrap.py", line 192, in __init__
    "distro not yet available: " + dist_id

Hey Alex!

We generally defer bootstrap logic for the various Linux distros to community support - it sounds like you're interested in setting up support for Rocky Linux, which is a big 👍 from me :)

Depending on how similar Rocky Linux is to CentOS, you might be able to just modify CentOSFedoraBootstrapper and modify the detection algorithm.

Feel free to ask further questions in this ticket or ping me on Matrix in the #build channel.
Good luck!

Patching the two files you gave me starts off well. That said, there's no "wireless-tools-devel" package available from the default RPM repositories. I'm reaching out to RockyLinux personnel with this bug report to see what I can do.

Conversation from chat.rockylinux.org:

<S​okel> weirdal: I understand. However, source builds are not supported here. We also recommend that if you're going to build your own firefox to do so via mock.
<p​j> nods
<weirdal> "mock"?
<p​j> best bet is to grab the source rpm, tweak and rebuild with mock.
<p​j> and maintain your own repo.
<Hayden Young> It's like Docker but for RPM builds.
Basically, builds your packages in a chroot to ensure reproducibility wherever it can
It's available on EPEL
mock -t epel-8-x86_64 --rebuild your-package-1-2.el8.src.rpm
<S​okel> weirdal: You essentially need to take the rpm sources, tweak them, put them in a source rpm and build with the mock command.
<weirdal> Hm.  Would anyone here object to me reposting the above to the Bugzilla bug I filed?  I would like to keep it in a permanent record.
<S​okel> I'm not familiar with the firefox process of what they do upstream. According to that bug report, it seems like they have a "bootstrap" portion. Which our spec isn't doing.
<weirdal> the bootstrap is to install required packages for compiling.
<S​okel> if that's the case, then yeah, we don't need to run bootstrap, as the rpm spec takes care of getting the sources for us.
<weirdal> it actually works pretty well on CentOS 8
<S​okel> In this case, then yes, rocky would need to be added to their bootstrap mechanism if you're going to do anything by hand.
<weirdal> which is why I'm here :slightly_smiling_face:

On another note, I was able to bootstrap and compile a nearly-clean mozilla-central today after installing the "wireless-tools" and "wireless-tools-devel" packages from a third-party repository, Raven x86_64, found at https://pkgs.org/search/?q=wireless-tools . I'm about to attach a patch I crafted.

Attached patch patch (obsolete) (deleted) — Splinter Review

Thanks for the patch Alex 👍
Would you mind submitting the patch to Phabricator instead?
There's some instructions on submission here.


For the patch itself, won't other Rocky Linux users run into the same issue you did when wireless-tools-devel is attempted to be installed? When building with mock instead, what is used instead of wireless-tools-devel?

(In reply to Mitchell Hentges [:mhentges] 🦀 from comment #5)

Thanks for the patch Alex 👍
Would you mind submitting the patch to Phabricator instead?
There's some instructions on submission here.

I will. I've used Phabricator with Mozilla before. I'm just using this bug to track my notes first before going through the formal process.

For the patch itself, won't other Rocky Linux users run into the same issue you did when wireless-tools-devel is attempted to be installed?

Yes.

When building with mock instead, what is used instead of wireless-tools-devel?

I don't know yet. I'll need to get back to you.

Ah, didn't realize it was a WIP patch. Good deal, thanks.

Another note: the mock reference is https://github.com/rpm-software-management/mock/wiki

Assignee: nobody → ajvincent
Status: NEW → ASSIGNED
Attachment #9228393 - Attachment is obsolete: true
Attachment #9228425 - Attachment description: Bug 1717650 - Support RockyLinux 8.4, and drop requirement for wireless-tools-devel package. r=mhentges → Bug 1717650 - Drop requirement for wireless-tools-devel package. r=mhentges

Depends on D118532

Pushed by mhentges@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/43a93ef8a10b Drop requirement for wireless-tools-devel package. r=mhentges https://hg.mozilla.org/integration/autoland/rev/93ad3b519350 Support RockyLinux 8.4. r=mhentges
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: