On Aug 29, 2007, at 09:10, Vincent Lefevre wrote:
On 2007-08-29 15:43:35 +0200, Weissmann Markus wrote:
Portfiles that conform to our standards should be the norm, so only violators should have to indicate their non-standard behavior.
OK, so mtree violations should be fatal.
Maybe -- eventually -- many months from now months -- once everyone has had the opportunity to fix the portfiles. But, see below for reasons not to.
Well, I actually wanted to do this initially, leading to many angry people who were caught off-guard with non-functional ports.
As you said above, maintainers could add something to indicate their non-standard behavior (or users could report bugs).
The current state is that a violation is displayed via 'ui_msg', so everyone will see it.
I notice now that the problem is that it only shows the top-level directory which is being violated, not the file which is causing the violation: Warning: violation by /usr Then I have to "sudo port uninstall" and then "sudo port -dv destroot" in order to see the actual files. ("sudo port -dv install" would print too much info afterward that I wouldn't see the mtree info.)
Not in case of verbose output.
We can switch this behavior to a fatal one in one of our next releases, giving people a bit of time to realize those warnings and perhaps even fix them...
It would be better to do it now, or add a switch to the port command (which could be removed later) to make mtree violations fatal.
Please don't make the notices fatal for everyone now. Port maintainers need time to discover that their ports violate the mtree and figure out how to fix it. mtree violations were fatal in 1.5.1 resulting in a torrent of users complaining about ports they couldn't install and we had to do a quick 1.5.2 to reduce them to warnings so that people could continue using the software they wanted to use. I don't think anybody realized these mtree errors would be occurring (except the author of the feature) until the messages started pouring in. These messages are important to developers, but users should not be inconvenienced by them. Given that more than half our ports are currently unmaintained (2111 out of 4202), I'm unconvinced that mtree violations should ever be made fatal. Doing so could inconvenience the users of many of our ports, and give them the impression that MacPorts is broken or not ready for prime-time, impressions I think we should strive to reduce, not increase.