devtools: accept experimental symbol promotion
Currently, when symbols get promoted from the EXPERIMENTAL section to a
stable ABI section, the script complains they should go to the
EXPERIMENTAL section.
Example:
ERROR: symbol rte_devargs_add is added in the DPDK_19.05 section, but is
expected to be added in the EXPERIMENTAL section of the version map
This is legit.
Moving from a stable ABI to another is also allowed, but must have gone
through the proper process.
Fixes: 4bec48184e
("devtools: add checks for ABI symbol addition")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
This commit is contained in:
parent
01d1847987
commit
3630757803
@ -105,15 +105,12 @@ check_for_rule_violations()
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$secname" != "EXPERIMENTAL" ]
|
oldsecname=$(sed -n \
|
||||||
then
|
"s#$mname $symname \(.*\) del#\1#p" "$mapdb")
|
||||||
# Symbols that are getting added in a section
|
|
||||||
# other than the experimental section
|
# A symbol can not enter a non experimental
|
||||||
# to be moving from an already supported
|
# section directly
|
||||||
# section or its a violation
|
if [ $? -ne 0 ] && [ "$secname" != 'EXPERIMENTAL' ]
|
||||||
grep -q \
|
|
||||||
"$mname $symname [^EXPERIMENTAL] del" "$mapdb"
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
then
|
||||||
echo -n "ERROR: symbol $symname "
|
echo -n "ERROR: symbol $symname "
|
||||||
echo -n "is added in the $secname "
|
echo -n "is added in the $secname "
|
||||||
@ -121,11 +118,24 @@ check_for_rule_violations()
|
|||||||
echo -n "be added in the EXPERIMENTAL "
|
echo -n "be added in the EXPERIMENTAL "
|
||||||
echo "section of the version map"
|
echo "section of the version map"
|
||||||
ret=1
|
ret=1
|
||||||
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# This symbol is moving between two sections (the
|
||||||
|
# original section is not experimental).
|
||||||
|
# This can be legit, just warn.
|
||||||
|
if [ "$oldsecname" != 'EXPERIMENTAL' ]
|
||||||
|
then
|
||||||
|
echo -n "INFO: symbol $symname is being "
|
||||||
|
echo -n "moved from $oldsecname to $secname. "
|
||||||
|
echo -n "Ensure that it has gone through the "
|
||||||
|
echo "deprecation process"
|
||||||
|
continue
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|
||||||
if [ "$secname" != "EXPERIMENTAL" ]
|
if ! grep -q "$mname $symname .* add" "$mapdb" && \
|
||||||
|
[ "$secname" != "EXPERIMENTAL" ]
|
||||||
then
|
then
|
||||||
# Just inform users that non-experimenal
|
# Just inform users that non-experimenal
|
||||||
# symbols need to go through a deprecation
|
# symbols need to go through a deprecation
|
||||||
|
Loading…
Reference in New Issue
Block a user