De: "Panu Matilainen"
Panu,
Thanks for the pointer. I did know it must be documented somewhere :)
I have more questions
First, what is the exact point of %__NAME_provides_opts?
I had already used
%__go_provides %{_rpmconfigdir}/go.prov --root "%{buildroot}%{gopath}" --version
"%{version}-%{release}"
and the argument passing seemed to work (in rawhide), or is there a special reason to use
%__NAME_provides_opts instead? Will %__NAME_provides_opts appear as arguments or env
variables?
Then, there is the question of the versionning
I can easily emit now provides such as
golang(gopackagename) = %{version}-%{release}
However go is heavily git-oriented and some of its "versions" do not automap to
rpm.
What I'd actually like to emit is:
— for proper monotonic versions
golang(gopackagenameA) = %{version}-%{release}
— for special versions such as alphaB
golang(gopackagenameA)(vermod=alphaB) = %{version}-%{release}
— For git commits
golang(gopackagenameA)(commit=commitB) = %{version}-%{release} #master is implied
or
golang(gopackagenameA)(commit=commitB)(branch=branchC) = %{version}-%{release}
And have a package that provides
golang(gopackagenameA)(commit=commitB)(branch=branchC)
resolve for any of
golang(gopackagenameA)
golang(gopackagenameA)(commit=commitB)
golang(gopackagenameA)(branch=branchC)
golang(gopackagenameA)(commit=commitB)(branch=branchC)
golang(gopackagenameA)(branch=branchC)(commit=commitB)
And a package that provides
golang(gopackagenameA)(vermod=alphaB)
resolve for any of
golang(gopackagenameA)
golang(gopackagenameA)(vermod=alphaB)
Is there a way to do this cleanly in rpm without emitting all the possible combinations in
the autoprovider?
If there is no other possibility than emitting all the possible combinations, do the list
have any syntax preference?
Regards,
--
Nicolas Mailhot