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

Mark Hatle mark.hatle at windriver.com
Tue May 30 15:41:57 UTC 2017


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.)

--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