[meta-virtualization] [PATCH] docker-distribution: fix do package qa warning [textrel]

Changqing Li changqing.li at windriver.com
Tue Oct 9 02:19:59 PDT 2018



On 10/09/2018 11:14 AM, Changqing Li wrote:
>
>
>
> On 10/01/2018 09:22 AM, Bruce Ashfield wrote:
>> On Sat, Sep 29, 2018 at 11:18 PM<changqing.li at windriver.com>  wrote:
>>> From: Changqing Li<changqing.li at windriver.com>
>>>
>>> fix below warning:
>>>
>>> do_package_qa: QA Issue: ELF binary 'xxx/usr/sbin/registry'
>>> has relocations in .text [textrel]
>>>
>>> Add GOBUILDFLAGS which have -buildmode=pie to fix it
>> This is not universally true, so your configuration needs more
>> explanation. We haven't needed these flags before, and I've never seen
>> the warnings.
>>
>> I just build docker and dumped the environment, my GOBUILDFLAGS do not
>> have buildmode=pie
>>
>> So clearly, your config is different.
>>
>> I'm not against adding the extra variable, but we are taking a the
>> risk of injecting build configurations that we haven't needed before,
>> and may not want.
>>
>> So I need to understand what configuration you are building that is
>> making them required, and then figure out what else is being injected
>> that wasn't being injected before.
>>
>> Same comment applies for all the QA fixes.
>>
>> Bruce
>
> Hi,  Bruce
>
> I do some research, package QA check  is enabled by default in 
> insane.bbclass.
> variable WARN_QA contains the checked items. and textrel is checked by 
> default.
>
> But,  this warning  is arch related(Besides arch,  no other special 
> config).
> Here is my test result of which archs  the warnings can see.
>
> docker                                      arm64  arm  x86 x86-64
> docker-distribution                   arm64
> containerd-opencontainers     arm64  arm  x86  x86-64
> oci-image-tools                        arm64
> oci-runtime-tools                     arm64
> runc-docker                             arm64  arm  x86  x86-64
>
>
> About GOBUILDFLAGS,  buildmode=pie is added to oe-core recently, so 
> maybe you need
> to check lastest code, here is the patch.
>
>
>
> Do you think we need add the fix patch only for special arch? like
> SRC_URI_append_aarch64="file://0001-fix-do_package_qa-error.patch"
>
> //Sandy

PS: Refer this commit, 
http://cgit.openembedded.org/openembedded-core/commit/?id=b689c72ad2dc84b8bb55ecbf72d95701707b9bb3
seems problem only met on aarch64,  but not only skip aarch64.

//Sandy

>
>>> Signed-off-by: Changqing Li<changqing.li at windriver.com>
>>> ---
>>>   .../docker-distribution/docker-distribution_git.bb |  1 +
>>>   .../files/0001-fix-do_package_qa-error.patch       | 32 ++++++++++++++++++++++
>>>   2 files changed, 33 insertions(+)
>>>   create mode 100644 recipes-containers/docker-distribution/files/0001-fix-do_package_qa-error.patch
>>>
>>> diff --git a/recipes-containers/docker-distribution/docker-distribution_git.bb b/recipes-containers/docker-distribution/docker-distribution_git.bb
>>> index add5ce1..7c7bce2 100644
>>> --- a/recipes-containers/docker-distribution/docker-distribution_git.bb
>>> +++ b/recipes-containers/docker-distribution/docker-distribution_git.bb
>>> @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM ="file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
>>>   SRCREV_distribution="48294d928ced5dd9b378f7fd7c6f5da3ff3f2c89"
>>>   SRC_URI = "git://github.com/docker/distribution.git;branch=release/2.6;name=distribution;destsuffix=git/src/github.com/docker/distribution \
>>>              file://docker-registry.service  \
>>> +file://0001-fix-do_package_qa-error.patch  \
>>>             "
>>>
>>>   PACKAGES =+ "docker-registry"
>>> diff --git a/recipes-containers/docker-distribution/files/0001-fix-do_package_qa-error.patch b/recipes-containers/docker-distribution/files/0001-fix-do_package_qa-error.patch
>>> new file mode 100644
>>> index 0000000..269b0cd
>>> --- /dev/null
>>> +++ b/recipes-containers/docker-distribution/files/0001-fix-do_package_qa-error.patch
>>> @@ -0,0 +1,32 @@
>>> +From 4b9d701fabff8e7969db081406d00fa9fe46b3fd Mon Sep 17 00:00:00 2001
>>> +From: Changqing Li<changqing.li at windriver.com>
>>> +Date: Thu, 27 Sep 2018 11:05:51 +0800
>>> +Subject: [PATCH] fix do_package_qa error
>>> +
>>> +fix below error:
>>> +do_package_qa: QA Issue: ELF binary 'xxx/usr/sbin/registry'
>>> +has relocations in .text [textrel]
>>> +
>>> +Upstream-Status: Inappropriate [oe-specific]
>>> +
>>> +Signed-off-by: Changqing Li<changqing.li at windriver.com>
>>> +---
>>> + Makefile | 2 +-
>>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>>> +
>>> +diff --git a/Makefile b/Makefile
>>> +index 47b8f1d..13b0f92 100644
>>> +--- a/Makefile
>>> ++++ b/Makefile
>>> +@@ -39,7 +39,7 @@ GODEP=$(shell which godep || echo '')
>>> +
>>> + ${PREFIX}/bin/registry: $(GOFILES)
>>> +       @echo "+ $@"
>>> +-      @go build -tags "${DOCKER_BUILDTAGS}" -o $@ ${GO_LDFLAGS}  ${GO_GCFLAGS} ./cmd/registry
>>> ++      @go build -tags "${DOCKER_BUILDTAGS}" -o $@ ${GO_LDFLAGS} ${GOBUILDFLAGS} ${GO_GCFLAGS} ./cmd/registry
>>> +
>>> + ${PREFIX}/bin/digest:  $(GOFILES)
>>> +       @echo "+ $@"
>>> +--
>>> +2.7.4
>>> +
>>> --
>>> 2.7.4
>>>
>>> --
>>> _______________________________________________
>>> meta-virtualization mailing list
>>> meta-virtualization at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/meta-virtualization
>>
>
> -- 
> BRs
>
> Sandy(Li Changqing)
> Wind River Linux
>
>

-- 
BRs

Sandy(Li Changqing)
Wind River Linux

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20181009/4fe2ae92/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kjbchpkfiaifpkbp.png
Type: image/png
Size: 7276 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20181009/4fe2ae92/attachment-0001.png>


More information about the meta-virtualization mailing list