Fix #839: Check pkgver after parsing APKBUILD / various small improvements (#854)

Small improvements:
* Allow to specify multiple packages to `pmbootstrap parse_apkbuild`
* Specifying no package will parse all packages (like kconfig_check)
  (also `parse_apkbuild`)
* JSON output is sorted of `parse_apkbuild`
* Make pkgver check optional, so we can disable it in the device wizard test case
* Parse_apk* -> apk*_parse
* Don't let the user mess with globs (disallow '*' in pkgname)
This commit is contained in:
Oliver Smith 2018-01-18 22:05:27 +00:00 committed by GitHub
parent 0bc60138f3
commit 0ae23afa60
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 47 additions and 21 deletions

View file

@ -289,15 +289,13 @@ def arguments():
help="do not overwrite the existing kernel",
action="store_false", dest="recovery_flash_kernel")
# Action: menuconfig / parse_apkbuild
# Action: menuconfig
menuconfig = sub.add_parser("menuconfig", help="run menuconfig on"
" a kernel aport")
menuconfig.add_argument("--arch", choices=arch_choices)
parse_apkbuild = sub.add_parser("parse_apkbuild")
for action in [menuconfig, parse_apkbuild]:
action.add_argument("package")
menuconfig.add_argument("package")
# Action: build / checksum / aportgen
# Action: checksum / aportgen / build
checksum = sub.add_parser("checksum", help="update aport checksums")
aportgen = sub.add_parser("aportgen", help="generate a postmarketOS"
" specific package build recipe (aport/APKBUILD)")
@ -322,11 +320,13 @@ def arguments():
for action in [checksum, build, aportgen]:
action.add_argument("packages", nargs="+")
# Action: kconfig_check
# Action: kconfig_check / apkbuild_parse
kconfig_check = sub.add_parser("kconfig_check", help="check, whether all"
" the necessary options are"
" enabled/disabled in the kernel config")
kconfig_check.add_argument("packages", nargs="*")
apkbuild_parse = sub.add_parser("apkbuild_parse")
for action in [kconfig_check, apkbuild_parse]:
action.add_argument("packages", nargs="*")
# Action: challenge
challenge = sub.add_parser("challenge",
@ -343,10 +343,10 @@ def arguments():
" .apk, or must be named"
" APKINDEX.tar.gz.")
# Action: parse_apkindex
parse_apkindex = sub.add_parser("parse_apkindex")
parse_apkindex.add_argument("apkindex_path")
parse_apkindex.add_argument("package", default=None, nargs="?")
# Action: apkindex_parse
apkindex_parse = sub.add_parser("apkindex_parse")
apkindex_parse.add_argument("apkindex_path")
apkindex_parse.add_argument("package", default=None, nargs="?")
# Action: config
config = sub.add_parser("config",