[oe] Install base-file failed due to lack of usbd
Guo Hongruan
camelguo at gmail.com
Wed Dec 30 08:10:08 UTC 2009
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 <philb at gnu.org> 写道:
> 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
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
--
Guo Hongruan, Embedded Linux Consultant
Skype: camelguo
Twitter: camelguo
http://www.gulessoft.com
More information about the Openembedded-devel
mailing list