Close #554: kernel config checking (#589)

* Check kernel config
* Allow specifying multiple kernel packages, and also no packages
  which defaults to scanning all kernel configs (it is super fast
  anyway)
* Add the check to Travis CI
* Adjust existing kernel configs, so they pass the kconfig_check.
(We've had to put in a lot of defaults in the aarch64
linux-postmarketos configs, that's why the diff is a bit unclean.)
* Increase modified kernel pkgrels
This commit is contained in:
Attila Szöllősi 2017-09-18 23:36:54 +02:00 committed by Oliver Smith
parent 7349874925
commit ae6a58b6ed
14 changed files with 353 additions and 91 deletions

View file

@ -19,8 +19,10 @@ You should have received a copy of the GNU General Public License
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
"""
import logging
import glob
import json
import logging
import os
import sys
import pmb.aportgen
@ -150,6 +152,25 @@ def menuconfig(args):
pmb.build.menuconfig(args, args.package, args.deviceinfo["arch"])
def kconfig_check(args):
# Default to all kernel packages
packages = args.packages
if not packages:
for aport in glob.glob(args.aports + "/*/linux-*"):
packages.append(os.path.basename(aport).split("linux-")[1])
# Iterate over all kernels
error = False
packages.sort()
for package in packages:
if not pmb.parse.kconfig.check(args, package, details=True):
error = True
# At least one failure
if error:
raise RuntimeError("kconfig_check failed!")
def parse_apkbuild(args):
aport = pmb.build.other.find_aport(args, args.package)
path = aport + "/APKBUILD"