custom extension for make/SourceRevision.gmk

Erik Joelsson erik.joelsson at oracle.com
Thu Jul 19 17:11:49 UTC 2018


This looks good to me, but will need coordination when pushed as I said 
earlier.

/Erik


On 2018-07-19 10:04, Christian Thalinger wrote:
>
>
>> On Jul 19, 2018, at 12:57 PM, Erik Joelsson <erik.joelsson at oracle.com 
>> <mailto:erik.joelsson at oracle.com>> wrote:
>>
>>
>>
>> On 2018-07-19 09:54, Christian Thalinger wrote:
>>>
>>>
>>>> On Jul 19, 2018, at 12:44 PM, Erik Joelsson 
>>>> <erik.joelsson at oracle.com <mailto:erik.joelsson at oracle.com>> wrote:
>>>>
>>>>
>>>> On 2018-07-19 09:16, Christian Thalinger wrote:
>>>>>
>>>>>
>>>>> Well, the issue is this:
>>>>>
>>>>> exploded-image: exploded-image-base release-file
>>>>>
>>>>>   release-file: create-source-revision-tracker
>>>>>
>>>>> store-source-revision:
>>>>> +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f 
>>>>> SourceRevision.gmk store-source-revision)
>>>>>
>>>>> create-source-revision-tracker:
>>>>> +($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f 
>>>>> SourceRevision.gmk create-source-revision-tracker)
>>>>>
>>>>> We need these targets because all isn’t really used.
>>>>>
>>>> Ah, the all target is tricking me and should be removed if not 
>>>> called from anywhere. Then your suggested patch is good (except for 
>>>> missing the :=).
>>>
>>> Do you want me to remove the all: target?
>>>
>> Yes, that would be a good cleanup to avoid confusion.
>
> How about this:
>
> diff --git a/make/SourceRevision.gmk b/make/SourceRevision.gmk
> index 10dd943..6d4a706 100644
> --- a/make/SourceRevision.gmk
> +++ b/make/SourceRevision.gmk
> @@ -1,5 +1,5 @@
>  #
> -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
> +# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights 
> reserved.
>  # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>  #
>  # This code is free software; you can redistribute it and/or modify it
> @@ -23,12 +23,10 @@
>  # questions.
>  #
>
>
> -default: all
> -
>  include $(SPEC)
>  include MakeBase.gmk
>
>
> -$(eval $(call IncludeCustomExtension, SourceRevision.gmk))
> +$(eval $(call IncludeCustomExtension, SourceRevision-pre.gmk))
>
>
>  ################################################################################
>  # Keep track of what source revision is used to create the build, by 
> creating
> @@ -94,11 +92,14 @@ifneq ($(and $(HG), $(wildcard $(TOPDIR)/.hg)), )
>
>
> $(eval $(call CreateSourceRevisionFile, $(STORED_SOURCE_REVISION)))
>
>
> - store-source-revision: $(STORED_SOURCE_REVISION)
> + hg-store-source-revision: $(STORED_SOURCE_REVISION)
>
>
> $(eval $(call CreateSourceRevisionFile, $(SOURCE_REVISION_TRACKER)))
>
>
> - create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
> + hg-create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
> +
> + STORE_SOURCE_REVISION_TARGET := hg-store-source-revision
> + CREATE_SOURCE_REVISION_TRACKER_TARGET := 
> hg-create-source-revision-tracker
>
>
>  else
> # Not using HG
> @@ -106,28 +107,39 @@else
> ifneq ($(wildcard $(STORED_SOURCE_REVISION)), )
>   # We have a stored source revision (.src-rev)
>
>
> -   store-source-revision:
> +   src-store-source-revision:
>       $(call LogInfo, No mercurial configuration present$(COMMA) not 
> updating .src-rev)
>
>
>   $(SOURCE_REVISION_TRACKER): $(STORED_SOURCE_REVISION)
>       $(install-file)
>
>
> -   create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
> +   src-create-source-revision-tracker: $(SOURCE_REVISION_TRACKER)
> else
>   # We don't have a stored source revision. Can't do anything, really.
>
>
> -   store-source-revision:
> +   src-store-source-revision:
>       $(call LogWarn, Error: No mercurial configuration 
> present$(COMMA) cannot create .src-rev)
>       exit 2
>
>
> -   create-source-revision-tracker:
> +   src-create-source-revision-tracker:
>       $(call LogWarn, Warning: No mercurial configuration present and 
> no .src-rev)
> endif
>
>
> + STORE_SOURCE_REVISION_TARGET := src-store-source-revision
> + CREATE_SOURCE_REVISION_TRACKER_TARGET := 
> src-create-source-revision-tracker
> +
>  endif
>
>
> -all: store-source-revision create-source-revision-tracker
> +################################################################################
> +
> +$(eval $(call IncludeCustomExtension, SourceRevision-post.gmk))
> +
> +################################################################################
> +
> +store-source-revision: $(STORE_SOURCE_REVISION_TARGET)
> +
> +create-source-revision-tracker: $(CREATE_SOURCE_REVISION_TRACKER_TARGET)
>
>
>  FRC: # Force target
>
>
> -.PHONY: all store-source-revision create-source-revision-tracker
> +.PHONY: store-source-revision create-source-revision-tracker
>




More information about the build-dev mailing list