Bug 1434779

Summary: Add package for rebar3
Product: [Fedora] Fedora Reporter: ga25day
Component: erlang-rebarAssignee: Timothée Floure <timothee.floure>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: erlang, filip, herrold, jeckersb, jroman.espinar, lemenkov, michele, s, timothee.floure
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-02-06 07:59:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1613639, 1613640, 1613641, 1613642, 1613643, 1613654, 1613734, 1615005, 1615024, 1638743    
Bug Blocks: 1542948, 1543406, 1546525, 1590700, 1612441    

Description ga25day 2017-03-22 11:20:34 UTC
rebar3 is the successor for rebar which has huge adoption in Erlang development.

Comment 1 Jan Kurik 2017-08-15 06:25:08 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.

Comment 2 Timothée Floure 2018-07-15 08:25:43 UTC
I started to work on some of the erlang dependencies for rebar3 (the specfiles can be found on fedorapeople [0]) and will create a copr repository once I finish to package them all. I might submit them to the official repo once everything works properly. Are you okay with that ?

[0] https://fedorapeople.org/cgit/?q=fnux

Comment 3 Timothée Floure 2018-07-17 14:32:37 UTC
I successfully built (the package may need some more work to be "clean") all of rebar3's dependencies: see copr repository [0].

It should be possible to build and install rebar3 with rebar 2.x, but it is easier (I successfully did it) to use a prebuilt binary of rebar3 for the initial build while I still have troubles with rebar 2.x (note that I am not familiar with rebar). However, we fall into the "bootstrapping" exeption of the packaging guidelines. What do you think ? Can you take a look ?

[0] https://copr.fedorainfracloud.org/coprs/fnux/rebar3/packages/
[1] https://fedoraproject.org/wiki/Packaging:Guidelines#Bootstrapping

Comment 4 John Eckersberg 2018-07-17 16:15:47 UTC
I started down this path and basically ended up where you are now.  It would be better to be able to bootstrap rebar3 using rebar 2.x, but I just gave up and used a bootstrap rebar3 build from upstream releases.

Comment 5 Timothée Floure 2018-07-17 16:42:29 UTC
We "crossed" Peter a few times last month while working on elixir's package, but we were unable to exchange with him even through he applied some of our patches:

  * https://bugzilla.redhat.com/show_bug.cgi?id=1451526
  * https://src.fedoraproject.org/rpms/elixir/pull-request/3
  * https://src.fedoraproject.org/rpms/elixir/pull-request/4
  * https://src.fedoraproject.org/rpms/elixir/pull-request/2

I really would like him to respond to this bug, or at least someone from the erlang SIG. I feel like I'm sailing blind !

If I still fail to contact the peter/the erlang SIG, I most likely will ask devel@ and go forward with rebar3 packaging in a few weeks.

Comment 6 Timothée Floure 2018-07-30 13:38:32 UTC
I just send a mail to devel@, trying to contact Peter: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/B7WRRTWBMJLCMUHK7XJRB7WLVEPTQ4AE/

Comment 7 Peter Lemenkov 2018-07-30 14:14:34 UTC
(In reply to John Eckersberg from comment #4)
> I started down this path and basically ended up where you are now.  It would
> be better to be able to bootstrap rebar3 using rebar 2.x, but I just gave up
> and used a bootstrap rebar3 build from upstream releases.

Yes, I think it's better (faster, and easier for us) to start from scratch rather than relying on rebar2 for boostrapping.

Comment 8 Timothée Floure 2018-07-31 20:05:15 UTC
(In reply to Peter Lemenkov from comment #7)
> (In reply to John Eckersberg from comment #4)
> > I started down this path and basically ended up where you are now.  It would
> > be better to be able to bootstrap rebar3 using rebar 2.x, but I just gave up
> > and used a bootstrap rebar3 build from upstream releases.
> 
> Yes, I think it's better (faster, and easier for us) to start from scratch
> rather than relying on rebar2 for boostrapping.

Thanks for the response! Then I will submit the related packages for reviews during the next few days (currently backpacking on my way to flock). I will gladly add anyone as co-maintainer once the packages reach the stable repositories.

Comment 9 Timothée Floure 2018-08-11 07:04:00 UTC
Bootstrap exception request: https://pagure.io/packaging-committee/issue/788

Comment 10 Timothée Floure 2018-08-23 11:52:17 UTC
Quick update: all the dependencies are in rawhide and I'm currently trying to have rebar3 to use the system's erlang libraries.

Upstream bug: https://github.com/erlang/rebar3/issues/1855

Comment 11 Timothée Floure 2018-10-03 16:40:13 UTC
The packaging committee approved the bootstrap exception a few weeks ago. I'll try to take a look this weekend but I don't have a lot of time this month and would gladly accept some help.

Comment 12 Timothée Floure 2018-10-11 18:45:28 UTC
I finally found some time to work on this bug and got a somewhat working rebar3 package locally. I will submit a proper package within a few days :-)

Comment 13 Timothée Floure 2019-02-06 07:59:51 UTC
There is currently an erlang-rebar3 package in rawhide and I'm working to update it to the latest upstream version. The current version works but make a lot of calls to the network and we can't use it as-is for packaging: I'm also working on it but it will take some time since I have a lot of other things to work on.

You'll find some details on the wiki page of the SIG [0] and I will open a few bugs on RHBZ in order to track the mentionned issues.

[0] https://fedoraproject.org/wiki/SIGs/Erlang#Ongoing_work