Removal of erlang-unixodbc made ejabberd uninstallable, related build errors appear to have been resolved
(Note: This report also relates to the headless variant erlang-nox, but I’m filing it here since erlang-unixodbc used to be built from this pkgbase)
Description:
Erlang/OTP used to be built as a split package providing both erlang and erlang-unixodbc. Last month, the latter was removed due to a build error, under the assumption that building Erlang without ODBC would be “unproblematic for most Erlang users”. However, the removal is in fact problematic since the ejabberd package has a non-optional dependency on erlang-unixodbc.
This didn’t immediately cause issues for existing installs since an already installed old version of erlang-unixodbc would simply remain on the system alongside new versions of erlang(-nox), and ejabberd continued to work fine with it (at least for me, though I don’t actually use its ODBC backend). Attempting to do a fresh install of ejabberd, however, now fails with an error due to the unresolvable dependency on erlang-unixodbc (see reproduction steps below).
Luckily, the upstream issue is already solved and I was able to successfully build the erlang-nox and erlang-unixodbc packages for Erlang/OTP 27.0 myself (using the chroot helper scripts from devtools) simply by taking the current PKGBUILDs and modifying them to revert the original changes to disable ODBC (see attached files). Since the build error appears to be gone and the removal of erlang-unixodbc made ejabberd uninstallable, it’d be great to have erlang-unixodbc back in the repos.
Additional info:
- package version(s): erlang/erlang-nox 27.0-1 (+ ejabberd 23.10-1)
- config and/or log files: N/A
- link to upstream bug report, if any: https://github.com/erlang/otp/issues/8434
Steps to reproduce:
-
pacman -S ejabberd
-
Installation fails like so:
resolving dependencies... warning: cannot resolve "erlang-unixodbc", a dependency of "ejabberd" :: The following package cannot be upgraded due to unresolvable dependencies: ejabberd :: Do you want to skip the above package for this upgrade? [y/N] error: failed to prepare transaction (could not satisfy dependencies) :: unable to satisfy dependency 'erlang-unixodbc' required by ejabberd