[Buildroot] [PATCH] support/download/svn: use 'svn info' whith LC_ALL=C

Romain Naour romain.naour at smile.fr
Thu Apr 3 06:47:50 UTC 2025


Use the 'C' locale when retrieving the date of the last change using
'svn info' since the svn download helper script expect
"Last Changed Date" string.

If another locale is used, the 'date' is empty so the generated
archive (by mk_tar_gz) will not match the expected hash since
the file timestamp is not set properly.

If LANG=fr_FR.UTF-8 is defined in the host system, svn print some
"French encrypted" text:

  eval svn --non-interactive --config-option servers:global:http-timeout=10 info ''\''https://svn.code.sf.net/p/xmlrpc-c/code/advanced@r3176'\'''
  ...
  Date de la dernière modification: 2023-09-02 19:13:35 +0200 (sam. 02 sept. 2023)

diffoscope confirm that the file timestamp is not set correctly
in the generated archive:

$ diffoscope NOK/libxmlrpc-r3176-svn5.tar.gz OK/libxmlrpc-r3176-svn5.tar.gz
--- NOK/libxmlrpc-r3176-svn5.tar.gz
+++ OK/libxmlrpc-r3176-svn5.tar.gz
├── libxmlrpc-r3176-svn5.tar
│ ├── file list
│ │ @@ -1,626 +1,626 @@
│ │ --rw-r--r--   0        0        0     6937 2025-04-02 00:00:00.000000 libxmlrpc-r3176/GNUmakefile
│ │ +-rw-r--r--   0        0        0     6937 2023-09-02 17:13:35.000000 libxmlrpc-r3176/GNUmakefile

Fix this issue using 'C' locale:

  LC_ALL=C eval svn --non-interactive --config-option servers:global:http-timeout=10 info ''\''https://svn.code.sf.net/p/xmlrpc-c/code/advanced@r3176'\'''
  ...
  Last Changed Date: 2023-09-02 19:13:35 +0200 (Sat, 02 Sep 2023)

Fixes: 89f5e989323ace815a32fced27eaefee2f4666de

Signed-off-by: Romain Naour <romain.naour at smile.fr>
---
 support/download/svn | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/support/download/svn b/support/download/svn
index ff33f1fa39..576fd48303 100755
--- a/support/download/svn
+++ b/support/download/svn
@@ -81,7 +81,7 @@ done
 # In case there is a redirection (e.g. http -> https), just keep the
 # last line (svn outputs everything on stdout)
 # shellcheck disable=SC2086 # creds may be empty
-date="$( _plain_svn info ${creds} "'${uri}@${rev}'" \
+date="$( LC_ALL=C _plain_svn info ${creds} "'${uri}@${rev}'" \
         |sed -r -e '/^Last Changed Date: /!d; s///'
        )"
 
-- 
2.49.0



More information about the buildroot mailing list