arch-update icon indicating copy to clipboard operation
arch-update copied to clipboard

Build all binaries with a Makefile

Open ganskef opened this issue 2 years ago • 4 comments

It's very unpleasant, inflexible and error prone to handle all the gettext files by hand. I've found some misnamed files and wrong parameters in the master branch (see the fixes in #212 ). I think it would be better to use a make or meson build.

ganskef avatar Jul 16 '23 16:07 ganskef

Hi, thanks for you interest, but I'm not used to makefiles and such, and i don't need to mess with it for now. (I have scripts to update pot, update all .po, compile all .mo and make the .zip ). I like editing and testing right in place, hate to have to "make /make install" every time I change a coma somewhere. Extensions are pure javascript, and it's a blessing not to have to compile it each time. Need to read about makefiles, I want to fully understand what it does. Also can't merge that, I need .mo files right now for my release routine to work. (even thought I recompile them all)

RaphaelRochet avatar Jul 17 '23 13:07 RaphaelRochet

I like the simplicity of arch-update. It's clean, not complicated. I needed to test my translation. My modifications caused updating the other translations - without your scripts. I've found some inconsistencies during this process. And, I needed to know what's in the binaries, maybe a payload :-) .

I'm not very familiar with GNU make, but I'm familiar with build systems in general. I've adapted this file, but I'll strip down unnecessary features. Just give me the .PHONY list and suggestions.

ganskef avatar Jul 17 '23 17:07 ganskef

Correct workflow would be : 1/ PR for features an d 2/ PR for translations (after I'd update the pot/po files) But I get the point. As you can see I've not close this PR, a makefile may be the way to go. However I will probably come with my own, as an exercise to learn about it. As you said for binaries, I don't want to include something I don't fully understand.

RaphaelRochet avatar Jul 17 '23 18:07 RaphaelRochet

Great! Build systems always should make your day better :-) . But they are not programmatic like a shell script. Their goal is to handle the necessary files and steps only. A make twice should always return nothing to do. A make; make install is the same as make install only. Nevertheless GNU make is very close to shell and it's simple in this scale. It's good for build to have a src folder to search and good to have a build folder to delete and exclude from repository. Note: Meson, a modern build system used for GNOME, uses more the convention over configuration approach. If you use the conventional structure the build file is very simple, but you have to know and follow the convention. I've seen https://github.com/F-i-f/meson-gse/ used in extensions, a very little extension too (maybe for educational reason). Every build system with misunderstood build files can be a pain and simple mistakes often not depends on the system. So lets keep it simple and clean with make.

ganskef avatar Jul 17 '23 21:07 ganskef