Skip to content

fcm make doesn't work when terminal is set to french #277

@jukaradayi

Description

@jukaradayi

Bug description

When the terminal localisation is set to french (e.g. export LC_ALL=fr_FR.UTF-8), fcm make fails to parse thesvn info output and can't get the svn package set in extract.location{primary}.
Output example:

$ fcm make -f fcm-make/monc-ubuntu-16.04-gnu.cfg  -f fcm-make/casim_socrates.cfg
[init] make                # 2023-05-12T07:49:34Z
[info] FCM 2021.05.0 (/usr)
[init] make config-parse   # 2023-05-12T07:49:34Z
[info] config-file=/home/jkaradayi/workspace/r9891_jk_climaviation/fcm-make/monc-ubuntu-16.04-gnu.cfg
[info] config-file= - /home/jkaradayi/workspace/r9891_jk_climaviation/fcm-make/comp-gnu-4.4.7.cfg
[info] config-file= - /home/jkaradayi/workspace/r9891_jk_climaviation/fcm-make/env-ubuntu-16.04.cfg
[info] config-file= - /home/jkaradayi/workspace/r9891_jk_climaviation/fcm-make/monc-build.cfg
[info] config-file=/home/jkaradayi/workspace/r9891_jk_climaviation/fcm-make/casim_socrates.cfg
[done] make config-parse   # 0.0s
[init] make dest-init      # 2023-05-12T07:49:34Z
[info] dest=jkaradayi@port-560:/home/jkaradayi/workspace/r9891_jk_climaviation
[info] mode=incremental
[done] make dest-init      # 0.0s
[init] make extract        # 2023-05-12T07:49:34Z
Use of uninitialized value $value in concatenation (.) or string at /usr/share/perl5/FCM/Util/Locator/SVN.pm line 220.
Use of uninitialized value $value in concatenation (.) or string at /usr/share/perl5/FCM/Util/Locator/SVN.pm line 220.
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/FCM/Util/Locator/SVN.pm line 178, <$fh> line 11.
Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/FCM/Util/Locator/SVN.pm line 178, <$fh> line 11.
[...]
Use of uninitialized value in split at /usr/share/perl5/FCM/System/Make/Extract.pm line 976.
Use of uninitialized value in split at /usr/share/perl5/FCM/System/Make/Extract.pm line 976.
[FAIL] /home/jkaradayi/workspace/r9891_jk_climaviation/.fcm-make/cache/extract/socrates/0 -> /home/jkaradayi/workspace/r9891_jk_climaviation/extract/socrates: copy failed
[FAIL] No such file or directory

[info] location casim: 0: /home/jkaradayi/workspace/vn1.1_jk_climaviation
[info] location  monc: 0: /home/jkaradayi/workspace/r9891_jk_climaviation
[info] location socrates: 0: https://code.metoffice.gov.uk/svn/socrates/main/trunk@1376
[FAIL] make extract        # 2.3s
[FAIL] make                # 2.3s

What is happening

fcm is trying to parse the output of svn info which should be :

$ export LC_ALL=C; svn info https://code.metoffice.gov.uk/svn/socrates/main/trunk
Path: trunk
URL: https://code.metoffice.gov.uk/svn/socrates/main/trunk
Relative URL: ^/main/trunk
Repository Root: https://code.metoffice.gov.uk/svn/socrates
Repository UUID: 7a691fcb-5d1e-4fc1-8b6b-54125fa6be09
Revision: 1382
Node Kind: directory
Last Changed Author: jamesmanners
Last Changed Rev: 1369
Last Changed Date: 2023-04-26 17:19:50 +0200 (Wed, 26 Apr 2023)

but in french is

$ svn info https://code.metoffice.gov.uk/svn/socrates/main/trunk
Chemin : trunk
URL : https://code.metoffice.gov.uk/svn/socrates/main/trunk
Relative URL: ^/main/trunk
Racine du dépôt : https://code.metoffice.gov.uk/svn/socrates
UUID du dépôt : 7a691fcb-5d1e-4fc1-8b6b-54125fa6be09
Révision : 1382
Type de nœud : répertoire
Auteur de la dernière modification : jamesmanners
Révision de la dernière modification : 1369
Date de la dernière modification: 2023-04-26 17:19:50 +0200 (mer. 26 avril 2023)

the "œ" symbol an probably the "è" "é" etc.. are possibly making it hard for perl to parse.

To Reproduce

Set shell localisation to french, launch fcm make with a config file pointing to a remote svn repository.
E.G. :
Using location{primary}[monc.x] = https://code.metoffice.gov.uk/svn/monc/main, launch

$ export LC_ALL=fr_FR.UTF-8; fcm make -f fcm-make/monc-ubuntu-16.04-gnu.cfg

Expected behavior

When wrapping svn info in SVN.pm, force localization to "LC_ALL=C".

Desktop

  • OS: Ubuntu 22.04
  • perl: v5.34.0
  • SVN : 1.14.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions