From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] utils/check-package: add a check for the separation in the hash files
Date: Wed, 5 Feb 2020 18:07:29 +0100 [thread overview]
Message-ID: <20200205170729.GI3131@scaer> (raw)
In-Reply-To: <20200204103836.7730-1-heiko.thiery@gmail.com>
Heiko, All,
On 2020-02-04 11:38 +0100, Heiko Thiery spake thusly:
> The seperation of the fields in the hash file should be 2 spaces for
> consitency.
The script now throwsa traceback:
$ make check-package
[lots of output...]
Traceback (most recent call last):
File "./utils/check-package", line 194, in <module>
__main__()
File "./utils/check-package", line 177, in __main__
nwarnings, nlines = check_file_using_lib(fname)
File "./utils/check-package", line 146, in check_file_using_lib
nwarnings += print_warnings(cf.check_line(lineno + 1, text))
File "/home/ymorin/dev/buildroot/buildroot/utils/checkpackagelib/lib_hash.py", line 57, in check_line
if not re.match("^{} {} {}.*$".format(htype, hexa, filename), text):
File "/usr/lib/python2.7/re.py", line 141, in match
return _compile(pattern, flags).match(string)
File "/usr/lib/python2.7/re.py", line 251, in _compile
raise error, v # invalid expression
sre_constants.error: multiple repeat
make: *** [Makefile:1185: check-package] Error 1
Care to have a look at it?
In the meantime...
> Add some extra infos about that in the "adding-packages-directory" part
> of the manual.
I've reworded that manual part, updated the following example while at
it, and applied to master. Thanks! :-)
Regards,
Yann E. MORIN.
> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
> ---
> docs/manual/adding-packages-directory.txt | 6 ++++--
> utils/checkpackagelib/lib_hash.py | 7 ++++++-
> 2 files changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
> index 1c8b9f96b5..2c1a7d8776 100644
> --- a/docs/manual/adding-packages-directory.txt
> +++ b/docs/manual/adding-packages-directory.txt
> @@ -461,7 +461,8 @@ The hashes stored in that file are used to validate the integrity of the
> downloaded files and of the license files.
>
> The format of this file is one line for each file for which to check the
> -hash, each line being space-separated, with these three fields:
> +hash. For every file to check the three fields (hash type, hash, filename)
> +has to be in that file separated by 2 spaces.
>
> * the type of hash, one of:
> ** +md5+, +sha1+, +sha224+, +sha256+, +sha384+, +sha512+, +none+
> @@ -502,7 +503,8 @@ create the hash file in a subdirectory +<packageversion>+ of that package
>
> .Note
> The number of spaces does not matter, so one can use spaces (or tabs) to
> -properly align the different fields.
> +properly align the different fields. Nethertheless new packages has to be
> +separated by 2 spaces.
>
> The +none+ hash type is reserved to those archives downloaded from a
> repository, like a 'git clone', a 'subversion checkout'...
> diff --git a/utils/checkpackagelib/lib_hash.py b/utils/checkpackagelib/lib_hash.py
> index 3e381119a5..618ae5f679 100644
> --- a/utils/checkpackagelib/lib_hash.py
> +++ b/utils/checkpackagelib/lib_hash.py
> @@ -40,7 +40,7 @@ class HashType(_CheckFunction):
> if len(fields) < 2:
> return
>
> - htype, hexa = fields[:2]
> + htype, hexa, filename = fields[:3]
> if htype == "none":
> return
> if htype not in self.len_of_hash.keys():
> @@ -53,3 +53,8 @@ class HashType(_CheckFunction):
> .format(self.filename, lineno, self.url_to_manual),
> text,
> "expected {} hex digits".format(self.len_of_hash[htype])]
> +
> + if not re.match("^{} {} {}.*$".format(htype, hexa, filename), text):
> + return ["{}:{}: separation does not match expectation ({}#adding-packages-hash)"
> + .format(self.filename, lineno, self.url_to_manual),
> + text]
> --
> 2.20.1
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2020-02-05 17:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-04 10:38 [Buildroot] [PATCH] utils/check-package: add a check for the separation in the hash files Heiko Thiery
2020-02-05 17:07 ` Yann E. MORIN [this message]
2020-02-05 19:27 ` Heiko Thiery
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200205170729.GI3131@scaer \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox