Proposed Self Contained Change: True Noarch Erlang Packages https://fedoraproject.org/wiki/Changes/TrueNoarchErlangPackages Owner(s): * Randy Barlow <bowlofeggs at fedoraproject dot org> Erlang packages are currently all installed into %{_libdir}/erlang/lib, despite most of them being noarch packages. This proposal is to modify Erlang to search %{_datadir}/erlang/lib in addition to %{_libdir}/erlang/lib when searching for dependencies. == Detailed description == The Erlang VM is currently hardcoded to search for dependencies in %{_libdir}/erlang/lib (on x86_64 this is /usr/lib64/erlang/lib). Due to this, all Erlang packages are currently compiled "archful", despite most of them being pure Erlang and thus truly noarch. This leads to longer build times for Erlang packages, and more storage used in Koji and on the mirrors. This change proposes to add an additional path to be searched by the Erlang VM when finding dependencies at %{_datadir}/erlang/lib (on x86_64 this is /usr/share/erlang/lib). Additionally, the build macros will be udpated to automatically use this new path for installation for noarch packages. "Archful" packages will continue to store their files where they do today. == Scope == * Proposal owners: ** Write a small patch for the Erlang VM to search two paths instead of one when loading dependencies. We will attempt to get this patch accepted upstream first, but we will then carry the patch downstream until accepted by upstream. ** Modify the Erlang RPM macros to use the new path for noarch packages. * Other developers: ** Any developers who are not using the Erlang install RPM macro should modify their spec file to either use the macro, or to install their noarch packages to the new location. * Release engineering: [https://pagure.io/releng/issue/6685 #6685] ** We could mass-rebuild Erlang packages, but everything should keep working without doing a mass rebuild so it is probably not necessary or worthwhile, unless we want to more immediately clear up a little disk space. The recommendation is to wait until the next mass rebuild since there will be no interruptions for existing packages, i.e., no effort required from Releng. ** Any erlang packages that switch from being archful to being noarch will need all their dependent packages to be rebuilt, since they will no longer provide archful versions of themselves. However, this can be done at the time each package switches to being noarch. This change will not switch any particular packages to noarch. **List of deliverables: N/A (not a System Wide Change) * Policies and guidelines: ** Erlang packages do not have formal packaging guidelines yet, though this document does exist: https://fedoraproject.org/wiki/User:Peter/Erlang_Packaging_Guidelines *** We should update the WIP guidelines. * Trademark approval: N/A (not needed for this Change) -- Jan Kuřík Platform & Fedora Program Manager Red Hat Czech s.r.o., Purkynova 99/71, 612 45 Brno, Czech Republic _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx