giggls / osml10n

Localization functions for Openstreetmap
https://tile.openstreetmap.de
GNU General Public License v3.0
14 stars 7 forks source link

Add full Makefile #35

Open mkesper opened 4 months ago

mkesper commented 4 months ago

There should be a full, non-recursive Makefile installing dependencies and tools. The README is much too handwavy and can not be tested automatically.

giggls commented 4 months ago

Feel free to send patches.

giggls commented 4 months ago

This said automation is well possible. And running tests automatically would also be possible. We do in fact deploy this using Ansible on German Tileservers.

mkesper commented 4 months ago

Where can I have a look at that CI? Then I have a better idea what is needed. On Debian/Ubuntu just call make deb after installing Python and Lua prerequisites inside base and lua_unac directories. is not helpful to me as I can see no requirements or anything.

giggls commented 4 months ago

There is currently no CI. Frankly this is a one-man show kind of project so I do not think that a CI setup would solve any problems. What is needed for running this is the python daemon and the lua unaccent module. Debian packages are for deployment only.

mkesper commented 4 months ago

@giggls Sorry if my tone may have sounded harsh, I did write this issue with the intention to write such a Makefile. I find it really helpful if everything that's needed for a project lives inside that project.

giggls commented 4 months ago

I do not like the complexity of this stuff myself and already tried to reduce it. I already got rid of the lua pcre dependency. Unfortunately lua unnac is currently still needed and I'm afraid I will not get rid of this. Probably somebody can provide a pure lua implementation for this.

mkesper commented 4 months ago

I'd consider getting rid of all lua code. Removing accents can also be done with python unidecode (it's only a fallback so this should suffice plenty). Having to worry about two languages really multiplies problems understanding the whole project and so reduces potential contributions. The tests I would transfer to pytest (not unittest...).

giggls commented 4 months ago

No, this is definitely a bad idea! Currently the python daemon is for transcription only and all decision logic is made in lua.

This is not just for the sake of a clear task separation but also because of performance reasons as transcription is only the last resort in l10n while unaccent is done on almost any object.

I do not like the usage of two scripting languages myself, but unfortunately I can not get rid of either one.

mkesper commented 4 months ago

@giggls Please have a look at https://github.com/giggls/osml10n/pull/37 This builds successfully as seen at https://github.com/mkesper/osml10n/actions/runs/9114814291/job/25059657922