processone / ejabberd

Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
https://www.process-one.net/ejabberd/
Other
6.12k stars 1.51k forks source link

Makefile.in: introduce INSTALL_NOT_VERSIONED_DEP #4306

Closed catap closed 6 days ago

catap commented 2 weeks ago

Some distributives installs all dependencies as /usr/local/lib/ejabberd/xxx and adding -1.2.3 to each of them just make things more noisy.

Here, I suggested a trivial changes with undocumented variable which maintaner may discover and enjoy, when he need it.

badlop commented 2 weeks ago

Some distributives installs all dependencies as /usr/local/lib/ejabberd/xxx

Which ones? I checked Debian, ArchLinux, Alpine, all them follow that convention in their packages for ejabberd, and for some other packages too.

adding -1.2.3 to each of them just make things more noisy.

Binary files should be versioned in some way, right? Either in the file name or in the directory name, to ensure the correct version of the binary is being used, and not just whatever may be installed in the system.

In this case, ejabberd's "make install" follows the directory structure specified in the Erlang/OTP documentation, relevant links:

maintaner may discover and enjoy, when he need it.

What specific maintainer case are you addressing?

catap commented 2 weeks ago

Some distributives installs all dependencies as /usr/local/lib/ejabberd/xxx

Which ones? I checked Debian, ArchLinux, Alpine, all them follow that convention in their packages for ejabberd, and for some other packages too.

For example FreeBSD: https://www.freshports.org/net-im/ejabberd

maintaner may discover and enjoy, when he need it.

What specific maintainer case are you addressing?

myself as potential maintainer maintainer for OpenBSD port.

catap commented 2 weeks ago

adding -1.2.3 to each of them just make things more noisy.

Binary files should be versioned in some way, right? Either in the file name or in the directory name, to ensure the correct version of the binary is being used, and not just whatever may be installed in the system.

If you install everything by OS package managment system under /usr/local/lib/ejabberd I don't see any reason to version binary files here.

In the case of update the package managment system will take care of it. Thus, it also impossible install two version of ejabberd here.

Have I missed something?

catap commented 6 days ago

Probably it only increase complexity, let close it.