-
Notifications
You must be signed in to change notification settings - Fork 198
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
compose: Have first-one-wins semantics for rojig parsing #1576
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The core bug here is that previously if we had multiple YAML files in include, we ended up overwriting self->treefile_rs for the last one. Handling inheritance worked, but it broke rojig since we generate the specfile Rust side. Let's have first-one-wins semantics for now. I have a bigger fix incoming in coreos#1574
Looks like |
☀️ Test successful - status-atomicjenkins |
cgwalters
added a commit
to cgwalters/rpm-ostree
that referenced
this pull request
Sep 26, 2018
This follows up to coreos#1576 AKA commit 2e56784 - we now process treefile inheritance in Rust code. Previously for elements which reference external files (`postprocess-script` and `add-files`) we'd hardcoded things to only look in the first context dir. Now we open file descriptors in the Rust side for these "externals" as we're parsing, and load them C side. Hence we'll correctly handle a `postprocess-script` from an included config. Other advantages are that the include handling was ugly un-typesafe C code with no unit tests, now it's memory safe Rust with unit tests. The downside here is I ended up spelling out the list of fields again - there's probably a way to unify this via macros but for now I think this is OK.
cgwalters
added a commit
to cgwalters/rpm-ostree
that referenced
this pull request
Sep 26, 2018
This follows up to coreos#1576 AKA commit 2e56784 - we now process treefile inheritance in Rust code. Previously for elements which reference external files (`postprocess-script` and `add-files`) we'd hardcoded things to only look in the first context dir. Now we open file descriptors in the Rust side for these "externals" as we're parsing, and load them C side. Hence we'll correctly handle a `postprocess-script` from an included config. Other advantages are that the include handling was ugly un-typesafe C code with no unit tests, now it's memory safe Rust with unit tests. The downside here is I ended up spelling out the list of fields again - there's probably a way to unify this via macros but for now I think this is OK.
cgwalters
added a commit
to cgwalters/rpm-ostree
that referenced
this pull request
Oct 2, 2018
This follows up to coreos#1576 AKA commit 2e56784 - we now process treefile inheritance in Rust code. Previously for elements which reference external files (`postprocess-script` and `add-files`) we'd hardcoded things to only look in the first context dir. Now we open file descriptors in the Rust side for these "externals" as we're parsing, and load them C side. Hence we'll correctly handle a `postprocess-script` from an included config. Other advantages are that the include handling was ugly un-typesafe C code with no unit tests, now it's memory safe Rust with unit tests. The downside here is I ended up spelling out the list of fields again - there's probably a way to unify this via macros but for now I think this is OK.
cgwalters
added a commit
to cgwalters/rpm-ostree
that referenced
this pull request
Oct 4, 2018
This follows up to coreos#1576 AKA commit 2e56784 - we now process treefile inheritance in Rust code. Previously for elements which reference external files (`postprocess-script` and `add-files`) we'd hardcoded things to only look in the first context dir. Now we open file descriptors in the Rust side for these "externals" as we're parsing, and load them C side. Hence we'll correctly handle a `postprocess-script` from an included config. Other advantages are that the include handling was ugly un-typesafe C code with no unit tests, now it's memory safe Rust with unit tests. The downside here is I ended up spelling out the list of fields again - there's probably a way to unify this via macros but for now I think this is OK.
rh-atomic-bot
pushed a commit
that referenced
this pull request
Oct 4, 2018
This follows up to #1576 AKA commit 2e56784 - we now process treefile inheritance in Rust code. Previously for elements which reference external files (`postprocess-script` and `add-files`) we'd hardcoded things to only look in the first context dir. Now we open file descriptors in the Rust side for these "externals" as we're parsing, and load them C side. Hence we'll correctly handle a `postprocess-script` from an included config. Other advantages are that the include handling was ugly un-typesafe C code with no unit tests, now it's memory safe Rust with unit tests. The downside here is I ended up spelling out the list of fields again - there's probably a way to unify this via macros but for now I think this is OK. Closes: #1574 Approved by: jlebon
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The core bug here is that previously if we had multiple YAML files
in include, we ended up overwriting self->treefile_rs for the
last one. Handling inheritance worked, but it broke rojig since
we generate the specfile Rust side.
Let's have first-one-wins semantics for now. I have a bigger
fix incoming in #1574