Allow VSN override

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
This commit is contained in:
Peter Lemenkov 2016-03-06 01:36:32 +03:00
parent 5814a86de3
commit 2a260a7b1f
2 changed files with 29 additions and 6 deletions

View File

@ -12,7 +12,7 @@
Name: erlang-%{realname}
Version: 2.6.1
Release: 7%{?dist}
Release: 8%{?dist}
Summary: Erlang Build Tools
Group: Development/Tools
License: MIT
@ -43,8 +43,6 @@ Patch11: rebar-0011-No-such-function-erlang-timestamp-0.patch
%if 0%{?need_bootstrap} < 1
BuildRequires: erlang-rebar
# FIXME remove in the next build
BuildRequires: erlang-diameter
%else
BuildRequires: erlang-asn1
BuildRequires: erlang-common_test
@ -110,6 +108,7 @@ Erlang Build Tools.
%patch9 -p1 -b .remove_gpb
%patch10 -p1 -b .remove_pre_R15B02
%patch11 -p1 -b .typo_fix
%patch12 -p1 -b .vsn_override
%build
@ -124,9 +123,8 @@ Erlang Build Tools.
%install
install -D -p -m 0755 %{SOURCE1} %{buildroot}%{_bindir}/rebar
mkdir -p %{buildroot}%{_erllibdir}/%{realname}-%{version}/{ebin,include}
install -m 644 ebin/%{realname}.app %{buildroot}%{_erllibdir}/%{realname}-%{version}/ebin
install -m 644 ebin/*.beam %{buildroot}%{_erllibdir}/%{realname}-%{version}/ebin
install -m 644 include/*.hrl %{buildroot}%{_erllibdir}/%{realname}-%{version}/include
install -p -m 0644 ebin/%{realname}.app ebin/*.beam %{buildroot}%{_erllibdir}/%{realname}-%{version}/ebin
install -p -m 0644 include/*.hrl %{buildroot}%{_erllibdir}/%{realname}-%{version}/include
cp -a priv %{buildroot}%{_erllibdir}/%{realname}-%{version}/
@ -143,6 +141,9 @@ cp -a priv %{buildroot}%{_erllibdir}/%{realname}-%{version}/
%changelog
* Sun Mar 6 2016 Peter Lemenkov <lemenkov@gmail.com> - 2.6.1-8
- Allow VSN override using shell environment variable of the same name.
* Thu Mar 3 2016 Peter Lemenkov <lemenkov@gmail.com> - 2.6.1-7
- Re-add erlang-diameter as a BuildRequires again

View File

@ -0,0 +1,22 @@
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Sun, 6 Mar 2016 01:25:36 +0300
Subject: [PATCH] Try shell variable VSN first
Try shell variable VSN first before substituting version placeholder in
app-file.
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
diff --git a/src/rebar_utils.erl b/src/rebar_utils.erl
index 348d06d..47975cb 100644
--- a/src/rebar_utils.erl
+++ b/src/rebar_utils.erl
@@ -268,7 +268,7 @@ vcs_vsn(Config, Vsn, Dir) ->
Cache = rebar_config:get_xconf(Config, vsn_cache),
case dict:find(Key, Cache) of
error ->
- VsnString = vcs_vsn_1(Vsn, Dir),
+ VsnString = case os:getenv("VSN") of false -> vcs_vsn_1(Vsn, Dir); V -> V end,
Cache1 = dict:store(Key, VsnString, Cache),
Config1 = rebar_config:set_xconf(Config, vsn_cache, Cache1),
{Config1, VsnString};