From: Dongkyun Son Date: Mon, 7 Aug 2023 06:17:20 +0000 (+0900) Subject: config : update to dev branch (interim version as 9.0) X-Git-Tag: accepted/tizen/unified/20240719.080553~74 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ab698d384905ace67ca717d3c0f6d27f99b41e18;p=platform%2Fhal%2Fbackend%2Frootstrap-data-common.git config : update to dev branch (interim version as 9.0) This is initial commit to be used by internal RBS for development purpose. Change-Id: I0fccc14dd4690f05424d3db8c8007eee70fe90ad Signed-off-by: Dongkyun Son --- diff --git a/make_rootstrap.sh b/make_rootstrap.sh index 50a3a74..47145d2 100755 --- a/make_rootstrap.sh +++ b/make_rootstrap.sh @@ -8,8 +8,8 @@ SCRIPT_VER="0.0.2" CMD_RS_GEN="${SCRIPT_BASE}/script/rootstrap_gen_1.0.sh" CMD_RS_INFO="${SCRIPT_BASE}/script/rootstrap_info_gen_1.0.sh" CMD_RS_PLUGIN="${SCRIPT_BASE}/script/rootstrap_plugin_gen_1.0.sh" -CMD_API_FILTER="${SCRIPT_BASE}/script/api_filter_8.0.py" -CMD_API_GDBUS_FILTER="${SCRIPT_BASE}/script/api_filter_8.0_gdbus.py" +CMD_API_FILTER="${SCRIPT_BASE}/script/api_filter.py" +CMD_API_GDBUS_FILTER="${SCRIPT_BASE}/script/api_filter_gdbus.py" DIR_INFO=".info" DIR_RPM=".rpm" @@ -318,21 +318,9 @@ if [ "$OPT_TARGET" = true ]; then callRootstrapGen target ${RPM_PKG_SVR_TARGET} ${BASE_PKG_SVR_TARGET} log "[INFO] Postscript ${DIR_TARGET}"; - if [ "$PLATFORM_VERSION" == "2.4" ] - then - #dali patch - unzip dali-patch.zip -d .target/usr/include - echo "remove Non-Public EFL API" - $CMD_API_FILTER .target>/dev/null #EFL filter - check_error $? "Failed to remove Non-Public EFL API" - fi - - if [ "$PLATFORM_VERSION" == "3.0" ] || [ "$PLATFORM_VERSION" == "4.0" ] || [ "$PLATFORM_VERSION" == "5.0" ] || [ "$PLATFORM_VERSION" == "5.5" ] || [ "$PLATFORM_VERSION" == "6.0" ] || [ "$PLATFORM_VERSION" == "6.5" ] || [ "$PLATFORM_VERSION" == "7.0" ] || [ "$PLATFORM_VERSION" == "7.5" ] || [ "$PLATFORM_VERSION" == "8.0" ] - then - mv ${DIR_TARGET}/usr/include/asm-arm ${DIR_TARGET}/usr/include/asm - mv ${DIR_TARGET}/usr/include/base/deprecated/* ${DIR_TARGET}/usr/include/base/ - fi + mv ${DIR_TARGET}/usr/include/asm-arm ${DIR_TARGET}/usr/include/asm + mv ${DIR_TARGET}/usr/include/base/deprecated/* ${DIR_TARGET}/usr/include/base/ if [ "$INTERNAL" = false ]; then echo "remove Non-Public EFL API" @@ -341,7 +329,7 @@ if [ "$OPT_TARGET" = true ]; then $CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter fi #echo "remove Public GDBUS API" - #$CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter + #$CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter if [ "$INTERNAL" = true ]; then log "[INFO] Skip .. removing dlog-internal.h" @@ -365,23 +353,11 @@ if [ "$OPT_EMULATOR" = true ]; then callRootstrapGen emulator ${RPM_PKG_SVR_EMULATOR} ${BASE_PKG_SVR_EMULATOR} log "[INFO] Postscript ${DIR_EMULATOR}"; - if [ "$PLATFORM_VERSION" == "2.4" ] - then - #dali patch - unzip dali-patch.zip -d .emulator/usr/include - echo "remove Non-Public EFL API" - $CMD_API_FILTER .emulator >/dev/null #EFL filter - check_error $? "Failed to remove Non-Public EFL API" - fi + mv ${DIR_EMULATOR}/usr/include/asm-x86 ${DIR_EMULATOR}/usr/include/asm + mv ${DIR_EMULATOR}/usr/include/base/deprecated/* ${DIR_EMULATOR}/usr/include/base/ - if [ "$PLATFORM_VERSION" == "3.0" ] || [ "$PLATFORM_VERSION" == "4.0" ] || [ "$PLATFORM_VERSION" == "5.0" ] || [ "$PLATFORM_VERSION" == "5.5" ] || [ "$PLATFORM_VERSION" == "6.0" ] || [ "$PLATFORM_VERSION" == "6.5" ] || [ "$PLATFORM_VERSION" == "7.0" ] || [ "$PLATFORM_VERSION" == "7.5" ] || [ "$PLATFORM_VERSION" == "8.0" ] - then - mv ${DIR_EMULATOR}/usr/include/asm-x86 ${DIR_EMULATOR}/usr/include/asm - mv ${DIR_EMULATOR}/usr/include/base/deprecated/* ${DIR_EMULATOR}/usr/include/base/ - fi - - if [ "$INTERNAL" = false ]; then + if [ "$INTERNAL" = false ]; then echo "remove Non-Public EFL API" $CMD_API_FILTER .emulator>/dev/null #EFL filter echo "remove Non-Public GDBUS API" diff --git a/make_rootstrap_64.sh b/make_rootstrap_64.sh index 6b6ee00..f43655c 100755 --- a/make_rootstrap_64.sh +++ b/make_rootstrap_64.sh @@ -8,8 +8,8 @@ SCRIPT_VER="0.0.2" CMD_RS_GEN="${SCRIPT_BASE}/script/rootstrap_gen_1.0_64.sh" CMD_RS_INFO="${SCRIPT_BASE}/script/rootstrap_info_gen_1.0_64.sh" CMD_RS_PLUGIN="${SCRIPT_BASE}/script/rootstrap_plugin_gen_1.0_64.sh" -CMD_API_FILTER="${SCRIPT_BASE}/script/api_filter_8.0.py" -CMD_API_GDBUS_FILTER="${SCRIPT_BASE}/script/api_filter_8.0_gdbus.py" +CMD_API_FILTER="${SCRIPT_BASE}/script/api_filter.py" +CMD_API_GDBUS_FILTER="${SCRIPT_BASE}/script/api_filter_gdbus.py" DIR_INFO=".info" DIR_RPM=".rpm" @@ -318,21 +318,9 @@ if [ "$OPT_TARGET" = true ]; then callRootstrapGen target ${RPM_PKG_SVR_TARGET} ${BASE_PKG_SVR_TARGET} log "[INFO] Postscript ${DIR_TARGET}"; - if [ "$PLATFORM_VERSION" == "2.4" ] - then - #dali patch - unzip dali-patch.zip -d .target/usr/include - echo "remove Non-Public EFL API" - $CMD_API_FILTER .target>/dev/null #EFL filter - check_error $? "Failed to remove Non-Public EFL API" - fi - - if [ "$PLATFORM_VERSION" == "3.0" ] || [ "$PLATFORM_VERSION" == "4.0" ] || [ "$PLATFORM_VERSION" == "5.0" ] || [ "$PLATFORM_VERSION" == "5.5" ] || [ "$PLATFORM_VERSION" == "6.0" ] || [ "$PLATFORM_VERSION" == "6.5" ] || [ "$PLATFORM_VERSION" == "7.0" ] || [ "$PLATFORM_VERSION" == "7.5" ] || [ "$PLATFORM_VERSION" == "8.0" ] - then - mv ${DIR_TARGET}/usr/include/asm-arm64 ${DIR_TARGET}/usr/include/asm - mv ${DIR_TARGET}/usr/include/base/deprecated/* ${DIR_TARGET}/usr/include/base/ - fi + mv ${DIR_TARGET}/usr/include/asm-arm64 ${DIR_TARGET}/usr/include/asm + mv ${DIR_TARGET}/usr/include/base/deprecated/* ${DIR_TARGET}/usr/include/base/ if [ "$INTERNAL" = false ]; then echo "remove Non-Public EFL API" @@ -369,23 +357,11 @@ if [ "$OPT_EMULATOR" = true ]; then callRootstrapGen emulator ${RPM_PKG_SVR_EMULATOR} ${BASE_PKG_SVR_EMULATOR} log "[INFO] Postscript ${DIR_EMULATOR}"; - if [ "$PLATFORM_VERSION" == "2.4" ] - then - #dali patch - unzip dali-patch.zip -d .emulator/usr/include - echo "remove Non-Public EFL API" - $CMD_API_FILTER .emulator >/dev/null #EFL filter - check_error $? "Failed to remove Non-Public EFL API" - fi + mv ${DIR_EMULATOR}/usr/include/asm-ia64 ${DIR_EMULATOR}/usr/include/asm + mv ${DIR_EMULATOR}/usr/include/base/deprecated/* ${DIR_EMULATOR}/usr/include/base/ - if [ "$PLATFORM_VERSION" == "3.0" ] || [ "$PLATFORM_VERSION" == "4.0" ] || [ "$PLATFORM_VERSION" == "5.0" ] || [ "$PLATFORM_VERSION" == "5.5" ] || [ "$PLATFORM_VERSION" == "6.0" ] || [ "$PLATFORM_VERSION" == "6.5" ] || [ "$PLATFORM_VERSION" == "7.0" ] || [ "$PLATFORM_VERSION" == "7.5" ] || [ "$PLATFORM_VERSION" == "8.0" ] - then - mv ${DIR_EMULATOR}/usr/include/asm-ia64 ${DIR_EMULATOR}/usr/include/asm - mv ${DIR_EMULATOR}/usr/include/base/deprecated/* ${DIR_EMULATOR}/usr/include/base/ - fi - - if [ "$INTERNAL" = false ]; then + if [ "$INTERNAL" = false ]; then echo "remove Non-Public EFL API" #$CMD_API_FILTER .target>/dev/null #EFL filter $CMD_API_FILTER .emulator>/dev/null #EFL filter diff --git a/rs-config b/rs-config index 913bcdc..06915df 100755 --- a/rs-config +++ b/rs-config @@ -1,15 +1,15 @@ # Rootstrap configraution -export PLATFORM_VERSION="8.0" +export PLATFORM_VERSION="9.0" export PLATFORM_PROFILE="tizen" -export BASE_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base/latest/" +export BASE_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base-Dev/reference/" export BASE_URL_POSTFIX_TARGET="/repos/standard/packages/" export BASE_URL_POSTFIX_EMULATOR="/repos/standard/packages/" export BASE_PKG_SVR_TARGET="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_TARGET}" export BASE_PKG_SVR_EMULATOR="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_EMULATOR}" -export SNAPSHOT_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/latest/" +export SNAPSHOT_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified-Dev/reference/" export SNAPSHOT_URL_POSTFIX_EMULATOR="/repos/emulator/packages/" export SNAPSHOT_URL_POSTFIX_TARGET="/repos/standard/packages/" diff --git a/rs-config.tizeniot b/rs-config.tizeniot index 625000b..ac10aac 100644 --- a/rs-config.tizeniot +++ b/rs-config.tizeniot @@ -1,15 +1,15 @@ # Rootstrap configraution -export PLATFORM_VERSION="8.0" +export PLATFORM_VERSION="9.0" export PLATFORM_PROFILE="tizeniot" -export BASE_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base/latest/" +export BASE_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base-Dev/reference/" export BASE_URL_POSTFIX_TARGET="/repos/standard/packages/" export BASE_URL_POSTFIX_EMULATOR="/repos/standard/packages/" export BASE_PKG_SVR_TARGET="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_TARGET}" export BASE_PKG_SVR_EMULATOR="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_EMULATOR}" -export SNAPSHOT_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/latest/" +export SNAPSHOT_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified-Dev/reference/" export SNAPSHOT_URL_POSTFIX_EMULATOR="/repos/emulator/packages/" export SNAPSHOT_URL_POSTFIX_TARGET="/repos/standard/packages/" diff --git a/rs-config.tv b/rs-config.tv deleted file mode 100644 index cc85cd5..0000000 --- a/rs-config.tv +++ /dev/null @@ -1,21 +0,0 @@ -# Rootstrap configraution -export PLATFORM_VERSION="8.0" -export PLATFORM_PROFILE="tv" - -export BASE_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base/latest/" -export BASE_URL_POSTFIX_TARGET="/repos/standard/packages/" -export BASE_URL_POSTFIX_EMULATOR="/repos/standard/packages/" - -export BASE_PKG_SVR_TARGET="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_TARGET}" -export BASE_PKG_SVR_EMULATOR="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_EMULATOR}" - -export SNAPSHOT_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/latest/" -export SNAPSHOT_URL_POSTFIX_EMULATOR="/repos/emulator/packages/" -export SNAPSHOT_URL_POSTFIX_TARGET="/repos/standard/packages/" - -export RPM_PKG_SVR_EMULATOR="${SNAPSHOT_URL_PREFIX}${SNAPSHOT_URL_POSTFIX_EMULATOR}" -export RPM_PKG_SVR_TARGET="${SNAPSHOT_URL_PREFIX}${SNAPSHOT_URL_POSTFIX_TARGET}" - -# Wget ID/PW for Local Test -export ID= -export PW= diff --git a/script/api_filter.py b/script/api_filter.py new file mode 100755 index 0000000..41a3968 --- /dev/null +++ b/script/api_filter.py @@ -0,0 +1,92 @@ +#!/usr/bin/python2 + +import sys, os, re + +efldirs = "ecore-1 e_dbus-1 edje-1 eet-1 efreet-1 eina-1 eio-1 elementary-1 embryo-1 ethumb-1 evas-1" +exceptions = "_eina_crc eina_array_grow eina_log_color_disable_get eina_log_domain_registered_level_get eina_log_level_get eina_log_print eina_value_inner_alloc eina_value_inner_free eina_value_struct_member_find eina_value_type_check" + +def processEAPI(fp, line, buf, update): + funcname = None + + # parse funcname + for idx, token in enumerate(line.split()): + if "(" in token: + if "(" == token[0]: + funcname = last + else: + funcname = token[:token.find("(")] + break + last = token + while "*" == funcname[0]: + funcname = funcname[1:] + + # handle blacklist API + if not funcname in whitelist: + if update: + buf[-1] = "//" + buf[-1] + eol = True + while eol: + line = "//" + line + buf.append(line) + if ";" in line: + eol = False + else: + line = fp.readline() + print(file, funcname, "X") + # handle whitelist API + else: + buf.append(line) + print(file, funcname, "O") + +############## +# Main Start # +############## + +# check whether path is given +if len(sys.argv) < 2: + print("error: path is not specified.") + sys.exit() + +# build whitelist +script_path=os.path.realpath(__file__) +fp = open(os.path.dirname(script_path) + "/whitelist", "r") +whitelist = set() +while True: + line = fp.readline() + if not line: break + whitelist.add(line.replace("\n","")) +fp.close() +for exp in exceptions.split(): + whitelist.add(exp) + +# traverse header files +for efldir in efldirs.split(): + for subdir, dirs, files in os.walk(sys.argv[1] + "/usr/include/" + efldir): + for file in files: + filepath = subdir + os.sep + file + + buf = list() + fp = open(filepath, "r") + while True: + line = fp.readline() + if not line: break + + # handle EAPI + if not line[0] == "#" and re.search("\s*EAPI.*\(.*", line): + processEAPI(fp, line, buf, False) + + elif not line[0] == "#" and "EAPI" in line and not ";" in line and not line.lstrip()[0] == "*" and not line.lstrip()[1] == "*": + buf.append(line) + line = fp.readline() + processEAPI(fp, line, buf, True) + + # handle other lines + else: + buf.append(line) + fp.close() + + # write header file + fp = open(filepath, "w") + for line in buf: + fp.write(line) + fp.close() diff --git a/script/api_filter_5.5.py b/script/api_filter_5.5.py deleted file mode 100755 index 7406286..0000000 --- a/script/api_filter_5.5.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/python2 - -import sys, os, re - -efldirs = "ecore-1 e_dbus-1 edje-1 eet-1 efreet-1 eina-1 eio-1 elementary-1 embryo-1 ethumb-1 evas-1" -exceptions = "_eina_crc eina_array_grow eina_log_color_disable_get eina_log_domain_registered_level_get eina_log_level_get eina_log_print eina_value_inner_alloc eina_value_inner_free eina_value_struct_member_find eina_value_type_check" - -def processEAPI(fp, line, buf, update): - funcname = None - - # parse funcname - for idx, token in enumerate(line.split()): - if "(" in token: - if "(" == token[0]: - funcname = last - else: - funcname = token[:token.find("(")] - break - last = token - while "*" == funcname[0]: - funcname = funcname[1:] - - # handle blacklist API - if not funcname in whitelist: - if update: - buf[-1] = "//" + buf[-1] - eol = True - while eol: - line = "//" + line - buf.append(line) - if ";" in line: - eol = False - else: - line = fp.readline() - print(file, funcname, "X") - # handle whitelist API - else: - buf.append(line) - print(file, funcname, "O") - -############## -# Main Start # -############## - -# check whether path is given -if len(sys.argv) < 2: - print("error: path is not specified.") - sys.exit() - -# build whitelist -script_path=os.path.realpath(__file__) -fp = open(os.path.dirname(script_path) + "/whitelist_5.5", "r") -whitelist = set() -while True: - line = fp.readline() - if not line: break - whitelist.add(line.replace("\n","")) -fp.close() -for exp in exceptions.split(): - whitelist.add(exp) - -# traverse header files -for efldir in efldirs.split(): - for subdir, dirs, files in os.walk(sys.argv[1] + "/usr/include/" + efldir): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "r") - while True: - line = fp.readline() - if not line: break - - # handle EAPI - if not line[0] == "#" and re.search("\s*EAPI.*\(.*", line): - processEAPI(fp, line, buf, False) - - elif not line[0] == "#" and "EAPI" in line and not ";" in line and not line.lstrip()[0] == "*" and not line.lstrip()[1] == "*": - buf.append(line) - line = fp.readline() - processEAPI(fp, line, buf, True) - - # handle other lines - else: - buf.append(line) - fp.close() - - # write header file - fp = open(filepath, "w") - for line in buf: - fp.write(line) - fp.close() diff --git a/script/api_filter_5.5_gdbus.py b/script/api_filter_5.5_gdbus.py deleted file mode 100755 index 37208e9..0000000 --- a/script/api_filter_5.5_gdbus.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/python2 -import sys, os, re - -# use space as delimiter -glibdirs = "glib-2.0" - -# g_dbus api matcher -re_func = re.compile("(?P\w*[\t ]*[*]{0,3})[\t ]*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)[\t ]+(?P\()") -re_func_end = re.compile("[)]{1}.*[;]{1}") - -# special case matcher -# G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) -re_def_auto_ptr = re.compile("G_DEFINE_AUTOPTR_CLEANUP_FUNC\(.*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)+[\w\s]*\)") - -def api_filter(relative_path): - # traverse header files - for glibdir in glibdirs.split(): - glibpath = relative_path + "/usr/include/" + glibdir - if not os.path.isdir(glibpath): - print(glibpath, 'is not valid path') - continue - print(glibpath) - for subdir, dirs, files in os.walk(glibpath): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "rt") - if not fp: - print('file open error', filepath) - continue - lines = fp.readlines() - fp.close() - - found_func = False - nline = False - - for line in lines: - if nline: - if not line: - nline = False - continue - # find end of multi-line macro - if not line.strip() or line.strip()[-1] != '\\': - nline = False - buf.append(line) - continue - - if not line: - continue - - line_dup = line.strip() - if not line_dup: - buf.append(line) - continue - - if found_func: - buf.append('//{0}'.format(line)) - # find end of func - if re.search("[)].*[;]", line_dup): - found_func = False - continue - # ignore comment or macro - if line_dup[0] in ['#', '*', '/']: - buf.append(line) - # find macro : '#define + \' - if line_dup[-1] == '\\': - nline = True - continue - - # find g_dbus_* function - result = re_func.search(line_dup) - if not result: - # G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) - result = re_def_auto_ptr.search(line_dup) - if result: - buf.append('//{0}'.format(line)) - print('{0: <30} {1: <45}\tX'.format(file, '(G_DEFINE*) ' + result.group('api'))) - else: - buf.append(line) - continue - - if not result.group('api') or not result.group('api').strip(): - print('error:un reachable', result.groupdict()) - continue - - # ignore private api _g_dbus_xxx - if result.group('api').strip()[0] == '_': - buf.append(line) - continue - - found_func = True - - if result.start('param') == -1: - print('un reachable:can not find open parenthesis') - # find end of func - if re_func_end.search(line_dup[result.start('param'):]): - found_func = False - - # check prefix macro - if len(buf) > 0 and buf[-1].find('GLIB_AVAILABLE_IN') == 0: - buf[-1] = '//' + buf[-1] - buf.append('//{0}'.format(line)) - - print('{0: <30} {1: <45}\tX'.format(file, result.group('api'))) - - # re-write header file - for i in range(3): - fp = open(filepath, "wt") - if not fp: - print('file open error. failed to re-write', filepath) - print('retry re-write', i) - continue - fp.writelines(buf) - fp.close() - break - -# main -if __name__ == "__main__": - # check whether path is given - args = '' - if sys.argv[0].find('python') == 0: - args = sys.argv[1:] - else: - args = sys.argv - if len(args) < 2: - print("error: path is not specified.") - sys.exit() - api_filter(args[1]) - diff --git a/script/api_filter_6.0.py b/script/api_filter_6.0.py deleted file mode 100755 index 845d7a6..0000000 --- a/script/api_filter_6.0.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/python2 - -import sys, os, re - -efldirs = "ecore-1 e_dbus-1 edje-1 eet-1 efreet-1 eina-1 eio-1 elementary-1 embryo-1 ethumb-1 evas-1" -exceptions = "_eina_crc eina_array_grow eina_log_color_disable_get eina_log_domain_registered_level_get eina_log_level_get eina_log_print eina_value_inner_alloc eina_value_inner_free eina_value_struct_member_find eina_value_type_check" - -def processEAPI(fp, line, buf, update): - funcname = None - - # parse funcname - for idx, token in enumerate(line.split()): - if "(" in token: - if "(" == token[0]: - funcname = last - else: - funcname = token[:token.find("(")] - break - last = token - while "*" == funcname[0]: - funcname = funcname[1:] - - # handle blacklist API - if not funcname in whitelist: - if update: - buf[-1] = "//" + buf[-1] - eol = True - while eol: - line = "//" + line - buf.append(line) - if ";" in line: - eol = False - else: - line = fp.readline() - print(file, funcname, "X") - # handle whitelist API - else: - buf.append(line) - print(file, funcname, "O") - -############## -# Main Start # -############## - -# check whether path is given -if len(sys.argv) < 2: - print("error: path is not specified.") - sys.exit() - -# build whitelist -script_path=os.path.realpath(__file__) -fp = open(os.path.dirname(script_path) + "/whitelist_6.0", "r") -whitelist = set() -while True: - line = fp.readline() - if not line: break - whitelist.add(line.replace("\n","")) -fp.close() -for exp in exceptions.split(): - whitelist.add(exp) - -# traverse header files -for efldir in efldirs.split(): - for subdir, dirs, files in os.walk(sys.argv[1] + "/usr/include/" + efldir): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "r") - while True: - line = fp.readline() - if not line: break - - # handle EAPI - if not line[0] == "#" and re.search("\s*EAPI.*\(.*", line): - processEAPI(fp, line, buf, False) - - elif not line[0] == "#" and "EAPI" in line and not ";" in line and not line.lstrip()[0] == "*" and not line.lstrip()[1] == "*": - buf.append(line) - line = fp.readline() - processEAPI(fp, line, buf, True) - - # handle other lines - else: - buf.append(line) - fp.close() - - # write header file - fp = open(filepath, "w") - for line in buf: - fp.write(line) - fp.close() diff --git a/script/api_filter_6.0_gdbus.py b/script/api_filter_6.0_gdbus.py deleted file mode 100755 index 37208e9..0000000 --- a/script/api_filter_6.0_gdbus.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/python2 -import sys, os, re - -# use space as delimiter -glibdirs = "glib-2.0" - -# g_dbus api matcher -re_func = re.compile("(?P\w*[\t ]*[*]{0,3})[\t ]*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)[\t ]+(?P\()") -re_func_end = re.compile("[)]{1}.*[;]{1}") - -# special case matcher -# G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) -re_def_auto_ptr = re.compile("G_DEFINE_AUTOPTR_CLEANUP_FUNC\(.*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)+[\w\s]*\)") - -def api_filter(relative_path): - # traverse header files - for glibdir in glibdirs.split(): - glibpath = relative_path + "/usr/include/" + glibdir - if not os.path.isdir(glibpath): - print(glibpath, 'is not valid path') - continue - print(glibpath) - for subdir, dirs, files in os.walk(glibpath): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "rt") - if not fp: - print('file open error', filepath) - continue - lines = fp.readlines() - fp.close() - - found_func = False - nline = False - - for line in lines: - if nline: - if not line: - nline = False - continue - # find end of multi-line macro - if not line.strip() or line.strip()[-1] != '\\': - nline = False - buf.append(line) - continue - - if not line: - continue - - line_dup = line.strip() - if not line_dup: - buf.append(line) - continue - - if found_func: - buf.append('//{0}'.format(line)) - # find end of func - if re.search("[)].*[;]", line_dup): - found_func = False - continue - # ignore comment or macro - if line_dup[0] in ['#', '*', '/']: - buf.append(line) - # find macro : '#define + \' - if line_dup[-1] == '\\': - nline = True - continue - - # find g_dbus_* function - result = re_func.search(line_dup) - if not result: - # G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) - result = re_def_auto_ptr.search(line_dup) - if result: - buf.append('//{0}'.format(line)) - print('{0: <30} {1: <45}\tX'.format(file, '(G_DEFINE*) ' + result.group('api'))) - else: - buf.append(line) - continue - - if not result.group('api') or not result.group('api').strip(): - print('error:un reachable', result.groupdict()) - continue - - # ignore private api _g_dbus_xxx - if result.group('api').strip()[0] == '_': - buf.append(line) - continue - - found_func = True - - if result.start('param') == -1: - print('un reachable:can not find open parenthesis') - # find end of func - if re_func_end.search(line_dup[result.start('param'):]): - found_func = False - - # check prefix macro - if len(buf) > 0 and buf[-1].find('GLIB_AVAILABLE_IN') == 0: - buf[-1] = '//' + buf[-1] - buf.append('//{0}'.format(line)) - - print('{0: <30} {1: <45}\tX'.format(file, result.group('api'))) - - # re-write header file - for i in range(3): - fp = open(filepath, "wt") - if not fp: - print('file open error. failed to re-write', filepath) - print('retry re-write', i) - continue - fp.writelines(buf) - fp.close() - break - -# main -if __name__ == "__main__": - # check whether path is given - args = '' - if sys.argv[0].find('python') == 0: - args = sys.argv[1:] - else: - args = sys.argv - if len(args) < 2: - print("error: path is not specified.") - sys.exit() - api_filter(args[1]) - diff --git a/script/api_filter_6.5.py b/script/api_filter_6.5.py deleted file mode 100755 index f9f7a80..0000000 --- a/script/api_filter_6.5.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/python2 - -import sys, os, re - -efldirs = "ecore-1 e_dbus-1 edje-1 eet-1 efreet-1 eina-1 eio-1 elementary-1 embryo-1 ethumb-1 evas-1" -exceptions = "_eina_crc eina_array_grow eina_log_color_disable_get eina_log_domain_registered_level_get eina_log_level_get eina_log_print eina_value_inner_alloc eina_value_inner_free eina_value_struct_member_find eina_value_type_check" - -def processEAPI(fp, line, buf, update): - funcname = None - - # parse funcname - for idx, token in enumerate(line.split()): - if "(" in token: - if "(" == token[0]: - funcname = last - else: - funcname = token[:token.find("(")] - break - last = token - while "*" == funcname[0]: - funcname = funcname[1:] - - # handle blacklist API - if not funcname in whitelist: - if update: - buf[-1] = "//" + buf[-1] - eol = True - while eol: - line = "//" + line - buf.append(line) - if ";" in line: - eol = False - else: - line = fp.readline() - print(file, funcname, "X") - # handle whitelist API - else: - buf.append(line) - print(file, funcname, "O") - -############## -# Main Start # -############## - -# check whether path is given -if len(sys.argv) < 2: - print("error: path is not specified.") - sys.exit() - -# build whitelist -script_path=os.path.realpath(__file__) -fp = open(os.path.dirname(script_path) + "/whitelist_6.5", "r") -whitelist = set() -while True: - line = fp.readline() - if not line: break - whitelist.add(line.replace("\n","")) -fp.close() -for exp in exceptions.split(): - whitelist.add(exp) - -# traverse header files -for efldir in efldirs.split(): - for subdir, dirs, files in os.walk(sys.argv[1] + "/usr/include/" + efldir): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "r") - while True: - line = fp.readline() - if not line: break - - # handle EAPI - if not line[0] == "#" and re.search("\s*EAPI.*\(.*", line): - processEAPI(fp, line, buf, False) - - elif not line[0] == "#" and "EAPI" in line and not ";" in line and not line.lstrip()[0] == "*" and not line.lstrip()[1] == "*": - buf.append(line) - line = fp.readline() - processEAPI(fp, line, buf, True) - - # handle other lines - else: - buf.append(line) - fp.close() - - # write header file - fp = open(filepath, "w") - for line in buf: - fp.write(line) - fp.close() diff --git a/script/api_filter_6.5_gdbus.py b/script/api_filter_6.5_gdbus.py deleted file mode 100755 index 37208e9..0000000 --- a/script/api_filter_6.5_gdbus.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/python2 -import sys, os, re - -# use space as delimiter -glibdirs = "glib-2.0" - -# g_dbus api matcher -re_func = re.compile("(?P\w*[\t ]*[*]{0,3})[\t ]*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)[\t ]+(?P\()") -re_func_end = re.compile("[)]{1}.*[;]{1}") - -# special case matcher -# G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) -re_def_auto_ptr = re.compile("G_DEFINE_AUTOPTR_CLEANUP_FUNC\(.*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)+[\w\s]*\)") - -def api_filter(relative_path): - # traverse header files - for glibdir in glibdirs.split(): - glibpath = relative_path + "/usr/include/" + glibdir - if not os.path.isdir(glibpath): - print(glibpath, 'is not valid path') - continue - print(glibpath) - for subdir, dirs, files in os.walk(glibpath): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "rt") - if not fp: - print('file open error', filepath) - continue - lines = fp.readlines() - fp.close() - - found_func = False - nline = False - - for line in lines: - if nline: - if not line: - nline = False - continue - # find end of multi-line macro - if not line.strip() or line.strip()[-1] != '\\': - nline = False - buf.append(line) - continue - - if not line: - continue - - line_dup = line.strip() - if not line_dup: - buf.append(line) - continue - - if found_func: - buf.append('//{0}'.format(line)) - # find end of func - if re.search("[)].*[;]", line_dup): - found_func = False - continue - # ignore comment or macro - if line_dup[0] in ['#', '*', '/']: - buf.append(line) - # find macro : '#define + \' - if line_dup[-1] == '\\': - nline = True - continue - - # find g_dbus_* function - result = re_func.search(line_dup) - if not result: - # G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) - result = re_def_auto_ptr.search(line_dup) - if result: - buf.append('//{0}'.format(line)) - print('{0: <30} {1: <45}\tX'.format(file, '(G_DEFINE*) ' + result.group('api'))) - else: - buf.append(line) - continue - - if not result.group('api') or not result.group('api').strip(): - print('error:un reachable', result.groupdict()) - continue - - # ignore private api _g_dbus_xxx - if result.group('api').strip()[0] == '_': - buf.append(line) - continue - - found_func = True - - if result.start('param') == -1: - print('un reachable:can not find open parenthesis') - # find end of func - if re_func_end.search(line_dup[result.start('param'):]): - found_func = False - - # check prefix macro - if len(buf) > 0 and buf[-1].find('GLIB_AVAILABLE_IN') == 0: - buf[-1] = '//' + buf[-1] - buf.append('//{0}'.format(line)) - - print('{0: <30} {1: <45}\tX'.format(file, result.group('api'))) - - # re-write header file - for i in range(3): - fp = open(filepath, "wt") - if not fp: - print('file open error. failed to re-write', filepath) - print('retry re-write', i) - continue - fp.writelines(buf) - fp.close() - break - -# main -if __name__ == "__main__": - # check whether path is given - args = '' - if sys.argv[0].find('python') == 0: - args = sys.argv[1:] - else: - args = sys.argv - if len(args) < 2: - print("error: path is not specified.") - sys.exit() - api_filter(args[1]) - diff --git a/script/api_filter_7.0.py b/script/api_filter_7.0.py deleted file mode 100755 index 68d37ba..0000000 --- a/script/api_filter_7.0.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/python2 - -import sys, os, re - -efldirs = "ecore-1 e_dbus-1 edje-1 eet-1 efreet-1 eina-1 eio-1 elementary-1 embryo-1 ethumb-1 evas-1" -exceptions = "_eina_crc eina_array_grow eina_log_color_disable_get eina_log_domain_registered_level_get eina_log_level_get eina_log_print eina_value_inner_alloc eina_value_inner_free eina_value_struct_member_find eina_value_type_check" - -def processEAPI(fp, line, buf, update): - funcname = None - - # parse funcname - for idx, token in enumerate(line.split()): - if "(" in token: - if "(" == token[0]: - funcname = last - else: - funcname = token[:token.find("(")] - break - last = token - while "*" == funcname[0]: - funcname = funcname[1:] - - # handle blacklist API - if not funcname in whitelist: - if update: - buf[-1] = "//" + buf[-1] - eol = True - while eol: - line = "//" + line - buf.append(line) - if ";" in line: - eol = False - else: - line = fp.readline() - print(file, funcname, "X") - # handle whitelist API - else: - buf.append(line) - print(file, funcname, "O") - -############## -# Main Start # -############## - -# check whether path is given -if len(sys.argv) < 2: - print("error: path is not specified.") - sys.exit() - -# build whitelist -script_path=os.path.realpath(__file__) -fp = open(os.path.dirname(script_path) + "/whitelist_7.0", "r") -whitelist = set() -while True: - line = fp.readline() - if not line: break - whitelist.add(line.replace("\n","")) -fp.close() -for exp in exceptions.split(): - whitelist.add(exp) - -# traverse header files -for efldir in efldirs.split(): - for subdir, dirs, files in os.walk(sys.argv[1] + "/usr/include/" + efldir): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "r") - while True: - line = fp.readline() - if not line: break - - # handle EAPI - if not line[0] == "#" and re.search("\s*EAPI.*\(.*", line): - processEAPI(fp, line, buf, False) - - elif not line[0] == "#" and "EAPI" in line and not ";" in line and not line.lstrip()[0] == "*" and not line.lstrip()[1] == "*": - buf.append(line) - line = fp.readline() - processEAPI(fp, line, buf, True) - - # handle other lines - else: - buf.append(line) - fp.close() - - # write header file - fp = open(filepath, "w") - for line in buf: - fp.write(line) - fp.close() diff --git a/script/api_filter_7.0_gdbus.py b/script/api_filter_7.0_gdbus.py deleted file mode 100755 index 37208e9..0000000 --- a/script/api_filter_7.0_gdbus.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/python2 -import sys, os, re - -# use space as delimiter -glibdirs = "glib-2.0" - -# g_dbus api matcher -re_func = re.compile("(?P\w*[\t ]*[*]{0,3})[\t ]*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)[\t ]+(?P\()") -re_func_end = re.compile("[)]{1}.*[;]{1}") - -# special case matcher -# G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) -re_def_auto_ptr = re.compile("G_DEFINE_AUTOPTR_CLEANUP_FUNC\(.*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)+[\w\s]*\)") - -def api_filter(relative_path): - # traverse header files - for glibdir in glibdirs.split(): - glibpath = relative_path + "/usr/include/" + glibdir - if not os.path.isdir(glibpath): - print(glibpath, 'is not valid path') - continue - print(glibpath) - for subdir, dirs, files in os.walk(glibpath): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "rt") - if not fp: - print('file open error', filepath) - continue - lines = fp.readlines() - fp.close() - - found_func = False - nline = False - - for line in lines: - if nline: - if not line: - nline = False - continue - # find end of multi-line macro - if not line.strip() or line.strip()[-1] != '\\': - nline = False - buf.append(line) - continue - - if not line: - continue - - line_dup = line.strip() - if not line_dup: - buf.append(line) - continue - - if found_func: - buf.append('//{0}'.format(line)) - # find end of func - if re.search("[)].*[;]", line_dup): - found_func = False - continue - # ignore comment or macro - if line_dup[0] in ['#', '*', '/']: - buf.append(line) - # find macro : '#define + \' - if line_dup[-1] == '\\': - nline = True - continue - - # find g_dbus_* function - result = re_func.search(line_dup) - if not result: - # G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) - result = re_def_auto_ptr.search(line_dup) - if result: - buf.append('//{0}'.format(line)) - print('{0: <30} {1: <45}\tX'.format(file, '(G_DEFINE*) ' + result.group('api'))) - else: - buf.append(line) - continue - - if not result.group('api') or not result.group('api').strip(): - print('error:un reachable', result.groupdict()) - continue - - # ignore private api _g_dbus_xxx - if result.group('api').strip()[0] == '_': - buf.append(line) - continue - - found_func = True - - if result.start('param') == -1: - print('un reachable:can not find open parenthesis') - # find end of func - if re_func_end.search(line_dup[result.start('param'):]): - found_func = False - - # check prefix macro - if len(buf) > 0 and buf[-1].find('GLIB_AVAILABLE_IN') == 0: - buf[-1] = '//' + buf[-1] - buf.append('//{0}'.format(line)) - - print('{0: <30} {1: <45}\tX'.format(file, result.group('api'))) - - # re-write header file - for i in range(3): - fp = open(filepath, "wt") - if not fp: - print('file open error. failed to re-write', filepath) - print('retry re-write', i) - continue - fp.writelines(buf) - fp.close() - break - -# main -if __name__ == "__main__": - # check whether path is given - args = '' - if sys.argv[0].find('python') == 0: - args = sys.argv[1:] - else: - args = sys.argv - if len(args) < 2: - print("error: path is not specified.") - sys.exit() - api_filter(args[1]) - diff --git a/script/api_filter_7.5.py b/script/api_filter_7.5.py deleted file mode 100755 index d00bf00..0000000 --- a/script/api_filter_7.5.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/python2 - -import sys, os, re - -efldirs = "ecore-1 e_dbus-1 edje-1 eet-1 efreet-1 eina-1 eio-1 elementary-1 embryo-1 ethumb-1 evas-1" -exceptions = "_eina_crc eina_array_grow eina_log_color_disable_get eina_log_domain_registered_level_get eina_log_level_get eina_log_print eina_value_inner_alloc eina_value_inner_free eina_value_struct_member_find eina_value_type_check" - -def processEAPI(fp, line, buf, update): - funcname = None - - # parse funcname - for idx, token in enumerate(line.split()): - if "(" in token: - if "(" == token[0]: - funcname = last - else: - funcname = token[:token.find("(")] - break - last = token - while "*" == funcname[0]: - funcname = funcname[1:] - - # handle blacklist API - if not funcname in whitelist: - if update: - buf[-1] = "///@{" + str.rstrip(buf[-1]) + " ///@}\n" - eol = True - while eol: - line = "///@{" + str.rstrip(line) + "///@}\n" - buf.append(line) - if ";" in line: - eol = False - else: - line = fp.readline() - print(file, funcname, "X") - # handle whitelist API - else: - buf.append(line) - print(file, funcname, "O") - -############## -# Main Start # -############## - -# check whether path is given -if len(sys.argv) < 2: - print("error: path is not specified.") - sys.exit() - -# build whitelist -script_path=os.path.realpath(__file__) -fp = open(os.path.dirname(script_path) + "/whitelist_7.5", "r") -whitelist = set() -while True: - line = fp.readline() - if not line: break - whitelist.add(line.replace("\n","")) -fp.close() -for exp in exceptions.split(): - whitelist.add(exp) - -# traverse header files -for efldir in efldirs.split(): - for subdir, dirs, files in os.walk(sys.argv[1] + "/usr/include/" + efldir): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "r") - while True: - line = fp.readline() - if not line: break - - # handle EAPI - if not line[0] == "#" and re.search("\s*EAPI.*\(.*", line): - processEAPI(fp, line, buf, False) - - elif not line[0] == "#" and "EAPI" in line and not ";" in line and not line.lstrip()[0] == "*" and not line.lstrip()[1] == "*": - buf.append(line) - line = fp.readline() - processEAPI(fp, line, buf, True) - - # handle other lines - else: - buf.append(line) - fp.close() - - # write header file - fp = open(filepath, "w") - for line in buf: - fp.write(line) - fp.close() diff --git a/script/api_filter_7.5_gdbus.py b/script/api_filter_7.5_gdbus.py deleted file mode 100755 index 37208e9..0000000 --- a/script/api_filter_7.5_gdbus.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/python2 -import sys, os, re - -# use space as delimiter -glibdirs = "glib-2.0" - -# g_dbus api matcher -re_func = re.compile("(?P\w*[\t ]*[*]{0,3})[\t ]*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)[\t ]+(?P\()") -re_func_end = re.compile("[)]{1}.*[;]{1}") - -# special case matcher -# G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) -re_def_auto_ptr = re.compile("G_DEFINE_AUTOPTR_CLEANUP_FUNC\(.*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)+[\w\s]*\)") - -def api_filter(relative_path): - # traverse header files - for glibdir in glibdirs.split(): - glibpath = relative_path + "/usr/include/" + glibdir - if not os.path.isdir(glibpath): - print(glibpath, 'is not valid path') - continue - print(glibpath) - for subdir, dirs, files in os.walk(glibpath): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "rt") - if not fp: - print('file open error', filepath) - continue - lines = fp.readlines() - fp.close() - - found_func = False - nline = False - - for line in lines: - if nline: - if not line: - nline = False - continue - # find end of multi-line macro - if not line.strip() or line.strip()[-1] != '\\': - nline = False - buf.append(line) - continue - - if not line: - continue - - line_dup = line.strip() - if not line_dup: - buf.append(line) - continue - - if found_func: - buf.append('//{0}'.format(line)) - # find end of func - if re.search("[)].*[;]", line_dup): - found_func = False - continue - # ignore comment or macro - if line_dup[0] in ['#', '*', '/']: - buf.append(line) - # find macro : '#define + \' - if line_dup[-1] == '\\': - nline = True - continue - - # find g_dbus_* function - result = re_func.search(line_dup) - if not result: - # G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) - result = re_def_auto_ptr.search(line_dup) - if result: - buf.append('//{0}'.format(line)) - print('{0: <30} {1: <45}\tX'.format(file, '(G_DEFINE*) ' + result.group('api'))) - else: - buf.append(line) - continue - - if not result.group('api') or not result.group('api').strip(): - print('error:un reachable', result.groupdict()) - continue - - # ignore private api _g_dbus_xxx - if result.group('api').strip()[0] == '_': - buf.append(line) - continue - - found_func = True - - if result.start('param') == -1: - print('un reachable:can not find open parenthesis') - # find end of func - if re_func_end.search(line_dup[result.start('param'):]): - found_func = False - - # check prefix macro - if len(buf) > 0 and buf[-1].find('GLIB_AVAILABLE_IN') == 0: - buf[-1] = '//' + buf[-1] - buf.append('//{0}'.format(line)) - - print('{0: <30} {1: <45}\tX'.format(file, result.group('api'))) - - # re-write header file - for i in range(3): - fp = open(filepath, "wt") - if not fp: - print('file open error. failed to re-write', filepath) - print('retry re-write', i) - continue - fp.writelines(buf) - fp.close() - break - -# main -if __name__ == "__main__": - # check whether path is given - args = '' - if sys.argv[0].find('python') == 0: - args = sys.argv[1:] - else: - args = sys.argv - if len(args) < 2: - print("error: path is not specified.") - sys.exit() - api_filter(args[1]) - diff --git a/script/api_filter_8.0.py b/script/api_filter_8.0.py deleted file mode 100755 index 5cb6ca7..0000000 --- a/script/api_filter_8.0.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/python2 - -import sys, os, re - -efldirs = "ecore-1 e_dbus-1 edje-1 eet-1 efreet-1 eina-1 eio-1 elementary-1 embryo-1 ethumb-1 evas-1" -exceptions = "_eina_crc eina_array_grow eina_log_color_disable_get eina_log_domain_registered_level_get eina_log_level_get eina_log_print eina_value_inner_alloc eina_value_inner_free eina_value_struct_member_find eina_value_type_check" - -def processEAPI(fp, line, buf, update): - funcname = None - - # parse funcname - for idx, token in enumerate(line.split()): - if "(" in token: - if "(" == token[0]: - funcname = last - else: - funcname = token[:token.find("(")] - break - last = token - while "*" == funcname[0]: - funcname = funcname[1:] - - # handle blacklist API - if not funcname in whitelist: - if update: - buf[-1] = "//" + buf[-1] - eol = True - while eol: - line = "//" + line - buf.append(line) - if ";" in line: - eol = False - else: - line = fp.readline() - print(file, funcname, "X") - # handle whitelist API - else: - buf.append(line) - print(file, funcname, "O") - -############## -# Main Start # -############## - -# check whether path is given -if len(sys.argv) < 2: - print("error: path is not specified.") - sys.exit() - -# build whitelist -script_path=os.path.realpath(__file__) -fp = open(os.path.dirname(script_path) + "/whitelist_8.0", "r") -whitelist = set() -while True: - line = fp.readline() - if not line: break - whitelist.add(line.replace("\n","")) -fp.close() -for exp in exceptions.split(): - whitelist.add(exp) - -# traverse header files -for efldir in efldirs.split(): - for subdir, dirs, files in os.walk(sys.argv[1] + "/usr/include/" + efldir): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "r") - while True: - line = fp.readline() - if not line: break - - # handle EAPI - if not line[0] == "#" and re.search("\s*EAPI.*\(.*", line): - processEAPI(fp, line, buf, False) - - elif not line[0] == "#" and "EAPI" in line and not ";" in line and not line.lstrip()[0] == "*" and not line.lstrip()[1] == "*": - buf.append(line) - line = fp.readline() - processEAPI(fp, line, buf, True) - - # handle other lines - else: - buf.append(line) - fp.close() - - # write header file - fp = open(filepath, "w") - for line in buf: - fp.write(line) - fp.close() diff --git a/script/api_filter_8.0_gdbus.py b/script/api_filter_8.0_gdbus.py deleted file mode 100755 index 37208e9..0000000 --- a/script/api_filter_8.0_gdbus.py +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/python2 -import sys, os, re - -# use space as delimiter -glibdirs = "glib-2.0" - -# g_dbus api matcher -re_func = re.compile("(?P\w*[\t ]*[*]{0,3})[\t ]*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)[\t ]+(?P\()") -re_func_end = re.compile("[)]{1}.*[;]{1}") - -# special case matcher -# G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) -re_def_auto_ptr = re.compile("G_DEFINE_AUTOPTR_CLEANUP_FUNC\(.*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)+[\w\s]*\)") - -def api_filter(relative_path): - # traverse header files - for glibdir in glibdirs.split(): - glibpath = relative_path + "/usr/include/" + glibdir - if not os.path.isdir(glibpath): - print(glibpath, 'is not valid path') - continue - print(glibpath) - for subdir, dirs, files in os.walk(glibpath): - for file in files: - filepath = subdir + os.sep + file - - buf = list() - fp = open(filepath, "rt") - if not fp: - print('file open error', filepath) - continue - lines = fp.readlines() - fp.close() - - found_func = False - nline = False - - for line in lines: - if nline: - if not line: - nline = False - continue - # find end of multi-line macro - if not line.strip() or line.strip()[-1] != '\\': - nline = False - buf.append(line) - continue - - if not line: - continue - - line_dup = line.strip() - if not line_dup: - buf.append(line) - continue - - if found_func: - buf.append('//{0}'.format(line)) - # find end of func - if re.search("[)].*[;]", line_dup): - found_func = False - continue - # ignore comment or macro - if line_dup[0] in ['#', '*', '/']: - buf.append(line) - # find macro : '#define + \' - if line_dup[-1] == '\\': - nline = True - continue - - # find g_dbus_* function - result = re_func.search(line_dup) - if not result: - # G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) - result = re_def_auto_ptr.search(line_dup) - if result: - buf.append('//{0}'.format(line)) - print('{0: <30} {1: <45}\tX'.format(file, '(G_DEFINE*) ' + result.group('api'))) - else: - buf.append(line) - continue - - if not result.group('api') or not result.group('api').strip(): - print('error:un reachable', result.groupdict()) - continue - - # ignore private api _g_dbus_xxx - if result.group('api').strip()[0] == '_': - buf.append(line) - continue - - found_func = True - - if result.start('param') == -1: - print('un reachable:can not find open parenthesis') - # find end of func - if re_func_end.search(line_dup[result.start('param'):]): - found_func = False - - # check prefix macro - if len(buf) > 0 and buf[-1].find('GLIB_AVAILABLE_IN') == 0: - buf[-1] = '//' + buf[-1] - buf.append('//{0}'.format(line)) - - print('{0: <30} {1: <45}\tX'.format(file, result.group('api'))) - - # re-write header file - for i in range(3): - fp = open(filepath, "wt") - if not fp: - print('file open error. failed to re-write', filepath) - print('retry re-write', i) - continue - fp.writelines(buf) - fp.close() - break - -# main -if __name__ == "__main__": - # check whether path is given - args = '' - if sys.argv[0].find('python') == 0: - args = sys.argv[1:] - else: - args = sys.argv - if len(args) < 2: - print("error: path is not specified.") - sys.exit() - api_filter(args[1]) - diff --git a/script/api_filter_gdbus.py b/script/api_filter_gdbus.py new file mode 100755 index 0000000..37208e9 --- /dev/null +++ b/script/api_filter_gdbus.py @@ -0,0 +1,130 @@ +#!/usr/bin/python2 +import sys, os, re + +# use space as delimiter +glibdirs = "glib-2.0" + +# g_dbus api matcher +re_func = re.compile("(?P\w*[\t ]*[*]{0,3})[\t ]*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)[\t ]+(?P\()") +re_func_end = re.compile("[)]{1}.*[;]{1}") + +# special case matcher +# G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) +re_def_auto_ptr = re.compile("G_DEFINE_AUTOPTR_CLEANUP_FUNC\(.*(?P[_]?g_(test_)?[d]?bus_[\w\d]+)+[\w\s]*\)") + +def api_filter(relative_path): + # traverse header files + for glibdir in glibdirs.split(): + glibpath = relative_path + "/usr/include/" + glibdir + if not os.path.isdir(glibpath): + print(glibpath, 'is not valid path') + continue + print(glibpath) + for subdir, dirs, files in os.walk(glibpath): + for file in files: + filepath = subdir + os.sep + file + + buf = list() + fp = open(filepath, "rt") + if not fp: + print('file open error', filepath) + continue + lines = fp.readlines() + fp.close() + + found_func = False + nline = False + + for line in lines: + if nline: + if not line: + nline = False + continue + # find end of multi-line macro + if not line.strip() or line.strip()[-1] != '\\': + nline = False + buf.append(line) + continue + + if not line: + continue + + line_dup = line.strip() + if not line_dup: + buf.append(line) + continue + + if found_func: + buf.append('//{0}'.format(line)) + # find end of func + if re.search("[)].*[;]", line_dup): + found_func = False + continue + # ignore comment or macro + if line_dup[0] in ['#', '*', '/']: + buf.append(line) + # find macro : '#define + \' + if line_dup[-1] == '\\': + nline = True + continue + + # find g_dbus_* function + result = re_func.search(line_dup) + if not result: + # G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref) + result = re_def_auto_ptr.search(line_dup) + if result: + buf.append('//{0}'.format(line)) + print('{0: <30} {1: <45}\tX'.format(file, '(G_DEFINE*) ' + result.group('api'))) + else: + buf.append(line) + continue + + if not result.group('api') or not result.group('api').strip(): + print('error:un reachable', result.groupdict()) + continue + + # ignore private api _g_dbus_xxx + if result.group('api').strip()[0] == '_': + buf.append(line) + continue + + found_func = True + + if result.start('param') == -1: + print('un reachable:can not find open parenthesis') + # find end of func + if re_func_end.search(line_dup[result.start('param'):]): + found_func = False + + # check prefix macro + if len(buf) > 0 and buf[-1].find('GLIB_AVAILABLE_IN') == 0: + buf[-1] = '//' + buf[-1] + buf.append('//{0}'.format(line)) + + print('{0: <30} {1: <45}\tX'.format(file, result.group('api'))) + + # re-write header file + for i in range(3): + fp = open(filepath, "wt") + if not fp: + print('file open error. failed to re-write', filepath) + print('retry re-write', i) + continue + fp.writelines(buf) + fp.close() + break + +# main +if __name__ == "__main__": + # check whether path is given + args = '' + if sys.argv[0].find('python') == 0: + args = sys.argv[1:] + else: + args = sys.argv + if len(args) < 2: + print("error: path is not specified.") + sys.exit() + api_filter(args[1]) + diff --git a/script/rootstrap_info_gen_1.0.sh b/script/rootstrap_info_gen_1.0.sh index 6bbceef..12ab82b 100755 --- a/script/rootstrap_info_gen_1.0.sh +++ b/script/rootstrap_info_gen_1.0.sh @@ -13,8 +13,8 @@ echo "" echo " -t,--type rootstrap type emulator, target." echo " -l,--list xml file or directory list." echo " -i,--info IDE rootstrap info file to get Build Option" -echo " -p,--profile mobile, wearable, tv" -echo " -v,--version 2.3, 2.3.1, 2.4, 3.0" +echo " -p,--profile tizen" +echo " -v,--version 9.0" echo "" echo "Example 1" echo ">$SCRIPT_NAME -t \"emulator\" -i \".info\/mobile-2.3-emulator.core.dev.xml\" -p \"mobile\" -v \"2.3\"" diff --git a/script/rootstrap_info_gen_1.0_64.sh b/script/rootstrap_info_gen_1.0_64.sh index d83668a..ad26f9a 100755 --- a/script/rootstrap_info_gen_1.0_64.sh +++ b/script/rootstrap_info_gen_1.0_64.sh @@ -13,8 +13,8 @@ echo "" echo " -t,--type rootstrap type emulator, target." echo " -l,--list xml file or directory list." echo " -i,--info IDE rootstrap info file to get Build Option" -echo " -p,--profile mobile, wearable, tv" -echo " -v,--version 2.3, 2.3.1, 2.4, 3.0" +echo " -p,--profile tizen" +echo " -v,--version 9.0" echo "" echo "Example 1" echo ">$SCRIPT_NAME -t \"emulator\" -i \".info\/mobile-2.3-emulator.core.dev.xml\" -p \"mobile\" -v \"2.3\"" diff --git a/script/rootstrap_plugin_gen_1.0.sh b/script/rootstrap_plugin_gen_1.0.sh index 714b1f5..3785123 100755 --- a/script/rootstrap_plugin_gen_1.0.sh +++ b/script/rootstrap_plugin_gen_1.0.sh @@ -12,8 +12,8 @@ echo "Usage: $SCRIPT_NAME [