[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH 1/2] scripts/package/Makefile: make revision update a function



On 8 September 2017 at 18:40, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> 2017-09-08 2:04 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
>> Hi Riku,
>>
>>
>> 2017-08-16 20:08 GMT+09:00  <riku.voipio@linaro.org>:
>>> From: Riku Voipio <riku.voipio@linaro.org>
>>>
>>> The updated deb-pkg and bindeb-pkg will use the same snippet,
>>> so make it reusable.
>>>
>>> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
>>> ---
>>>  scripts/package/Makefile | 12 +++++++-----
>>>  1 file changed, 7 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/scripts/package/Makefile b/scripts/package/Makefile
>>> index 71b4a8af9d4d..9867638896ad 100644
>>> --- a/scripts/package/Makefile
>>> +++ b/scripts/package/Makefile
>>> @@ -44,14 +44,18 @@ tar -cz $(RCS_TAR_IGNORE) -f $(2).tar.gz \
>>>         $(addprefix $(2)/,$(TAR_CONTENT) $(3)); \
>>>  rm -f $(2) $(objtree)/.scmversion
>>>
>>> +quiet_cmd_updateversion = UPDATEVERSION
>>> +      cmd_updateversion = \
>>> +       $(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version; \
>>> +       mv -f $(objtree)/.tmp_version $(objtree)/.version
>>> +
>>>  # rpm-pkg
>>>  # ---------------------------------------------------------------------------
>>>  rpm-pkg rpm: FORCE
>>>         $(MAKE) clean
>>>         $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec
>>>         $(call cmd,src_tar,$(KERNELPATH),kernel.spec)
>>> -       $(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version
>>> -       mv -f $(objtree)/.tmp_version $(objtree)/.version
>>> +       $(call cmd,updateversion)
>>>         rpmbuild $(RPMOPTS) --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz
>>>         rm $(KERNELPATH).tar.gz kernel.spec
>>>
>>> @@ -60,9 +64,7 @@ rpm-pkg rpm: FORCE
>>>  binrpm-pkg: FORCE
>>>         $(MAKE) KBUILD_SRC=
>>>         $(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec
>>> -       $(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version
>>> -       mv -f $(objtree)/.tmp_version $(objtree)/.version
>>> -
>>> +       $(call cmd,updateversion)
>>>         rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \
>>>                 $(UTS_MACHINE) -bb $(objtree)/binkernel.spec
>>>         rm binkernel.spec
>>
>>
>>
>> scripts/mkversion is pretty small.
>> I think scripts/mkversion can also update .version
>>
>> For example,
>>
>>
>>
>>
>> if [ ! -f .version ]
>> then
>>     version=1
>> else
>>     version=$(expr 0$(cat .version) + 1)
>> fi
>>
>> echo $version > .version
>> echo $version
>>
>>
>>
>>
>> Then, remove the duplicated code from the Makefile.
>
>
>
> Sorry, please let me think about this carefully.
>
> We have simliar code in
> scripts/link-vmlinux.sh and scripts/mkversion

Oh. Looking deeper, running "make binrpm" twice in a row incrediments
the .version with two. I think we can leave updating version to
link-mklinux and drop updating .version from
scripts/packaging/Makefile. The actual use of mkversion is then to
predict the next version, and we can stop using .version directly in
builddeb since the build will outdate it.

Riku


Reply to: