-
-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
Make mariadb conform to multiple-outputs #8494
Conversation
@vcunat Let me know if this makes sense with your multiple outputs changes. |
59a2809
to
fc43678
Compare
|
|
|
||
check_references "$out" "$doc" | ||
check_references "$dev" "$doc" | ||
check_references "$man" "$doc" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a pretty unscalable way of checking references. I mean, it's basically O(n^2) lines (where n = the number of outputs)... It's also inefficient because it will do lots of I/O that Nix does anyway later.
Maybe this should be done on the multiple-outputs branch? Also, why |
Sure we could do this in O(n) time based on inputs by passing in an array On Thu, Jun 25, 2015, 01:53 Eelco Dolstra [email protected] wrote:
|
As for the libmysql output, it makes it easier to deal with nulls in On Thu, Jun 25, 2015, 02:00 William Kennington [email protected]
|
No, it shouldn't be part of stdenv, it should be a Nix feature. It's scanning all outputs for references anyway so it might as well check for disallowed references. In fact it already does: |
Maybe something like:
|
Though probably it's more effective to specify the few references that you want to guard against, e.g.
|
Much of this discussion seems general to multiple-output handling, it seems. The whole situation in there's rather complicated, I found when digging into it, and proper resolution is probably better not hurried before this release. Maybe pick the update at least to staging, if it's tested, and leave more complex changes after branching it off? The release... is already unlikely to happen this month, but that belongs into another thread, I guess. |
Well, the reason I did this in the first place is that it's the only way to On Thu, Jun 25, 2015, 07:06 Vladimír Čunát [email protected] wrote:
|
I see, so in some form we do need this in the release... |
@edolstra I think the whitelists are actually smaller as anything conforming to the gnu standard should have approximately the following outputs:
With the allowed references:
Then if we follow @vcunat suggestion of having dev be the first output, we could write our top-level as |
@vcunat @edolstra I can get rid of the postFixup reference checks for the release, as they are only sanity checks needed during the expression writing process to weed out extraneous references. I can also cleanup the expression enough to match the structure in my post above, so that we don't need the libmysql line in top-level/all-packages. |
I was typically leaving libraries and other data that's always needed in You're right that the structure is very similar for most packages; that's why the mentioned branch quite reliably splits stuff by auto-passing parameters to autotools-style configure, etc. |
That seems somewhat okay but it would be preferable to understand what kinds of data libs / bin depend on so that it can be minimized and all other auxiliary data goes to the "doc" like directory which is not allowed to be depended on by the libs / bin. I suppose out could serve the purpose I'm talking about but it might make more sense to call it "aux" or something along those lines and get rid of the out identifier altogether when doing multiple outputs so that it is more descriptive. |
fc43678
to
d28ccbd
Compare
The general multiple-output rework certainly won't be in the upcoming release, so some kind of a fix for the problems might be good to get merged independently. |
@wkennington: do you still mean to work on this? It seems to be blocking several kde4 apps at least. |
Yeah I do, I've been busy with other work. On Sun, Aug 2, 2015, 01:13 Vladimír Čunát [email protected] wrote:
|
Any updates on this? |
I'll need to rebase and at least comment out the code for checking On Tue, Aug 18, 2015, 13:11 Pascal Wittmann [email protected]
|
So there is a way to make it work now? |
I'll take a look at getting this cleaned up soon. I was working on writing some nix mkDerivation features to help with restrictions on multiple-outputs but we need this before that will hit nix in a stable release. |
Won't make it into 15.09 |
Still no progress. Nice. |
Please, no passive-aggressive comments, it doesn't help with motivation/interes. |
@domenkozar I can't use some of programs few months already, since I switched to NixOS because of that bug. What will help with motivation/interest then? |
Negative comments are unlikely to help. Investigating the issue yourself might. (You're probably better motivated to fix it than the rest of participants ;-) |
you could offer a 5,000 Dollar cash reward to anyone who remedies this issue successfully. |
I would really like to see this PR merged. However it is hard for me to see what needs to be done (besides resolving conflicts). What is the status of those mkDerivation features and what else needs to be done? |
@vcunat is this part of |
It's not part of any branch AFAIK (in the official repository; maybe it is in triton). |
Nope, im going to get back to this later.
|
This seems dead and superseded by #17413. |
Well, building everything in a single build could be better than the referenced PR, but I didn't want to mess with |
This should also fix issues where mariadb is missing references to the data directory which was set to /not/a/real/path before. It also splits out the build time dependency on groonga into a separate package instead of building the bundled version.