[oe] [PATCH] Remove the micro distro specific overridding of variables

Guo Hongruan camelguo at gmail.com
Wed Dec 30 09:39:52 UTC 2009


I searched the whole openembedded directory and found the following  
references of micro as DISTRO overriding.
recipes/base-passwd/base-passwd_3.5.20.bb:do_install_micro () {
recipes/sysvinit/sysvinit_2.86.bb:RRECOMMENDS_${PN}_micro = ""

Through the above references, I can say that the initial motion of using  
micro as overriding is trying to keep the image as small as possible. To  
achieve the goal, the initial author added the check/overriding of  
micro/micro-uclibc. But how many space will be saved by just no installing  
the several plain text files? I think the basic unit of installation  
should be package not file. To keep the image small, we should control the  
packages installed.

If someone realy does not want to install some files in  
base-file/base-passwd/sysvinit to keep the image smaller, they can  
rewrites the corresponding recipes and put them into their private bb file  
collection.

在 Wed, 30 Dec 2009 17:13:16 +0800,Phil Blundell <philb at gnu.org> 写道:

> This patch is wrong.  If you make this change then base-files will gain
> a whole load of files which are not wanted for micro.
>
> p.
>
> On Wed, 2009-12-30 at 16:15 +0800, Guo Hongruan wrote:
>> 1. Remove the *_micro variable overridding;
>> 2. Remove the micro/micro-uclibc specific installation decision, which  
>> causes the installation of base-file failed when  
>> DISTRO=micro/micro-uclibc.
>> ---
>>  recipes/base-files/base-files_3.0.14.bb |   70  
>> ++++++++++++++-----------------
>>  1 files changed, 31 insertions(+), 39 deletions(-)
>>
>> 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"
>>
>
>
>
> _______________________________________________
> 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