[meta-ti] [PATCH 0/4] IMAGE_FSTYPES fixes / improvements
Koen Kooi
koen at dominion.thruhere.net
Fri Mar 9 11:19:48 PST 2012
Op 9 mrt. 2012, om 20:17 heeft Denys Dmytriyenko het volgende geschreven:
> On Fri, Mar 09, 2012 at 07:43:40PM +0100, Koen Kooi wrote:
>>
>> Op 9 mrt. 2012, om 16:01 heeft Denys Dmytriyenko het volgende geschreven:
>>
>>> On Fri, Mar 09, 2012 at 07:20:30AM +0100, Koen Kooi wrote:
>>>>
>>>> Op 8 mrt. 2012, om 22:01 heeft Denys Dmytriyenko het volgende geschreven:
>>>>
>>>>> On Thu, Mar 08, 2012 at 12:34:00PM -0700, Tom Rini wrote:
>>>>>> Hey all,
>>>>>>
>>>>>> This short series does two things. For 3 machines we fix a bug of using
>>>>>> '?=' rather than '+=' for setting IMAGE_FSTYPES (these are all of the
>>>>>> machines that have this issue today except for...) and on the 4th,
>>>>>> am335x-evm we add UBI support as well. On the first three, these are
>>>>>> correct by inspection and on the fourth, I've written to and mounted
>>>>>> systemd-image from NAND on my EVM (it didn't work as I was using a custom
>>>>>> uImage that's not systemd-sane, and fixing that and confirming the config
>>>>>> used here works is on my list).
>>>>>
>>>>> All,
>>>>>
>>>>> Tom and I started talking on IRC and then decided to move the discussion back
>>>>> to the mailing list for others to participate.
>>>>>
>>>>> So, basically, the proposal is to do this in our machine.conf files:
>>>>>
>>>>> -IMAGE_FSTYPES ?= "jffs2 tar.bz2"
>>>>> +IMAGE_FSTYPES += "jffs2 tar.bz2"
>>>>>
>>>>> My response was that we shouldn't do that.
>>>>
>>>> += is the OE classic way of doing things and is IMNSHO the right thing.
>>>
>>> Not convinced:
>>>
>>> $ grep IMAGE_FSTYPES openembedded/conf/machine/*|awk '{print $2}'|sort|uniq -c
>>> 30 =
>>> 1 -
>>> 44 ?=
>>> 31 +=
>>>
>>> BTW, dash in there is a fluke coming from here:
>>> cm-x270.conf:# - IMAGE_FSTYPES = "jffs2 tar cpio.gz"
>>>
>>>>> The conf files that may set, append
>>>>> or overwrite IMAGE_FSTYPES are parsed in the order of local.conf, machine.conf
>>>>> and distro.conf. And if none of those set IMAGE_FSTYPES, bitbake.conf defaults
>>>>> to a sane tar.gz. From end-user perspective, they expect the setting in their
>>>>> local.conf to be obeyed. If they don't care and don't set IMAGE_FSTYPES, then
>>>>> machine.conf will set it to supported values, i.e. jffs2 and tar.bz2 in our
>>>>> case. Of course, distro has the last word and potentially can alter it, but in
>>>>> most cases it shouldn't. That's how it works now and I believe it's the
>>>>> correct behaviour. Changing it to append additional values to what user wants
>>>>> is slightly heavy-handed, in my opinion. In other words, those are suggested
>>>>> image types, not enforced ones.
>>>>>
>>>>> As Tom poined out, this is the same behaviour as currently used in OE-Core,
>>>>> where qemu machines all have IMAGE_FSTYPES ?= "tar.bz2 ext3".
>>>>>
>>>>> The original issue in question may be coming from the way some setup scripts
>>>>> pre-configure user settings in local.conf, defaulting IMAGE_FSTYPES to
>>>>> something, that is not very suitable for the machines being used. This needs
>>>>> to be left unset and for the end-user to decide and set specifically, IMHO.
>>>>>
>>>>> Comments, opinions?
>>>>
>>>> See the discussion on OE-core a while back. There was a lot of handwaving
>>>> done and suggested that IMAGE_FSTYPES_append_$machine = " foo" in local.conf
>>>> is the right way to do this. I think it's not intuitive because you have to
>>>> remember that += and _append are expanded in different points during
>>>> parsing, which requires either deep bitbake knowledge or minor braindamage.
>>>
>>> Link or it never happened :)
>>
>> No link, but:
>>
>> 19:41 < Tartarus> But, where's the oe-core thread?
>> 19:41 < koen> somewhere on OE-core
>> 19:42 < koen> [OE-core] [PATCH 1/2] qemu.inc: append to IMAGE_FSTYPES instead of weakly assigning them
>> 19:42 < koen> july 2011
>
> Ok, here's the link:
> http://thread.gmane.org/gmane.comp.handhelds.openembedded.core/2060/focus=2061
>
> It was discussed, there was no resolution, there were no changes.
>
> Claiming that's how it's done in Classic OE (aka .dev) is not correct - as I
> showed above, 44 machines use ?=, 31 use += and 31 use =
And how many of those machines are broken/unmaintained/etc
>
> OE-Core still uses ?=
>
> Please give me the use case that this is meant to enable, which is not
> possible now.
Setting a global, additional type in local.conf without needing deep knowledge of bitbake. People just don't understand why they need to do IMAGE_FSTYPES_append = foo instead of IMAGE_FSTYPES += or IMAGE_FSTYPE = "foo"
More information about the meta-ti
mailing list