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

Martin Jansa martin.jansa at gmail.com
Tue May 30 17:33:17 UTC 2017


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/20170530/2149a6af/attachment-0002.html>


More information about the Openembedded-core mailing list