[OE-core] [PATCH] recipes: Replace "cp -a" with "cp -R --no-dereference --preserve=mode, links"

Martin Jansa martin.jansa at gmail.com
Sun Jun 4 06:55:07 UTC 2017


There are few more QA warnings about this even with this change applied:

count: 3	issue: host-user-contaminated
glibc-locale-2.25: glibc-locale:
/glibc-binary-localedata-ar-jo/usr/lib/locale/ar_JO/LC_PAPER is owned
by uid 3004, which is the same as the user running bitbake. This may
be due to host contamination [host-user-contaminated]
glibc-locale-2.25: glibc-locale:
/glibc-binary-localedata-de-at/usr/lib/locale/de_AT/LC_MEASUREMENT is
owned by uid 3004, which is the same as the user running bitbake. This
may be due to host contamination [host-user-contaminated]
glibc-locale-2.25: glibc-locale:
/glibc-binary-localedata-es-sv.iso-8859-1/usr/lib/locale/es_SV.ISO-8859-1/LC_MESSAGES/SYS_LC_MESSAGES
is owned by uid 3004, which is the same as the user running bitbake.
This may be due to host contamination [host-user-contaminated]


These seem to be a bit undeterministic (I think I've seen various locales
and files there in different runs, not just these 3 files). But I'll leave
this to someone else.

On Tue, May 30, 2017 at 7:33 PM, Martin Jansa <martin.jansa at gmail.com>
wrote:

> I cannot find the exact message in MLs, but this combination of parameters
> was suggested by someone and approved by others back in 2015, when I did
> this change and similar in other layers like:
> https://patchwork.openembedded.org/patch/116525/
>
> So I'm just using the same everywhere.
>
> But I'm open to change it to some other form if there are technical
> reasons to do so (other than personal preference).
>
> On Tue, May 30, 2017 at 6:30 PM, Andre McCurdy <armccurdy at gmail.com>
> wrote:
>
>> On Tue, May 30, 2017 at 8:41 AM, Mark Hatle <mark.hatle at windriver.com>
>> wrote:
>> > On 5/30/17 9:45 AM, Andre McCurdy wrote:
>> >> On Tue, May 30, 2017 at 1:08 AM, Martin Jansa <martin.jansa at gmail.com>
>> wrote:
>> >>> * Using "cp -a" leaks UID of user running the builds, causing
>> >>>   many QA warnings.
>> >>> * See this thread for details:
>> >>>   http://lists.openembedded.org/pipermail/openembedded-
>> core/2015-November/112904.html
>> >>
>> >> Using "cp -av --no-preserve=ownership" is a slightly cleaner solution.
>> >
>> > I personally prefer Martin's version since '-a' is not supported
>> everywhere.
>> > (Unless you using gnu cp, which 99% of the Linux world uses.. but
>> non-Linux
>> > systems rarely do.)
>>
>> Which versions of cp do you know of that support
>> "--preserve=mode,links" without supporting "-a" ?
>>
>> A quick google of manpages suggests that FreeBSD supports "-a" but not
>> "--preserve=XXX". OpenBSD doesn't seem to support either.
>>
>> Which non-Linux host systems does OE support?
>>
>> > --Mark
>> >
>> >>> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
>> >>> ---
>> >>>  meta/recipes-core/coreutils/coreutils_8.27.bb       | 2 +-
>> >>>  meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.4.bb | 4 ++--
>> >>>  meta/recipes-extended/mdadm/mdadm_4.0.bb            | 2 +-
>> >>>  3 files changed, 4 insertions(+), 4 deletions(-)
>> >>>
>> >>> diff --git a/meta/recipes-core/coreutils/coreutils_8.27.bb
>> b/meta/recipes-core/coreutils/coreutils_8.27.bb
>> >>> index 667e0af560..ea8740a2d1 100644
>> >>> --- a/meta/recipes-core/coreutils/coreutils_8.27.bb
>> >>> +++ b/meta/recipes-core/coreutils/coreutils_8.27.bb
>> >>> @@ -99,7 +99,7 @@ do_install_append() {
>> >>>         install -t ${D}/${mandir}/man1 ${S}/man/*.1
>> >>>         # prebuilt man pages don't do a separate man page for [ vs
>> test.
>> >>>         # see comment above r.e. sed and update-alternatives
>> >>> -       cp -a ${D}${mandir}/man1/test.1 ${D}${mandir}/man1/lbracket.1.
>> ${BPN}
>> >>> +       cp -R --no-dereference --preserve=mode,links -v
>> ${D}${mandir}/man1/test.1 ${D}${mandir}/man1/lbracket.1.${BPN}
>> >>>  }
>> >>>
>> >>>  inherit update-alternatives
>> >>> diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.4.bb
>> b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.4.bb
>> >>> index 5216c7027c..7c8809a41e 100644
>> >>> --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.4.bb
>> >>> +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.43.4.bb
>> >>> @@ -106,7 +106,7 @@ do_compile_ptest() {
>> >>>  }
>> >>>
>> >>>  do_install_ptest() {
>> >>> -       cp -a ${B}/tests ${D}${PTEST_PATH}/test
>> >>> -       cp -a ${S}/tests/* ${D}${PTEST_PATH}/test
>> >>> +       cp -R --no-dereference --preserve=mode,links -v ${B}/tests
>> ${D}${PTEST_PATH}/test
>> >>> +       cp -R --no-dereference --preserve=mode,links -v ${S}/tests/*
>> ${D}${PTEST_PATH}/test
>> >>>         sed -e 's!../e2fsck/e2fsck!e2fsck!g' -i
>> ${D}${PTEST_PATH}/test/*/expect*
>> >>>  }
>> >>> diff --git a/meta/recipes-extended/mdadm/mdadm_4.0.bb
>> b/meta/recipes-extended/mdadm/mdadm_4.0.bb
>> >>> index 98a10a8b15..506b0bc315 100644
>> >>> --- a/meta/recipes-extended/mdadm/mdadm_4.0.bb
>> >>> +++ b/meta/recipes-extended/mdadm/mdadm_4.0.bb
>> >>> @@ -55,7 +55,7 @@ do_compile_ptest() {
>> >>>  }
>> >>>
>> >>>  do_install_ptest() {
>> >>> -       cp -a ${S}/tests ${D}${PTEST_PATH}/tests
>> >>> +       cp -R --no-dereference --preserve=mode,links -v ${S}/tests
>> ${D}${PTEST_PATH}/tests
>> >>>         cp ${S}/test ${D}${PTEST_PATH}
>> >>>         sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/!g' -i
>> ${D}${PTEST_PATH}/test
>> >>>         ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
>> >>> --
>> >>> 2.13.0
>> >>>
>> >>> --
>> >>> _______________________________________________
>> >>> Openembedded-core mailing list
>> >>> Openembedded-core at lists.openembedded.org
>> >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170604/d70cb97e/attachment-0002.html>


More information about the Openembedded-core mailing list