sleep in control plane thread
[dpdk.git] / devtools / check-symbol-change.sh
index 28f093a..ed2178e 100755 (executable)
@@ -17,13 +17,11 @@ build_map_changes()
                # map files are altered, and all section/symbol names
                # appearing between a triggering of this rule and the
                # next trigger of this rule are associated with this file
-               /[-+] a\/.*\.map/ {map=$2; in_map=1}
+               /[-+] [ab]\/.*\.map/ {map=$2; in_map=1; next}
 
-               # Same pattern as above, only it matches on anything that
-               # does not end in 'map', indicating we have left the map chunk.
-               # When we hit this, turn off the in_map variable, which
-               # supresses the subordonate rules below
-               /[-+] a\/.*\.[^map]/ {in_map=0}
+               # The previous rule catches all .map files, anything else
+               # indicates we left the map chunk.
+               /[-+] [ab]\// {in_map=0}
 
                # Triggering this rule, which starts a line and ends it
                # with a { identifies a versioned section.  The section name is
@@ -110,15 +108,24 @@ check_for_rule_violations()
 
                        # A symbol can not enter a non experimental
                        # section directly
-                       if [ $? -ne 0 ] && [ "$secname" != 'EXPERIMENTAL' ]
+                       if [ -z "$oldsecname" ]
                        then
-                               echo -n "ERROR: symbol $symname "
-                               echo -n "is added in the $secname "
-                               echo -n "section, but is expected to "
-                               echo -n "be added in the EXPERIMENTAL "
-                               echo "section of the version map"
-                               ret=1
-                               continue
+                               if [ "$secname" = 'EXPERIMENTAL' ]
+                               then
+                                       echo -n "INFO: symbol $symname has "
+                                       echo -n "been added to the "
+                                       echo -n "EXPERIMENTAL section of the "
+                                       echo "version map"
+                                       continue
+                               else
+                                       echo -n "ERROR: symbol $symname "
+                                       echo -n "is added in the $secname "
+                                       echo -n "section, but is expected to "
+                                       echo -n "be added in the EXPERIMENTAL "
+                                       echo "section of the version map"
+                                       ret=1
+                                       continue
+                               fi
                        fi
 
                        # This symbol is moving inside a section, nothing to do