Page MenuHomeSoftware Heritage

[swh-docs] bin/ln-sphinx-subprojects: Use rsync to copy .py sources only
ClosedPublic

Authored by anlambert on Mar 8 2019, 6:10 PM.

Details

Summary

When trying to generate the documentation after having played with docker-compose using a docker-compose.override.yml
file, the following type of errors appears:

make[2] : on entre dans le répertoire « /home/antoine/swh/swh-environment »
make[2]: avertissement : jobserver n'est pas disponible : utilisation de -j1. Ajouter « + » à la règle parent du make.
cp: impossible de créer le lien direct 'sources/swh/objstorage/__pycache__/__init__.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/__pycache__/__init__.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/__pycache__/objstorage.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/__pycache__/objstorage.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/__pycache__/exc.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/__pycache__/exc.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/__pycache__/objstorage_pathslicing.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/__pycache__/objstorage_pathslicing.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/__pycache__/objstorage_in_memory.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/__pycache__/objstorage_in_memory.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/__pycache__/objstorage_rados.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/__pycache__/objstorage_rados.cpython-36.pyc': Opération non permise
make[2]: rien à faire pour « assets ».
make[2] : on quitte le répertoire « /home/antoine/swh/swh-environment/swh-mirror-forge/docs »
cp: impossible de créer le lien direct 'sources/swh/objstorage/api/__pycache__/server.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/api/__pycache__/server.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/api/__pycache__/__init__.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/api/__pycache__/__init__.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/api/__pycache__/client.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/api/__pycache__/client.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/api/__pycache__/wsgi.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/api/__pycache__/wsgi.cpython-36.pyc'make -C swh-model/docs assets
: Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/cloud/__pycache__/__init__.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/cloud/__pycache__/__init__.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/cloud/__pycache__/objstorage_cloud.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/cloud/__pycache__/objstorage_cloud.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/multiplexer/__pycache__/__init__.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/multiplexer/__pycache__/__init__.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/multiplexer/__pycache__/multiplexer_objstorage.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/multiplexer/__pycache__/multiplexer_objstorage.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/multiplexer/__pycache__/striping_objstorage.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/multiplexer/__pycache__/striping_objstorage.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/multiplexer/filter/__pycache__/__init__.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/multiplexer/filter/__pycache__/__init__.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/multiplexer/filter/__pycache__/read_write_filter.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/multiplexer/filter/__pycache__/read_write_filter.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/multiplexer/filter/__pycache__/filter.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/multiplexer/filter/__pycache__/filter.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/objstorage/multiplexer/filter/__pycache__/id_filter.cpython-36.pyc' vers '../../swh-objstorage/swh/objstorage/multiplexer/filter/__pycache__/id_filter.cpython-36.pyc': Opération non permise
cp: impossible de créer le lien direct 'sources/swh/__pycache__/__init__.cpython-36.pyc' vers '../../swh-objstorage/swh/__pycache__/__init__.cpython-36.pyc': Opération non permise

As a workaround, use rsync to copy the sources, excluding any files that is not a Python source one.
I did not manage to keep the hard link feature from the previous cp command but considering it is
only a couple of megabytes to copy, that's not really a big deal IMHO.

Diff Detail

Repository
rDDOC Development documentation
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

vlorentz added inline comments.
docs/bin/ln-sphinx-subprojects
5

using mkdir -f won't print a warning when the folder already exists.

This revision is now accepted and ready to land.Mar 11 2019, 2:48 PM
anlambert added inline comments.
docs/bin/ln-sphinx-subprojects
5

Ack, but the correct mkdir option to use seems -p

Update: modify mkdir invocation

This revision was automatically updated to reflect the committed changes.