Re-work Qt5 install- and deinstall scripts.
Qt5 packages *together* manage a header file qconfig-modules.h which `#includes` other headers. A given Qt5 package may get a line in there, or it might not: that depends on package settings. On installing a package, add the line (if needed), on deinstall, remove the line (if it was there). There's a tricky case, too: upgrading a package that *had* a line, but no longer has one. That behaves like deinstall. Previously we used @postexec and @postunexec lines, but these were fragile in their own special way. See the linked PRs for examples -- or tcberner's comment that his qconfig-modules.h file *was* a screenful, and is now much shorter (and alphabetical, too!) An additional complication comes from needing to update qtchooser, *if* it is installed and *if* the package needs it. There was another set of @postexec lines for that. Migrate all the update logic to a shell script (there already was one for deinstall, now make it do triple-duty). From the template file, `pkg-change.in`, we generate a pkg-install and a pkg-deinstall script that does the right thing. PR: 253356 253360 Reported by: Nimaje on IRC Reviewed by: tcberner