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.