[OE-core] [PATCH 2/2] rootfs_rpm.bbclass: don't remove rpmlib when INC_RPM_IMAGE_GEN=1

Mark Hatle mark.hatle at windriver.com
Wed May 9 15:34:41 UTC 2012


On 5/9/12 10:24 AM, Koen Kooi wrote:
>
> Op 9 mei 2012, om 17:15 heeft Mark Hatle het volgende geschreven:
>
>> On 5/9/12 10:01 AM, Koen Kooi wrote:
>>>
>>> Op 9 mei 2012, om 16:52 heeft Mark Hatle het volgende geschreven:
>>>
>>>> On 5/9/12 3:50 AM, Koen Kooi wrote:
>>>>>
>>>>> Op 9 mei 2012, om 10:20 heeft Robert Yang het volgende geschreven:
>>>>>
>>>>>> Don't remove rpmlib when INC_RPM_IMAGE_GEN=1, otherwise the
>>>>>> list_installed_packages would get nothing in the second build.
>>>>>
>>>>> What happens when I do a build, enable INC_RPM_IMAGE_GEN and do another build?
>>>>
>>>> The intention is that only the packages that have been changed/upgraded will be installed.  Instead of the whole image being generated from scratch each time.
>>>
>>> That's what INC_RPM_IMAGE_GEN does, yes. What I'm asking is how this patch addresses the sequence I outlined above.
>>
>> Explain what you mean by "build".
>>
>> Using the following:
>>
>> . ./oe-init-build-env build-test
>> <setup local.conf w/ rpm packaging and INC_RPM_IMAGE_GEN>
>> bitbake core-image-core
>> --- time passes, git pull pulls in changes ---
>> bitbake core-image-core
>>
>> The second "build", only the changed packages will be added to the image.
>>
>> You you are using different build directories, then it doesn't re-use anything.  The purpose of this is incremental software development within a single build directory.
>
> You are still missing my point. The patch is broken if you change INC_RPM_IMAGE_GEN

I am absolutely missing your point.

I don't see what is wrong in the following, but I haven't tried it:

> -	rm -rf ${IMAGE_ROOTFS}${rpmlibdir}
> -	rm -rf ${IMAGE_ROOTFS}${opkglibdir}
> +	# Don't remove the rpmlib when INC_RPM_IMAGE_GEN=1
> +	if [ "${INC_RPM_IMAGE_GEN}" != "1" ]; then
> +		rm -rf ${IMAGE_ROOTFS}${rpmlibdir}
> +		rm -rf ${IMAGE_ROOTFS}${opkglibdir}
> +	fi

If the INC_RPM_IMAGE_GEN is not set to '1'.  (Specifically '1' as opposed to 
just checking if it's set.) then it'll remove the existing image packaging database.

--Mark

> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core





More information about the Openembedded-core mailing list