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

Bootstrap Builds #6

Open
tay10r opened this issue Mar 21, 2019 · 3 comments

Comments

Projects
None yet
2 participants
@tay10r
Copy link

commented Mar 21, 2019

It would be nice to be able to build sw without downloading a binary.
I suggest having a Makefile generator script, that can be updated every so often, for users that don't already have a binary on their system.

I did this once, at here. The header file dependencies are detected by GCC. I could draft a PR for a similar script sw, just as long as the build is trivial enough.

@egorpugin

This comment has been minimized.

Copy link
Contributor

commented Mar 21, 2019

Hi!

Yes, sure.
Just removed "bootstrap" way of building with cppan (sw v1) from readme today.
a1485d5
(And cppan may be build with cmake. Full chain was make -> cmake -> cppan -> sw.)

SW already has makefile generator as well as ninja one
https://github.com/SoftwareNetwork/sw/blob/master/src/driver/cpp/generator/generator.cpp#L2354
https://github.com/SoftwareNetwork/sw/blob/master/src/driver/cpp/generator/generator.h#L20
(implementations may be just a little bit outdated - not sure 100%)

But here comes interesting question, because sw needs its dependencies downloaded from the network storage. I thought about writing simple script or better implementing it also as part of makefile.
Last step would be running non-sw configure steps (configure files, perform checks etc.).
All this is not so trivial.

Instead it is possible to keep minimal bootstrapped storage (like initrd or initramfs in linux) somewhere on the web which will be downloaded by bootstrap makefile, unpacked and then participate in fresh build.

If you'd like to contribute, I appreciate.
Otherwise this item is not on top of todo currently, sorry.

@tay10r

This comment has been minimized.

Copy link
Author

commented Mar 22, 2019

@egorpugin that's totally fine, I'm willing to patch. I'll read more into it in a shortly.

@egorpugin

This comment has been minimized.

Copy link
Contributor

commented Mar 22, 2019

Also this features is needed when porting, for example, to other linux distros.
For example, I've built linux sw on ubuntu 18.04 and cannot run it on 16.04 because of older libc.

I implemented such bootstrap procedure for cppan & cmake some time ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.