rc not yet, naming of GUI
Greg Troxel <[email protected]> Tue, 10 Nov 2020 09:19:22 -0500
| Newsgroups | gmane.network.unison.devel |
|---|---|
| Message-ID | <[email protected]> |
(I have not made an rc, because there is now a lot of activity that is leading to mergeable improvements.) unison's build system has a notion that one builds with a UISTYLE, and this produces a binary "unison" that either does or doesn't have a GUI. For an individual building unison, this is fine, but it doesn't play well with packaging systems. As I understand it, some packaging systems build it both ways, so that there is unison (text) and unison-gtk (GUI). (pkgsrc has an option, which defaults off, partly because of this problem, and partly to avoid depending on gtk2.) Recently, issues have come up in CI where tests need to be run on the text version (because of another issue that can be fixed), and thus there is sequencing of build text, test, build GUI as a workaround. These two things, packaging system decisions and test awkwardness, argue strongly that building two different things to the same filename is not an ok thing to do. This is captured in https://github.com/bcpierce00/unison/issues/394 I think this is pretty easy to fix, and we just need to pick a name for the GUI build. The only two I've seen talked about are unison-gtk unison-gui The first is in use by packaging systems, so that is less of a change to many people. The second is more general. Looking forward, we hope to move to lablgtk3: https://github.com/bcpierce00/unison/issues/358 but I see that as a move, not being a new option (gtk2 is obsolete). unison-gtk remains a good name for that. (However, I can see the point of picking unison-gtk2, and later gtk3. I favor making UISTYLE=gtk the norm, with gtk2 a deprecated alias.) Should there be some gui that isn't gtk, that might well need a different name, but it is very likely that whereever that new thing runs gtk would too, so a new name seems good. I will observe that if people want 'unison' to be the gtk system on their installed system, they are free to do that, similarly to how packging systems have made the reverse change. We could add an install target "install-gtk-as-unison" that is like "make install" but installs unison-gtk as unison. The biggest reason to do this is to avoid a lot of difficulty in making the build/test/install/packaging process work, and work with CI, and right now that difficulty is falling on a very small number of people. (There is perhaps another issue, which is that individual object files may be built differently and thus need to be in separate dirs, but if so that is far less important and can be addressed as a further step.) So, are they any objections to a commit that would read like Change GUI build to create unison-gtk When builing with UISTYLE=gtk2, place the compiled binary in unison-gtk rather than unison. This avoids overwriting the previous UISTYLE=text build and thus avoids conflicts with CI. It regularizes the notion of which program name has GUI support, aligning with existing packaging. followed by commits to packaging and CI/etc. that adopt to this. A bit of a kerfluffle, but very low risk of hard-to-debug trouble. Greg _______________________________________________ Unison-hackers mailing list [email protected] https://LISTS.SEAS.UPENN.EDU/mailman/listinfo/unison-hackers
signature.asc
(application/pgp-signature, 194 B)
-----BEGIN PGP SIGNATURE----- iF0EARECAB0WIQS7wyAjWilQwVHG9Vsf2nroCY7WDgUCX6qhagAKCRAf2nroCY7W DjfEAJ0Swh1b+K5J9/2xIZsKlWu3a2Jr2ACffnRZ3L12btQgDxci8n9cmCgwWW8= =/zzy -----END PGP SIGNATURE-----