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

Revert "haskellPackages.{SC,sc}alendar: nullify to fix ofborg eval" #33089

Merged
merged 2 commits into from Dec 27, 2017

Conversation

peti
Copy link
Member

@peti peti commented Dec 26, 2017

Reverts #33077. Don't null out packages! meta.broken = true is the API we've been using this for a long time and I didn't get any memo that said that this had been changed.

Cc: @grahamc

@vcunat
Copy link
Member

vcunat commented Dec 26, 2017

Even broken packages shouldn't be breaking evaluation, I believe.

@grahamc
Copy link
Member

grahamc commented Dec 26, 2017

As far as I am concerned, the source of the problem is the fact that the bot evaluates explicitly broken packages!

I agree with @vcunat. This is the only broken package which doesn't even evaluate. What do you think about @pbogdan's other workaround:

  scalendar = markBroken (super.scalendar.override { SCalendar = null; });
  SCalendar = markBroken (super.SCalendar.override { scalendar = null; });

This isn't just about the package being broken, this is about the package being impossible, which I think deserves special attention.

Update that said, if you think we shouldn't be checking even broken packages to properly eval, we could talk about it?

@pbogdan
Copy link
Member

pbogdan commented Dec 26, 2017

@peti as mentioned I have revised that change in #33077 (comment). Would you consider that an acceptable solution? I believe that would address your concerns with regards to the usage of standard API's, and keeping our current PR checks working.

@peti
Copy link
Member Author

peti commented Dec 27, 2017

Even broken packages shouldn't be breaking evaluation, I believe.

@vcunat, the package is broken because it doesn't evaluate properly. That's the whole point of marking it broken. If it would evaluate, then I would not set meta.broken = true for it.

@peti
Copy link
Member Author

peti commented Dec 27, 2017

What do you think about @pbogdan's other workaround:

  scalendar = markBroken (super.scalendar.override { SCalendar = null; });
  SCalendar = markBroken (super.SCalendar.override { scalendar = null; });

@grahamc, yes, this is a much better; I'd be happy with that solution.

If you think we shouldn't be checking even broken packages to properly eval, we could talk about it?

I do think it's odd to check the status of a package that's been explicitly marked as broken and I cannot easily think of a use-case for that. What kind of issue would the bot detect due to this check that would otherwise go unnoticed?

@peti peti force-pushed the revert-33077-scalendar-cycle branch from e8a6f64 to ec5e1d8 Compare December 27, 2017 17:32
@peti peti force-pushed the revert-33077-scalendar-cycle branch from ec5e1d8 to 39eb15b Compare December 27, 2017 17:33
@peti peti merged commit d9d554a into master Dec 27, 2017
@peti peti deleted the revert-33077-scalendar-cycle branch December 27, 2017 17:34
@vcunat
Copy link
Member

vcunat commented Dec 27, 2017

I don't have a strong opinion on this. Use case: I think it's not that unreasonable to put allowBroken = true; into your config and still expect nix-env -qa etc. to work. To me it feels that "hard" evaluation errors (abort, infinite cycle, etc.) should not happen unless you do something very wrong. Throws are "soft" in this sense – they can be caught, they're filtered from nix-env -qa, etc.

@vcunat
Copy link
Member

vcunat commented Dec 27, 2017

@vcunat, the package is broken because it doesn't evaluate properly. That's the whole point of marking it broken. If it would evaluate, then I would not set meta.broken = true for it.

There are other possible motivations, e.g. avoid rebuilds for Hydra (or users) that are very likely to fail anyway (think Zero Hydra Failures), and for documentation of the state.

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.

None yet

5 participants