> Ben, I always appreciate your work but I think from the developers > perspective > you just need to have a way to get the legacy headers out of the way.
We have that already. -DQT_NO_COMPAT. > So if we revert this and put the legacy headers back, even change > them, which I consider to be even more evil than anything else because you're > supposed to package the code and not to put your own stuff into it ... It's not evil at all. We're allowed to by the Qt license, and adding #warnings to the legacy headers will not change any of the interfaces that the headers define. > whole point of 4 weeks of hard work was pretty pointless. I appreciate this and I wish I'd written this email four weeks ago. I've also had similar experiences where I've poured a large amount of work into something only to be told later that there are technically preferable solutions. And in a situation like this, it's frustrating but I'll argue that the technical benefit should outweigh the emotional and time investment. > It's as simple as reading README.Debian if something doesn't compile. Well, it's simpler if things compile in the first place. Let's compare the libqt3-compat-headers solution vs the #warnings in legacy headers solution. Both solutions make the developer aware that they're using legacy headers. The difference is that the libqt3-compat-headers solution forces a compile error, saying "address this issue NOW", whereas the #warning solution just alerts the developer, saying "address this issue when you get around to it". If the developer is conscientious, they'll fix the warnings by fixing their #includes. You're happy and the developer is happy. If the developer is lazy, they'll ignore the warnings. But then again, if the developer is lazy, I'd expect they'll just install libqt3-compat-headers to make the build errors go away. Which then has the disadvantage that they'll never be told about legacy headers again (as opposed to the #warning solution, where they'll continue to be reminded). So in this sense, I can't see any clear benefit that libqt3-compat-headers has over the #warnings. However, it has the clear disadvantage that, for users (who aren't upstream developers), code will fail to compile and they'll have to rummage around looking for information on how to fix it (and, as has been pointed out elsewhere on this thread, they'll need to be root to do it). Ben. :)

