alire-project / alire

Command-line tool from the Alire project and supporting library
GNU General Public License v3.0
275 stars 49 forks source link

Syncing "bad" symlynks fails #1720

Open reznikmm opened 1 month ago

reznikmm commented 1 month ago

Describe the bug When source code contains "cycle symlinks" alr is unable to sync "build dir". See https://github.com/AdaCore/gpr/tree/master/testsuite/tests/gpr-symlinks-cycle/with-resolve-links/

I don't think this is an important bug. Workaround is to set dependencies.shared to False.

To Reproduce Steps to reproduce the behavior:

  1. alr settings --global --set dependencies.shared True
  2. alr index --add git+https://github.com/reznikmm/als-alire-index.git --name als
  3. alr get --build libadalang
  4. See error: Could not sync build dir from $HOME/.local/share/alire/releases/libgpr2_25.0.0_d9220e60 to $HOME/.local/share/alire/builds/libgpr2_25.0.0_d9220e60/7f41fa68b465cc490af68ae5d2cb2449b133723f03fb10556485c7001d4d437a

Expected Behavior alr get --build libadalang should work.

alr version 2.0.1

alr logs

Note: Deploying libgpr2=25.0.0-20240625...
Warning: Skipping softlink dir during tree traversal: /home/runner/.local/share/alire/releases/libgpr2_25.0.0_d9220e60/testsuite/tests/gpr-symlinks-cycle/without-resolve-links/B/sym_A
Warning: Skipping softlink dir during tree traversal: /home/runner/.local/share/alire/releases/libgpr2_25.0.0_d9220e60/testsuite/tests/gpr-symlinks-cycle/without-resolve-links/A/sym_B
Warning: Skipping softlink dir during tree traversal: /home/runner/.local/share/alire/releases/libgpr2_25.0.0_d9220e60/testsuite/tests/gpr-symlinks-cycle/with-resolve-links/import_A/link_to_import_B
Warning: Skipping softlink dir during tree traversal: /home/runner/.local/share/alire/releases/libgpr2_25.0.0_d9220e60/testsuite/tests/gpr-symlinks-cycle/with-resolve-links/import_B/link_to_import_A
Note: Deploying libadalang=25.0.0-20240625...
Note: Starting installation of gnatdoc=25.0.0-20240625...
stderr: Could not sync build dir from /home/runner/.local/share/alire/releases/libgpr2_25.0.0_d9220e60 to /home/runner/.local/share/alire/builds/libgpr2_25.0.0_d9220e60/7f41fa68b465cc490af68ae5d2cb2449b133723f03fb10556485c7001d4d437a
ERROR: Could not sync build dir from /home/runner/.local/share/alire/releases/libgpr2_25.0.0_d9220e60 to /home/runner/.local/share/alire/builds/libgpr2_25.0.0_d9220e60/7f41fa68b465cc490af68ae5d2cb2449b133723f03fb10556485c7001d4d437a
mosteo commented 1 month ago

I'm just working on related issues on #1718.