Patchwork gcc-runtime: Avoid error when trying to remove nonexistent directories

login
register
mail settings
Submitter Phil Blundell
Date May 2, 2013, 12:19 p.m.
Message ID <1367497165.14512.247.camel@phil-desktop.brightsign>
Download mbox | patch
Permalink /patch/49243/
State Accepted
Commit 3dedd8f72c94c375541210e56f5f40ec2a2f8d47
Headers show

Comments

Phil Blundell - May 2, 2013, 12:19 p.m.
If we didn't build libgomp then we won't have installed anything into
${infodir} or ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude.  Check
whether those directories exist before trying to remove them, else we
will lose.

Signed-off-by: Phil Blundell <philb@gnu.org>
---
 meta/recipes-devtools/gcc/gcc-configure-runtime.inc |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
Ross Burton - May 2, 2013, 12:54 p.m.
On 2 May 2013 13:19, Phil Blundell <pb@pbcl.net> wrote:
> If we didn't build libgomp then we won't have installed anything into
> ${infodir} or ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude.  Check
> whether those directories exist before trying to remove them, else we
> will lose.

Isn't it neater to use rm -rf?

Ross
Phil Blundell - May 2, 2013, 1:13 p.m.
On Thu, 2013-05-02 at 13:54 +0100, Burton, Ross wrote:
> On 2 May 2013 13:19, Phil Blundell <pb@pbcl.net> wrote:
> > If we didn't build libgomp then we won't have installed anything into
> > ${infodir} or ${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude.  Check
> > whether those directories exist before trying to remove them, else we
> > will lose.
> 
> Isn't it neater to use rm -rf?

The original code goes to some trouble to use "rmdir
--ignore-fail-on-non-empty", which I assume means that there are some
circumstances where those directories do contain other files that we
want to keep.  Using "rm -rf" would obviously blow the whole thing away.

p.

Patch

diff --git a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
index a9f77d9..977a98a 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-runtime.inc
@@ -43,8 +43,12 @@  do_install () {
 		oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/$target/$d/ install
 	done
 	rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir
-	rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude
-	rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
+	if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then
+		rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude
+	fi
+	if [ -d ${D}${infodir} ]; then
+		rmdir --ignore-fail-on-non-empty -p ${D}${infodir}
+	fi
 	chown -R root:root ${D}
 }