Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rationalize unison as CLI and unison-gui as GUI for program names in all builds #667

Closed
gdt opened this issue Mar 7, 2022 · 4 comments · Fixed by #920
Closed

Rationalize unison as CLI and unison-gui as GUI for program names in all builds #667

gdt opened this issue Mar 7, 2022 · 4 comments · Fixed by #920
Labels
build issue in unison build system effort-medium issue is likely resolvable with <= 20h of effort enhancement issue is a request for a feature, and not a defect impact-medium medium importance

Comments

@gdt
Copy link
Collaborator

gdt commented Mar 7, 2022

This state should ensure as a side effect that CI artifacts will have a CLI binary that will work on a system without the GTK libraries, or with the misplaced or wrong kind of GTK libraries.

Keep in mind, thought, that unison doctrine is that CI is for CI and packaging systems should provide packages. However building from source should be clean and aligned with packaging norms, and that's what this ticket is about.

@gdt gdt added enhancement issue is a request for a feature, and not a defect impact-medium medium importance build issue in unison build system effort-medium issue is likely resolvable with <= 20h of effort labels Mar 7, 2022
@gdt
Copy link
Collaborator Author

gdt commented May 13, 2022

A complexity is that on Mac, one one build a Mac application, and the gtk version similar to other mostly-POSIX systems.

@gdt
Copy link
Collaborator Author

gdt commented May 13, 2022

See also #394, which points out that the GHA build process results in unison and unison-gtk, which is aligned with how several packaging systems approach unison.

The point of this ticket is to change the build system to have separate binaries, and to be able to remove the workaround of renaming from GHA and packaging system builds.

@gdt
Copy link
Collaborator Author

gdt commented May 18, 2022

This implies a removal of "UISTYLE", and targets unison, unison-gui, and something for the mac package. The target unison-gui should just fail if lablgtk3 is not available.

@gdt
Copy link
Collaborator Author

gdt commented May 19, 2022

I have observed buggy behavior, all in src (because the top-level makefile does not work right with UISTYLE passthrough).

  • With "make UISTYLE=text", I get a unison not linked with lablgtk (correct).
  • Then, with "make UISTYLE=gtk3", I get a unison linked with gtk3.
  • With "make UISTYLE=text", nothing happens, but the unison binary is still linked with lablgtk.
  • After removing the file unison, making again with UISTYLE=text results in a binary not linked with lablgtk.
    If instead I build gtk3 first, the situation is reversed.

Basically, UISTYLE violates a basic rule of command-line variables (or environment vairables) and make: If you use them, you have to start from clean, and then on every later invocation of make the variable has to have the same value. That's not how the unison build system is used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build issue in unison build system effort-medium issue is likely resolvable with <= 20h of effort enhancement issue is a request for a feature, and not a defect impact-medium medium importance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant