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

embed proper build instructions and an install field into opam package for unikernel #1022

Merged
merged 5 commits into from Dec 16, 2019

Conversation

@hannesm
Copy link
Member

hannesm commented Dec 8, 2019

in order to use opam tooling on unikernels, it is crucial to embed proper build and install instructions (atm: copy artifact to %{prefix}%/bin (I'm happy to improve the install location)

the build instructions now include a mirage configure -- with this, taking such a generated opam package, it only needs to have an embedded src section, and can be installable by opam.

The binary_suffix -- sorry I couldn't find whether this information is already available in mirage somewhere, neither did I bother to look what extensions are actually produced (apart from hvt and unix -- which better should install the actual binary and not a link to it).

@hannesm hannesm force-pushed the hannesm:opam branch from d7f4f63 to 3bf21eb Dec 12, 2019
@hannesm

This comment has been minimized.

Copy link
Member Author

hannesm commented Dec 14, 2019

I filled in the TODO from earlier commits, namely:

  • discover git repository (and if successful, note origin and branch in opam file as source)
  • discover git subdirectory and cd / prefix in build and install instructions
  • collect and output artifact to install in bin and extra files to install into etc (libvirt, xl, xe)

while at it, I renamed mirage_configure_virtio to mirage_configure_libvirt to reflect what it is actually doing, and expose a filename function to avoid repeating (name ^ "_libvirt") + "xml" all over.

this is good to go (once CI passes) from my side.

@hannesm hannesm merged commit a8f9755 into mirage:master Dec 16, 2019
1 check passed
1 check passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
hannesm added a commit to hannesm/opam-repository that referenced this pull request Dec 16, 2019
…es (3.7.3)

CHANGES:

* `mirage configure` now emits build and install steps into generated opam file
  this allows to use `opam install .` to actually install a unikernel.
  (mirage/mirage#1022 @hannesm)
* refactor configure, build and link step into separate modules (mirage/mirage#1017 @dinosaure)
hannesm added a commit to hannesm/opam-repository that referenced this pull request Dec 16, 2019
CHANGES:

* `mirage configure` now emits build and install steps into generated opam file
  this allows to use `opam install .` to actually install a unikernel.
  (mirage/mirage#1022 @hannesm)
* refactor configure, build and link step into separate modules (mirage/mirage#1017 @dinosaure)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.