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

RFC: Relax Mixin Contract #109

Merged
merged 3 commits into from
Oct 8, 2020
Merged

RFC: Relax Mixin Contract #109

merged 3 commits into from
Oct 8, 2020

Conversation

sclevine
Copy link
Member

Signed-off-by: Stephen Levine <[email protected]>
@sclevine sclevine requested a review from a team as a code owner August 17, 2020 04:53
@sclevine sclevine requested a review from jkutner August 17, 2020 04:54
@sclevine
Copy link
Member Author

@jkutner this supports #87 by allowing package names to be used as mixins in all cases

text/0000-relax-mixin-contract.md Outdated Show resolved Hide resolved
text/0000-relax-mixin-contract.md Outdated Show resolved Hide resolved
@nebhale nebhale requested a review from a team August 26, 2020 19:07
@nebhale nebhale requested a review from a team August 31, 2020 23:15
@nebhale nebhale requested a review from a team September 9, 2020 19:51
sclevine and others added 2 commits September 9, 2020 16:49
Signed-off-by: Stephen Levine <[email protected]>

Co-authored-by: Terence Lee <[email protected]>
@sclevine
Copy link
Member Author

sclevine commented Sep 9, 2020

Should be ready for votes again.

@nebhale nebhale requested a review from a team September 9, 2020 21:23
@sclevine sclevine mentioned this pull request Sep 9, 2020
@nebhale
Copy link
Contributor

nebhale commented Sep 10, 2020

Final Comment Period with merge disposition, closing on 17 September, 2020.

# Drawbacks
[drawbacks]: #drawbacks

This change reduces the power of the mixin model for stack authors. Previously, stack authors could reliably use `run:mypkg` to indicate that a run image strictly contains the runtime version of mypkg (which may provide different functionality than `mypkg`). Now `run:mypkg` and `mypkg` imply the exact same thing for the run image.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you mind clarifying this point? Are run:mypkg and mypkg different packages? If yes, why do they satisfy each other, and if not, why would they provide different functionality? A concrete example would be fantastic!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe they could be different packages. The apt contract we have applies only to the io.buildpacks.stacks.bionic stack as per this RFC.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sclevine mind chiming in here?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The set of changes to the run image represented by run:mypkg and mypkg are the same, so if mypkg represents an OS package in the context of the run image, run:mypkg must represent that package as well.

ekcasey added a commit that referenced this pull request Oct 8, 2020
[#109]

Signed-off-by: Emily Casey <[email protected]>
@ekcasey ekcasey merged commit ae3fb2f into main Oct 8, 2020
@ekcasey ekcasey deleted the relax-mixin-contract branch October 8, 2020 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants