Here is a list of things we should try to do:
- Propose and define model app layout (Makefile, GET, ...) under
osv-apps
- Typically each app has GET shell script, Makefile and module.py:
- GET typically downloads ad puts source files into upstream
directory (sometimes using latest script)
- Makefile typically does what needs to be done (sometime
compiles) and puts source files into install subdirectory (sometimes
usr.manifest is generated, sometime usr.manifest is pre-defined).
- module.py is called to execute extra logic - sometimes to
generate usr.manifest, define cmdline and possibly multiple flavors
- This is somewhat documented in the README.md of osv-apps project
but is not clear enough and the apps are all over the place following
this
loose convention and I am myself guilty of not following it (see
python2x/3x apps that do too much in GET). I doubt it is worth fixing
existing apps but I think we could improve the documentation in this area
and and possibly point to a good model app.
- I know our build system (scripts/build and related python scripts)
is complicated enough. But it would be super nice to allow passing
parameters from scripts/build to app Makefile. The best use case for that
is building java9 (10,11,12 as well) JREs using jlink where it would be
nice to pass a list of JRE modules to incorporate -
see
https://github.com/cloudius-systems/osv-apps/blob/master/openjdk9-zulu-java-base/Makefile#L26;
I think there are many other apps that would benefit
- Eliminate external - https://github.com/cloudius-systems/osv/issues/743
- It would be nice to detail what to do to each subdirectory (I am not
positive we want to eliminate all - see x64/acpica)
- Convert to CMakefile
- I am not sure how difficult it would be, but one benefit of it
would be the ability to load a project in IDEs like CLion that are able
to
work with CMakefile,
- Some apps (like python2x/python3x) pull most of the binaries from host
instead of re-compiling from scratch. It would be nice to have a shared
app/tool to build apps from host like that.
Feel free to add any other things you would like to be improved in the
build system.
Waldek
-
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.