Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build in a container? #218

Closed
vsoch opened this issue Feb 9, 2021 · 9 comments
Closed

Build in a container? #218

vsoch opened this issue Feb 9, 2021 · 9 comments

Comments

@vsoch
Copy link

vsoch commented Feb 9, 2021

Hi! Apologies if this is a naive question, but would bedrock linux work to build in a container? I'd like to try it out, of course without blowing up any of my current machines. Thanks for your help!

@ghost
Copy link

ghost commented Feb 9, 2021

Are you asking if you can build Bedrock in a container, or are you asking if you can build using a Bedrock container?

@vsoch
Copy link
Author

vsoch commented Feb 9, 2021

If I can build Bedrock in a container (is there such a thing that already exists as a Bedrock container?). I saw some discussion in another issue about containers in CI (and needing a VM with qemu) so I'm wondering if it's even possible (and if not, why not, what would need to be done so it is?)

@ghost
Copy link

ghost commented Feb 9, 2021

By "Bedrock container", I meant a container hijacked with Bedrock. Since Bedrock is C code and bash, and I've used containers to build things all the time, I don't see how it wouldn't work. I've never tried it though. The containers in CI discussion was us talking about testing Bedrock hijacking in a container, not whether it would build.

@vsoch
Copy link
Author

vsoch commented Feb 9, 2021

Ah okay! I can test it out then. I ask because there was another flavor of Linux a few years ago (I can't remember now) that wouldn't have worked in a container. So I wanted to check that it would be safe to do in a Docker container, for example, without doing any damage to the host.

@paradigm
Copy link
Member

I share WinterWarp's confusion as to whether the question here is about building a Bedrock hijack installer/update in a container environment or if it is about installing Bedrock in a container environment.

If the question is about building Bedrock in a container environment, that should be fine. It's mostly just compiling C code.

If the question is about installing the current Bedrock 0.7 release in a container, that depends largely on the container's specifics. Bedrock is itself built around similar technologies to containers which, depending on the host container's specifics, may not nest well. Bedrock will not work, for example, in a straight chroot. If your goal is to simply try Bedrock out, I recommend a VM rather than a container for the time being.

A goal for the upcoming Bedrock 0.8 release is an official container-ish solution. That's likely still quite a ways off.

@cptpcrd
Copy link
Contributor

cptpcrd commented Feb 10, 2021

So I wanted to check that it would be safe to do in a Docker container, for example, without doing any damage to the host.

Trying to set up Bedrock in a Docker container shouldn't damage the host (unless you start disabling Docker's isolation methods); it just probably won't work.

@vsoch
Copy link
Author

vsoch commented Feb 10, 2021

I think I would likely want to build and then install it (in Docker?). I can definitely wait until 0.8 if there is some chance of messing something up.

Ah just see your message - gotcha. Is there an issue open for creating this container? If not, we can rename the title here to be specific to it. I can definitely offer to test when the time comes!

@paradigm
Copy link
Member

paradigm commented Feb 15, 2021

Is there an issue open for creating this container?

Not at the moment.

For most of Bedrock's history, the project was not GitHub-oriented. Given Bedrock's letting users get features from as many distros as is feasible, I was amenable to arguments that I should maximize choice for how people interact with the project as well. Some people like GitHub, so I made an optional presence here. Others don't, and so I made a point not to require it. (Some like reddit, some don't, etc). I've accepted things like patch files linked to me over IRC in the past. The only source I expect users to interact with is the project website at https://bedrocklinux.org, which seems acceptable to a broad audience. I documented the container idea on the website at... it was supposed to be here but apparently I failed to mention it. Amongst other things, it's needed as part of this feature to run brl fetch while installing.

As highlighted by the failure to document the container plans on the website, my attempt to be the single source cross-compiling issues and plans reported all over the place has stretched me too thin. Moreover, I worry it is one of the reasons the contributor base is so small despite interest and time. This model was fine a decade ago when Bedrock attracted a much smaller user base, but is clearly no longer feasible. I do not plan to maintain this model going forward.

For this effort the website back-end is going to need a major rework. As part of that effort, maybe we should have the website's server pull GitHub issues and re-host them. This way, people who are allergic to GitHub for whatever reason don't need to touch it, but people who assume the project is GitHub can continue to use it as they expect. I can then create tracking issues for things like the container, or if I forget, others like yourself who do not have write access to the website can easily do so.

I have more pressing tasks I need to take care of first, but that's certainly something that I can look into eventually, or possibly an effort someone else leads, if anyone is interested and equipped to do so.

I can definitely offer to test when the time comes!

Once 0.8 Naga is far enough along for anyone to test anything, I'll definitely mention it on https://bedrocklinux.org/, likely in https://bedrocklinux.org/0.8/.

I'd like Naga's development to be test driven, and system tests will require this container effort; the container thing will likely be one of the first parts written. However, it won't be very interest to test until much more of Naga is written.

@vsoch
Copy link
Author

vsoch commented Oct 24, 2022

I probably won't get around to testing this, so we are OK to close the issue. Sorry for the noise!

@vsoch vsoch closed this as completed Oct 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants