custom extension for make/SourceRevision.gmk
Christian Thalinger
cthalinger at twitter.com
Mon Aug 20 11:27:31 UTC 2018
> On Jul 19, 2018, at 9:17 PM, Christian Thalinger <cthalinger at twitter.com> wrote:
>
>
>
>> On Jul 19, 2018, at 2:31 PM, Erik Joelsson <erik.joelsson at oracle.com <mailto:erik.joelsson at oracle.com>> wrote:
>>
>> I can do that. Do you have a bug?
>>
> No.
Sorry, was on vacation… I don’t see the change in the repo. Did you file one?
>> /Erik
>>
>> On 2018-07-19 10:57, Christian Thalinger wrote:
>>>
>>>
>>> On Thu, Jul 19, 2018 at 1:11 PM Erik Joelsson <erik.joelsson at oracle.com <mailto:erik.joelsson at oracle.com>> wrote:
>>> This looks good to me, but will need coordination when pushed as I said earlier.
>>>
>>>
>>> Do you want to push it so it’s easier?
>>>
>>> /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