On 07/12/10 05:54 PM, Danek Duvall wrote:
Norm Jacobs wrote:

    $ cat manifest
    file NOHASH path=usr/bin/foo mode=04511 owner=mumble
    $ cat transforms
    <transform file ->  edit path "bin" "exe">
    <transform file ->  emit file NOHASH path=%(path)>
    $ pkgmogrify -v manifest transforms
    pkgmogrify: File manifest line 1: Transform specified in file
    transforms, line 2 reports maximum recursion depth exceeded while
    calling a Python object
    $

I'm assuming this is a bug.
Could be; I'm not sure what the right answer here is.  Every action created
by an emit operation needs to go through all existing transformations,
which in this case includes the emit operation again, so you get infinite
recursion (note that you don't need the first line of the transforms file).

I'm happy to have friendlier behavior here, but when writing "emit", I
chose to ignore the problem beyond making sure the recursion was caught and
we exited sanely, so if you have some ideas of what the behavior here
should actually be ...

I guess I expected the action to be added as it was, without applying any other transforms to it, though I can see how that might not be expected. I was expecting something more on the lines of what you get with:

   $ cat manifest
   file NOHASH path=usr/bin/foo mode=04511 owner=mumble
   $ cat transforms
   <transform file ->  default emitted false>
   <transform file ->  edit path bin exe>
   <transform file emitted=false ->  emit file NOHASH emitted=true path=%(path)>
   <transform file emitted=false ->  drop>
   <transform file ->  delete emitted .*>
   $ pkgmogrify manifest transforms
   file NOHASH path=usr/exe/foo
   $
    -Norm

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to