#25022: collectstatic create self-referential symlink
-----------------------------------------------+------------------------
Reporter: aaugustin | Owner: nobody
Type: Bug | Status: new
Component: contrib.staticfiles | Version: 1.7
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-----------------------------------------------+------------------------
This has happened twice on our CI server, but I'm not sure how.
Relevant settings:
{{{
STATICFILES_DIRS = ('/var/lib/jenkins/jobs/project-pr-
endtoend/workspace/frontend/dist',)
STATICFILES_STORAGE =
'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
STATIC_ROOT = '/var/lib/jenkins/jobs/project-pr-
endtoend/workspace/project/static'
STATIC_URL = '/static/'
}}}
Collectstatic command:
{{{
django-admin collectstatic --noinput --clear --link
}}}
(Possibly run several times in a row, with the same or different static
files.)
We ended up with `'/var/lib/jenkins/jobs/project-pr-
endtoend/workspace/project/static/img/icon-sd3b7ad043d.png'` which was a
symlink to itself.
This prevented gunicorn from starting because we use whitenoise to serve
static files, whitenoise scans the entire static directory on startup, and
it couldn't `stat` a self-referential symlink.
This is quite surprising because:
- If I clear the directory and re-run collectstatic, I cannot reproduce
the issue
- I expect --clear to wipe the directory first
- I don't expect --link to create a self-referential symlink
(This may end up as needsinfo if I don't dig into the details and we can't
figure out the bug from the code. But even then it may help someone who
stumbles upon the same problem.)
--
Ticket URL: <https://code.djangoproject.com/ticket/25022>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/052.bcf1318fdb8ee2664b1e25f36b57d4ce%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.