check-package: move parts to subdirectory

Currently the check-package script uses many files in the same
directory. This commit keeps the main script in support/scripts/ and
moves the rest into a subdirectory.

The modules were previously prefixed to make it easy to identify which
script they belong to. This is no longer needed when using a
subdirectory, so the prefix is removed.

Note: if this commit is checked out and the script is run, and later on
a previous version is checked out, the file
support/scripts/checkpackagelib/__init__.pyc needs to be manually
removed to prevent Python interpreter to look for checkpackagelib
package when only the checkpackagelib module is available.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Ricardo Martincoski 2017-04-19 15:06:21 -03:00 committed by Thomas Petazzoni
parent 33481124c7
commit 7b394c4926
9 changed files with 36 additions and 37 deletions

View File

@ -1,5 +1,5 @@
#!/usr/bin/env python
# See support/scripts/check-package.txt before editing this file.
# See support/scripts/checkpackagelib/readme.txt before editing this file.
from __future__ import print_function
import argparse
@ -7,10 +7,10 @@ import inspect
import re
import sys
import checkpackagelib_config
import checkpackagelib_hash
import checkpackagelib_mk
import checkpackagelib_patch
import checkpackagelib.lib_config
import checkpackagelib.lib_hash
import checkpackagelib.lib_mk
import checkpackagelib.lib_patch
VERBOSE_LEVEL_TO_SHOW_IGNORED_FILES = 3
flags = None # Command line arguments.
@ -48,13 +48,13 @@ def get_lib_from_filename(fname):
if FILE_IS_FROM_A_PACKAGE.search(fname) is None:
return None
if CONFIG_IN_FILENAME.search(fname):
return checkpackagelib_config
return checkpackagelib.lib_config
if fname.endswith(".hash"):
return checkpackagelib_hash
return checkpackagelib.lib_hash
if fname.endswith(".mk"):
return checkpackagelib_mk
return checkpackagelib.lib_mk
if fname.endswith(".patch"):
return checkpackagelib_patch
return checkpackagelib.lib_patch
return None

View File

@ -1,4 +1,4 @@
# See support/scripts/check-package.txt before editing this file.
# See support/scripts/checkpackagelib/readme.txt before editing this file.
class _CheckFunction(object):

View File

@ -1,6 +1,6 @@
# See support/scripts/check-package.txt before editing this file.
# See support/scripts/checkpackagelib/readme.txt before editing this file.
from checkpackagebase import _CheckFunction
from base import _CheckFunction
class ConsecutiveEmptyLines(_CheckFunction):

View File

@ -1,16 +1,16 @@
# See support/scripts/check-package.txt before editing this file.
# See support/scripts/checkpackagelib/readme.txt before editing this file.
# Kconfig generates errors if someone introduces a typo like "boool" instead of
# "bool", so below check functions don't need to check for things already
# checked by running "make menuconfig".
import re
from checkpackagebase import _CheckFunction
from base import _CheckFunction
# Notice: ignore 'imported but unused' from pyflakes for check functions.
from checkpackagelib import ConsecutiveEmptyLines
from checkpackagelib import EmptyLastLine
from checkpackagelib import NewlineAtEof
from checkpackagelib import TrailingSpace
from lib import ConsecutiveEmptyLines
from lib import EmptyLastLine
from lib import NewlineAtEof
from lib import TrailingSpace
def _empty_or_comment(text):

View File

@ -1,16 +1,16 @@
# See support/scripts/check-package.txt before editing this file.
# See support/scripts/checkpackagelib/readme.txt before editing this file.
# The validity of the hashes itself is checked when building, so below check
# functions don't need to check for things already checked by running
# "make package-dirclean package-source".
import re
from checkpackagebase import _CheckFunction
from base import _CheckFunction
# Notice: ignore 'imported but unused' from pyflakes for check functions.
from checkpackagelib import ConsecutiveEmptyLines
from checkpackagelib import EmptyLastLine
from checkpackagelib import NewlineAtEof
from checkpackagelib import TrailingSpace
from lib import ConsecutiveEmptyLines
from lib import EmptyLastLine
from lib import NewlineAtEof
from lib import TrailingSpace
def _empty_line_or_comment(text):

View File

@ -1,4 +1,4 @@
# See support/scripts/check-package.txt before editing this file.
# See support/scripts/checkpackagelib/readme.txt before editing this file.
# There are already dependency checks during the build, so below check
# functions don't need to check for things already checked by exploring the
# menu options using "make menuconfig" and by running "make" with appropriate
@ -6,12 +6,12 @@
import re
from checkpackagebase import _CheckFunction
from base import _CheckFunction
# Notice: ignore 'imported but unused' from pyflakes for check functions.
from checkpackagelib import ConsecutiveEmptyLines
from checkpackagelib import EmptyLastLine
from checkpackagelib import NewlineAtEof
from checkpackagelib import TrailingSpace
from lib import ConsecutiveEmptyLines
from lib import EmptyLastLine
from lib import NewlineAtEof
from lib import TrailingSpace
class Indent(_CheckFunction):

View File

@ -1,13 +1,13 @@
# See support/scripts/check-package.txt before editing this file.
# See support/scripts/checkpackagelib/readme.txt before editing this file.
# The format of the patch files is tested during the build, so below check
# functions don't need to check for things already checked by running
# "make package-dirclean package-patch".
import re
from checkpackagebase import _CheckFunction
from base import _CheckFunction
# Notice: ignore 'imported but unused' from pyflakes for check functions.
from checkpackagelib import NewlineAtEof
from lib import NewlineAtEof
class ApplyOrder(_CheckFunction):

View File

@ -8,8 +8,8 @@ How the scripts are structured:
of variables (for the case it needs to keep data across calls) and the
equivalent finalization (e.g. for the case a warning must be issued if some
pattern is not in the input file).
- checkpackagebase.py contains the base class for all check functions.
- checkpackagelib.py contains the classes for common check functions.
- base.py contains the base class for all check functions.
- lib.py contains the classes for common check functions.
Each check function is explicitly included in a given type-parsing library.
Do not include every single check function in this file, a class that will
only parse hash files should be implemented in the hash-parsing library.
@ -20,8 +20,7 @@ How the scripts are structured:
first and second warnings are printed; when called with -vv until the third
warning is printed; an so on.
Helper functions can be defined and will not be called by the main script.
- checkpackagelib_type.py contains check functions specific to files of this
type.
- lib_type.py contains check functions specific to files of this type.
Some hints when changing this code:
- prefer O(n) algorithms, where n is the total number of lines in the files