Hi,
   After applying the following patch, the failure did disappear.

By the way, I think the package's recipes (with the exception of the recipes in tasks/meta/images directories) should be distro-independent. We should not add the DISTRO into OVERRIDE.

Thanks a lot!

diff --git a/recipes/base-files/base-files_3.0.14.bb b/recipes/base-files/base-files_3.0.14.bb
index 483aef7..61bb71e 100644
--- a/recipes/base-files/base-files_3.0.14.bb
+++ b/recipes/base-files/base-files_3.0.14.bb
@@ -46,12 +46,7 @@ dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
           /media/union /media/realroot /media/hdd \
           /media/mmc1"

-dirs755_micro = "/dev /proc /sys ${sysconfdir}"
-dirs2775_micro = ""
-dirs1777_micro = "/tmp"
-
 media = "card cf net ram"
-media_micro = ""

 volatiles = "cache run log lock tmp"
 conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
@@ -93,40 +88,38 @@ do_install () {
                echo ${hostname} > ${D}${sysconfdir}/hostname
        fi

- if [ "${DISTRO}" != "micro" -a "${DISTRO}" != "micro-uclibc" ]; then
-                install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}
-
-                if [ -n "${DISTRO_NAME}" ]; then
- echo -n "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue - echo -n "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net
-                       if [ -n "${DISTRO_VERSION}" ]; then
- echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue - echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue.net
-                       fi
-                       echo "\n \l" >> ${D}${sysconfdir}/issue
-                       echo >> ${D}${sysconfdir}/issue
-                       echo "%h"    >> ${D}${sysconfdir}/issue.net
-                       echo >> ${D}${sysconfdir}/issue.net
-               else
- install -m 0644 ${WORKDIR}/issue ${D}${sysconfdir}/issue - install -m 0644 ${WORKDIR}/issue.net ${D}${sysconfdir}/issue.net
-                fi
+       install -m 644 ${WORKDIR}/issue*  ${D}${sysconfdir}
+
+       if [ -n "${DISTRO_NAME}" ]; then
+               echo -n "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue
+               echo -n "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net
+               if [ -n "${DISTRO_VERSION}" ]; then
+ echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue + echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue.net
+               fi
+               echo "\n \l" >> ${D}${sysconfdir}/issue
+               echo >> ${D}${sysconfdir}/issue
+               echo "%h"    >> ${D}${sysconfdir}/issue.net
+               echo >> ${D}${sysconfdir}/issue.net
+       else
+               install -m 0644 ${WORKDIR}/issue ${D}${sysconfdir}/issue
+ install -m 0644 ${WORKDIR}/issue.net ${D}${sysconfdir}/issue.net
+       fi
+
+       install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
+ install -m 0644 ${WORKDIR}/filesystems ${D}${sysconfdir}/filesystems
+       install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
+       install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
+ install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile + install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc
+       install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc
+       install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
+ for license in BSD GPL-2 LGPL-2 LGPL-2.1 Artistic GPL-3 LGPL-3 GFDL-1.2; do + install -m 0644 ${WORKDIR}/licenses/$license ${D}${datadir}/common-licenses/
+       done

-                install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
- install -m 0644 ${WORKDIR}/filesystems ${D}${sysconfdir}/filesystems - install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd - install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile - install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile - install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc - install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc
-               install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
- for license in BSD GPL-2 LGPL-2 LGPL-2.1 Artistic GPL-3 LGPL-3 GFDL-1.2; do - install -m 0644 ${WORKDIR}/licenses/$license ${D}${datadir}/common-licenses/
-               done
-
-               ln -sf /proc/mounts ${D}${sysconfdir}/mtab
- install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf
-        fi
+       ln -sf /proc/mounts ${D}${sysconfdir}/mtab
+       install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf

install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
 }
@@ -168,7 +161,6 @@ PACKAGE_ARCH_rt3000 = "rt3000"
 PACKAGE_ARCH = "${MACHINE_ARCH}"

 CONFFILES_${PN} = "${sysconfdir}/fstab ${sysconfdir}/hostname"
-CONFFILES_${PN}_micro = ""
CONFFILES_${PN}_nylon = "${sysconfdir}/resolv.conf ${sysconfdir}/fstab ${sysconfdir}/hostname" CONFFILES_${PN}_slugos = "${sysconfdir}/resolv.conf ${sysconfdir}/fstab ${sysconfdir}/hostname"



在 Tue, 29 Dec 2009 03:59:29 +0800,Phil Blundell <[email protected]> 写道:

On Mon, 2009-12-28 at 11:40 +0800, Guo Hongruan wrote:
Hi guys,
the installation of base-file failed due to lack of usbd. I found this
bug when
1. MACHINE=qemumips and DISTRO=micro (using eglibc)
2. MACHINE=qemuarm and DISTRO=micro (using eglibc)

install: cannot create regular file
`/media/work-disk/workdir/oe-qemumips-micro-eglibc/work/qemumips-oe-linux/base-files-3.0.14-r89/image/etc/default/usbd':
No such file or directory

This is a bit weird, because the only install command that mentions usbd
is wrapped in an 'if [ ${DISTRO} != micro ] ...' conditional.  It also
worked fine for me last time I tried, and I test with qemuarm and micro
fairly often.  Do you have any local changes to your tree?

p.



_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel


--
Guo Hongruan, Embedded Linux Consultant
Skype: camelguo
Twitter: camelguo
http://www.gulessoft.com

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to