Skip to contentSkip to conversation

support/scripts/check-uniq-files: add indices in format string

PATCH New Thomas Petazzoni 3 participants 6 messages Mar 3, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 support/scripts/check-uniq-files: add indices in format string

Using {} in format strings is only supported in sufficiently recent Python versions. Python 2.6 doesn't support this, and only format strings with numbered arguments: {0}, {1}, etc.

Python 2.7:

$ python -c 'print("foo {}".format(12))'
foo 12
$ python -c 'print("foo {0}".format(12))'
foo 12

Python 2.6:

$ python -c 'print("foo {}".format(12))'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ValueError: zero length field name in format
$ python -c 'print("foo {0}".format(12))'
foo 12
---
 support/scripts/check-uniq-files | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
support/scripts/check-uniq-files +1 -1
index a3d176710e..be808cce03 100755
@@ -5,7 +5,7 @@ import csv
 import argparse
 from collections import defaultdict
 
-warn = 'Warning: {} file "{}" is touched by more than one package: {}\n'
+warn = 'Warning: {0} file "{1}" is touched by more than one package: {2}\n'
 
 
 def main():
Signature · 1 line
2.14.3
#1 lore raw

PATCH 2/2 support/dependencies/dependencies.sh: check for Python argparse module

The script support/scripts/check-uniq-files uses the argparse Python module. In most recent Python versions (starting with 2.7), the argparse module is part of the standard library, and we already check for the availability of Python in support/dependencies/dependencies.sh.

However, when running on an ancient distribution with Python 2.6, the argparse module is not part of the Python standard library, but available as an external module. Without this module, the build fails, because check-uniq-files, which is used in target-finalize, fails to run.

To avoid this failure, this commit adds a check in support/dependencies/dependencies.sh to verify that the argparse module is available.

---
 support/dependencies/dependencies.sh | 5 +++++
 1 file changed, 5 insertions(+)
support/dependencies/dependencies.sh +5 -0
index 1804e85508..423fed8110 100755
@@ -288,3 +288,8 @@ if [ -n "$missing_perl_modules" ] ; then
 	echo
 	exit 1
 fi
+
+if ! python -c "import argparse" > /dev/null 2>&1 ; then
+	echo "Your Python installation is not complete enough: argparse module is missing"
+	exit 1
+fi
Signature · 1 line
2.14.3
#2 lore raw

PATCH 2/2 support/dependencies/dependencies.sh: check for Python argparse module

Thomas, All,

On 2018-03-03 15:36 +0100, Thomas Petazzoni spake thusly:

Quoted 12 lines

The script support/scripts/check-uniq-files uses the argparse Python module. In most recent Python versions (starting with 2.7), the argparse module is part of the standard library, and we already check for the availability of Python in support/dependencies/dependencies.sh.

However, when running on an ancient distribution with Python 2.6, the argparse module is not part of the Python standard library, but available as an external module. Without this module, the build fails, because check-uniq-files, which is used in target-finalize, fails to run.

Quoted 5 lines

To avoid this failure, this commit adds a check in support/dependencies/dependencies.sh to verify that the argparse module is available.

Regards,
Yann E. MORIN.

Quoted 20 lines
---
 support/dependencies/dependencies.sh | 5 +++++
 1 file changed, 5 insertions(+)
support/dependencies/dependencies.sh +5 -0
index 1804e85508..423fed8110 100755
@@ -288,3 +288,8 @@ if [ -n "$missing_perl_modules" ] ; then
 	echo
 	exit 1
 fi
+
+if ! python -c "import argparse" > /dev/null 2>&1 ; then
+	echo "Your Python installation is not complete enough: argparse module is missing"
+	exit 1
+fi
Signature · 1 line
2.14.3
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 2/2 support/dependencies/dependencies.sh: check for Python argparse module

In reply to Thomas Petazzoni
Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

The script support/scripts/check-uniq-files uses the argparse Python module. In most recent Python versions (starting with 2.7), the argparse module is part of the standard library, and we already check for the availability of Python in support/dependencies/dependencies.sh.

However, when running on an ancient distribution with Python 2.6, the argparse module is not part of the Python standard library, but available as an external module. Without this module, the build fails, because check-uniq-files, which is used in target-finalize, fails to run.

Quoted 5 lines

To avoid this failure, this commit adds a check in support/dependencies/dependencies.sh to verify that the argparse module is available.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/2 support/scripts/check-uniq-files: add indices in format string

In reply to Thomas Petazzoni

Thomas, All,

On 2018-03-03 15:36 +0100, Thomas Petazzoni spake thusly:

Quoted 13 lines

Using {} in format strings is only supported in sufficiently recent Python versions. Python 2.6 doesn't support this, and only format strings with numbered arguments: {0}, {1}, etc.

Python 2.7:

$ python -c 'print("foo {}".format(12))'
foo 12
$ python -c 'print("foo {0}".format(12))'
foo 12

Python 2.6:

Quoted 8 lines
$ python -c 'print("foo {}".format(12))'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ValueError: zero length field name in format
$ python -c 'print("foo {0}".format(12))'
foo 12

https://docs.python.org/release/2.6/library/string.html#formatstrings

Regards,
Yann E. MORIN.

Quoted 20 lines
---
 support/scripts/check-uniq-files | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
support/scripts/check-uniq-files +1 -1
index a3d176710e..be808cce03 100755
@@ -5,7 +5,7 @@ import csv
 import argparse
 from collections import defaultdict
 
-warn = 'Warning: {} file "{}" is touched by more than one package: {}\n'
+warn = 'Warning: {0} file "{1}" is touched by more than one package: {2}\n'
 
 
 def main():
Signature · 1 line
2.14.3
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH 1/2 support/scripts/check-uniq-files: add indices in format string

In reply to Thomas Petazzoni
Quoted 15 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Using {} in format strings is only supported in sufficiently recent Python versions. Python 2.6 doesn't support this, and only format strings with numbered arguments: {0}, {1}, etc.

Python 2.7:

$ python -c 'print("foo {}".format(12))'
foo 12
$ python -c 'print("foo {0}".format(12))'
foo 12

Python 2.6:

Quoted 8 lines
$ python -c 'print("foo {}".format(12))'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ValueError: zero length field name in format
$ python -c 'print("foo {0}".format(12))'
foo 12

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard