| #!/bin/sh | 
 | set -e | 
 | #Plan 9 source can be converted for akaros via a set of scripts. | 
 | #This is a WIP.  | 
 | # At this point, we take it just so far and do the rest | 
 | # by hand. Cocci has its issues, and we're not here to debug | 
 | # and fix them all. Also, we may create some post-conversion | 
 | # scripts as well. We'll see. | 
 | # | 
 | #We preserve the waserror/poperror style, which adds complications | 
 | #but leaves the source relatively clean. | 
 | # | 
 | #To convert plan 9 source, we have to do several things. | 
 | #We use spatch, the semantic patch tool. BUT, that tool can be | 
 | #painful for some stuff, so we also use sed. And in some cases | 
 | #we clean up things that we do with spatch with a sed pass. | 
 | #Ugly but effective. Some scripts are idempotent, so we mark | 
 | #them as such.  | 
 | # | 
 | # waserror/poperror fixing, via script/spatch/waserror.cocci | 
 | # N.B. Need r18 or later. | 
 | spatch --sp-file scripts/spatch/waserror.cocci --in-place $1 | 
 | # General Plan 9 fixing, via script/spatch/waserror.cocci | 
 | spatch --sp-file scripts/spatch/plan9.cocci --in-place $1 | 
 | spatch --sp-file scripts/spatch/scalar.cocci --in-place $1 | 
 | spatch --sp-file scripts/spatch/typedef.cocci --in-place $1 | 
 | spatch --sp-file scripts/spatch/locks.cocci --in-place $1 | 
 | spatch --sp-file scripts/spatch/rendez.cocci --in-place $1 | 
 | spatch --sp-file scripts/spatch/kproc.cocci --in-place $1 | 
 | # include fixing. Idempotent.  | 
 | sh scripts/fixincludes $1 | 
 | # Scalars. Idempotent. | 
 | sh scripts/scalar $1 | 
 | # remove pragmas. Idempotent. | 
 | sed -i '/^#pragma/d' $1 | 
 | # Stuff we might want to think about later. Idempotent | 
 | sh scripts/temporary_hack $1 | 
 | # malloc. Idempotent. | 
 | spatch --sp-file scripts/spatch/malloc.cocci --in-place $1 | 
 | # type names, via scripts/plan9. NOT idempotent. | 
 | # in fact, we almost certainly don't want it. | 
 | sh scripts/plan9 $1 | 
 | # kref. Idempotent. | 
 | spatch --sp-file scripts/spatch/kref.cocci --in-place $1 | 
 |  |