diff --git a/utils/genrandconfig b/utils/genrandconfig index cefc3dca12..668cf012cf 100755 --- a/utils/genrandconfig +++ b/utils/genrandconfig @@ -20,7 +20,6 @@ from binascii import hexlify import asyncio -import csv import os from random import randint import sys @@ -100,73 +99,6 @@ class SystemInfo: return not missing_requirements -def get_toolchain_configs(toolchains_csv, buildrootdir): - """Fetch and return the possible toolchain configurations - - This function returns an array of toolchain configurations. Each - toolchain configuration is itself an array of lines of the defconfig. - """ - - with open(toolchains_csv) as r: - # filter empty lines and comments - lines = [t for t in r.readlines() if len(t.strip()) > 0 and t[0] != '#'] - toolchains = lines - configs = [] - - (_, _, _, _, hostarch) = os.uname() - # ~2015 distros report x86 when on a 32bit install - if hostarch == 'i686' or hostarch == 'i386' or hostarch == 'x86': - hostarch = 'x86' - - for row in csv.reader(toolchains): - config = {} - configfile = row[0] - config_hostarch = row[1] - keep = False - - # Keep all toolchain configs that work regardless of the host - # architecture - if config_hostarch == "any": - keep = True - - # Keep all toolchain configs that can work on the current host - # architecture - if hostarch == config_hostarch: - keep = True - - # Assume that x86 32 bits toolchains work on x86_64 build - # machines - if hostarch == 'x86_64' and config_hostarch == "x86": - keep = True - - if not keep: - continue - - if not os.path.isabs(configfile): - configfile = os.path.join(buildrootdir, configfile) - - with open(configfile) as r: - config = r.readlines() - configs.append(config) - return configs - - -async def is_toolchain_usable(configfile, config): - """Check if the toolchain is actually usable.""" - - with open(configfile) as configf: - configlines = configf.readlines() - - # Check that the toolchain configuration is still present - for toolchainline in config: - if toolchainline not in configlines: - print("WARN: toolchain can't be used", file=sys.stderr) - print(" Missing: %s" % toolchainline.strip(), file=sys.stderr) - return False - - return True - - async def fixup_config(sysinfo, configfile): """Finalize the configuration and reject any problematic combinations @@ -581,24 +513,11 @@ async def fixup_config(sysinfo, configfile): async def gen_config(args): """Generate a new random configuration - - This function generates the configuration, by choosing a random - toolchain configuration and then generating a random selection of - packages. """ sysinfo = SystemInfo() - if args.toolchains_csv: - # Select a random toolchain configuration - configs = get_toolchain_configs(args.toolchains_csv, args.buildrootdir) - - i = randint(0, len(configs) - 1) - toolchainconfig = configs[i] - else: - toolchainconfig = [] - - configlines = list(toolchainconfig) + configlines = list() # Combine with the minimal configuration minimalconfigfile = os.path.join(args.buildrootdir, @@ -658,9 +577,6 @@ async def gen_config(args): if ret: return ret - if not await is_toolchain_usable(configfile, toolchainconfig): - return 2 - # Now, generate the random selection of packages, and fixup # things if needed. # Safe-guard, in case we can not quickly come to a valid @@ -676,7 +592,7 @@ async def gen_config(args): "make", "O=%s" % args.outputdir, "-C", args.buildrootdir, "KCONFIG_SEED=0x%s" % hexlify(os.urandom(4)).decode("ascii").upper(), "KCONFIG_PROBABILITY=%d" % randint(1, 20), - "randpackageconfig" if args.toolchains_csv else "randconfig") + "randconfig") ret = await proc.wait() if ret: return ret @@ -710,17 +626,8 @@ if __name__ == '__main__': parser.add_argument("--buildrootdir", "-b", help="Buildroot directory (relative to current directory)", type=str, default='.') - - toolchains_csv = parser.add_mutually_exclusive_group(required=False) - toolchains_csv.add_argument("--toolchains-csv", - dest="toolchains_csv", - help="Path of the toolchain configuration file", - type=str) - toolchains_csv.add_argument("--no-toolchains-csv", - dest="toolchains_csv", - help="Generate random toolchain configuration", - action='store_false') - parser.set_defaults(toolchains_csv="support/config-fragments/autobuild/toolchain-configs.csv") + parser.add_argument("--toolchains-csv", help="Legacy, unused", type=str) + parser.add_argument("--no-toolchains-csv", help="Legacy, unused") args = parser.parse_args()