#22681: TarArchive has_leading_dir usage bug
-------------------------------------+-------------------------------------
     Reporter:  phpdude              |      Owner:  nobody
         Type:  Bug                  |     Status:  new
    Component:  Core (Management     |    Version:  master
  commands)                          |   Keywords:  startproject, tar,
     Severity:  Normal               |  template, allversions
 Triage Stage:  Unreviewed           |  Has patch:  1
Easy pickings:  1                    |      UI/UX:  0
-------------------------------------+-------------------------------------
 I found small bug in django.utils.archive.TarArchive.extract function.

 https://github.com/django/django/blob/master/django/utils/archive.py#L147

 There members is a list of TarInfo objects (tarfile.TarInfo), not just a
 list of path strings.

 Because of this bug django cannot recognize leading_dir in tar archives.

 Take a look for example startproject with tar and zip archive.


 {{{
 (env)@dude /WWW# django-admin.py startproject -v 3 --template
 http://git.floraconcierge.com/flora-concierge/django-
 skeleton/repository/archive test14
 Rendering project template files with extensions: .py
 Rendering project template files with filenames:
 Downloading http://git.floraconcierge.com/flora-concierge/django-
 skeleton/repository/archive
 Extracting
 
/var/folders/7h/k___h29d15n7n5zxqk5l8ktw0000gn/T/django_project_template_FAMd_4_download
 /django-skeleton-f85cd58a98dd98bd22b56a82a35b3947ad7c7d79.tar.gz

 Creating /WWW/test14/django-skeleton.git/manage.py
 Creating /WWW/test14/django-skeleton.git/README
 Creating /WWW/test14/django-skeleton.git/test14/__init__.py
 Creating /WWW/test14/django-skeleton.git/test14/urls.py
 Creating /WWW/test14/django-skeleton.git/test14/wsgi.py
 ...
 }}}

 And example with zip archive

 {{{
 (env)@dude /WWW# django-admin.py startproject -v 3 --template
 https://github.com/rdegges/django-skel/zipball/master test15
 Rendering project template files with extensions: .py
 Rendering project template files with filenames:
 Downloading https://github.com/rdegges/django-skel/zipball/master
 Extracting
 
/var/folders/7h/k___h29d15n7n5zxqk5l8ktw0000gn/T/django_project_template_DLsbG8_download
 /rdegges-django-skel-d4631bb.zip

 Creating /WWW/test15/.gitignore
 Creating /WWW/test15/fabfile.py
 Creating /WWW/test15/gunicorn.py.ini
 Creating /WWW/test15/manage.py
 Creating /WWW/test15/Procfile
 Creating /WWW/test15/README.md
 Creating /WWW/test15/requirements.txt
 Creating /WWW/test15/runtime.txt
 Creating /WWW/test15/wsgi.py
 }}}

 I fixed this and created pull request in github. Please aply it soon.

 https://github.com/django/django/pull/2701

 Thank you, alex

-- 
Ticket URL: <https://code.djangoproject.com/ticket/22681>
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 django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/050.59685128e437289584514ab3d8ff8135%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to