Whenever a user tries to build a package that requires local keywording or a changed USE flag, they are given a message saying how to make things work, which states to use the explicit package version. Consequently, they do this, the portage tree changes and things break. I just had an arch user ask me why sys-kernle/spl did not support Linux 3.12 because of this, even though it does. In other situations, I have people tell me that binary package managers are beter at dependency resolution than portage because the dependency resolution is hell. So far, I have been able to trace every single case to portage's dependency resolution messages. Consequently, I have come to think that these messages set traps for users that could be avoided by amending them with more intelligent advice. In particular, I think that the USE flag suggestions should be amended to omit package version numbers and that the keywording suggestions be amended to recommend that a user that does this and finds that it works should file a bug report so that the packages can be properly keyworded by the tree maintainers to mitigate problems other changes might have in the future.
(In reply to Richard Yao from comment #0) > In particular, I think that the USE flag suggestions should be amended to > omit package version numbers I disagree. This would annoy me. And I'd like to think that users are smart enough to figure this out themselves. > and that the keywording suggestions be amended to recommend that a user > that does this and finds that it works should file a bug report so that > the packages can be properly keyworded by the tree maintainers to mitigate > problems other changes might have in the future. I don't think this sort of information belongs in emerge.
(In reply to Richard Yao from comment #0) > Whenever a user tries to build a package that requires local keywording or a > changed USE flag, they are given a message saying how to make things work, > which states to use the explicit package version. Consequently, they do > this, the portage tree changes and things break. Unfortunately I forgot about the reason for this behavior. Maybe it's time for --autounmask-unrestricted-atoms to default to 'yes'. > [...] the keywording suggestions be amended to > recommend that a user that does this and finds that it works should file a > bug report so that the packages can be properly keyworded by the tree > maintainers to mitigate problems other changes might have in the future. The keywording feature is only meant for users that mix arch and ~arch. This way it's possible to keyword a leaf package and leave it to emerge to figure out what else needs to be keyworded. If a package is missing a keyword, that's a bug that should have been caught be repoman.
(In reply to Sebastian Luther (few) from comment #2) > (In reply to Richard Yao from comment #0) > > Whenever a user tries to build a package that requires local keywording or a > > changed USE flag, they are given a message saying how to make things work, > > which states to use the explicit package version. Consequently, they do > > this, the portage tree changes and things break. > > Unfortunately I forgot about the reason for this behavior. Maybe it's time > for --autounmask-unrestricted-atoms to default to 'yes'. I think this is needed on USE flags, but doing it for keywords is probably not the worst thing to do. > > [...] the keywording suggestions be amended to > > recommend that a user that does this and finds that it works should file a > > bug report so that the packages can be properly keyworded by the tree > > maintainers to mitigate problems other changes might have in the future. > > The keywording feature is only meant for users that mix arch and ~arch. This > way it's possible to keyword a leaf package and leave it to emerge to figure > out what else needs to be keyworded. If a package is missing a keyword, > that's a bug that should have been caught be repoman. The problem is that users do what it suggests and then get upset when things understandably break. We need to tell them to file bug reports about keywording here.
(In reply to Richard Yao from comment #3) > (In reply to Sebastian Luther (few) from comment #2) > > (In reply to Richard Yao from comment #0) > > > Whenever a user tries to build a package that requires local keywording or a > > > changed USE flag, they are given a message saying how to make things work, > > > which states to use the explicit package version. Consequently, they do > > > this, the portage tree changes and things break. > > > > Unfortunately I forgot about the reason for this behavior. Maybe it's time > > for --autounmask-unrestricted-atoms to default to 'yes'. > > I think this is needed on USE flags, but doing it for keywords is probably > not the worst thing to do. > IIRC, it already checks with --autounmask-unrestricted-atoms=y if an >=-atom is the right thing. If it isn't it will fall back to =-atoms. > > > [...] the keywording suggestions be amended to > > > recommend that a user that does this and finds that it works should file a > > > bug report so that the packages can be properly keyworded by the tree > > > maintainers to mitigate problems other changes might have in the future. > > > > The keywording feature is only meant for users that mix arch and ~arch. This > > way it's possible to keyword a leaf package and leave it to emerge to figure > > out what else needs to be keyworded. If a package is missing a keyword, > > that's a bug that should have been caught be repoman. > > The problem is that users do what it suggests and then get upset when things > understandably break. We need to tell them to file bug reports about > keywording here. Could you give a more detail example what the user does that ends with "user gets upset"?