On 04/ 5/10 05:16 AM, joseph.vl...@oracle.com wrote:
On 04/ 4/10 11:41 PM, Jack Schwartz wrote:
Hi everyone.

This easy webrev is for a fix to the DC finalizer script which copies files into the boot_archive. It fixes how whole-directories are excluded.

I have tested this fix by having built several images during Driver Update testing.

Webrev:
http://cr.opensolaris.org/~schwartz/100404.1/webrev/index.html

Bug:
http://defect.opensolaris.org/bz/show_bug.cgi?id=15290

   Thanks,
   Jack

_______________________________________________
caiman-discuss mailing list
caiman-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Hey Jack,

I see what I think might be a problem with your solution. What if the item you are attempting to match is a substring match and not the full match?

For example:

>>> excitem="AAAA/BBB/CCC"
>>> excitem.find("AA")
0

This matches "AA" even though I think you only want to match "AAAA"

I think this proposed solution might be safer:

>>> EXCLUDES = "one "
>>> for i in excitem.split('/'):
...    if "AAA" == i:
...       EXCLUDES = EXCLUDES + "more excludes"
...
>>> print EXCLUDES
one
>>>


Correctly does not match "AAA"


>>> for i in excitem.split('/'):
...    if "AAAA" == i:
...       EXCLUDES = EXCLUDES + "more excludes"
...
>>> print EXCLUDES
one more excludes
>>>

but does correcly match "AAAA"


What do you think?

I'm not sure that'll work in all cases Joe? Such as if "foo/bar" were included, and "bar" were excluded, it would match? But it's early on a Monday and maybe I'm not thinking it through.

Another point to consider is, it doesn't *seem* like there would be ill effects in the scenario you bring up. For example, consider the following set of dirs:

foo
foo/bar
foo/bartwo

Suppose you wanted to include foo, include foo/bartwo, and exclude foo/bar. Based on the code, "foo/bar" would 'match' against both foo/bar and foo/bartwo as it looped, but at line 163 all that's added is a "grep -v foo/bar" - so no harm done, in this case, in being overzealous.

That said:

Jack, please use "if excitem.startswith(item):" instead of parsing for "...find(..) == 0".

- Keith



Joe
_______________________________________________
caiman-discuss mailing list
caiman-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

_______________________________________________
caiman-discuss mailing list
caiman-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to