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

Andre McCurdy armccurdy at gmail.com
Tue May 30 16:30:03 UTC 2017


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
>



More information about the Openembedded-core mailing list