Skip to content
This repository was archived by the owner on Mar 27, 2024. It is now read-only.
This repository was archived by the owner on Mar 27, 2024. It is now read-only.

pip differ doesn't match the packages with python version suffix in name #289

Closed
@michalvanco

Description

@michalvanco

Consider image with python-3.6 inside and additional pip packages installed via requirements file (via setup.py).

your app includes requirements.txt with following packages:

graphitesend
future

When you perform container-diff analyze daemon://your-image -t pip you receive only subset of pip packages:

NAME               VERSION        SIZE          INSTALLATION
-pip               18.0           6.8M          /usr/local/lib/python3.6/site-packages
-pytz              2018.9         954.9K        /usr/local/lib/python3.6/site-packages
-setuptools        39.0.1         1.8M          /usr/local/lib/python3.6/site-packages
-six               1.12.0         31.7K         /usr/local/lib/python3.6/site-packages

While inside the image you can see following packages:

$ ls /usr/local/lib/python3.6/site-packages/
graphitesend
graphitesend-0.10.0-py3.6.egg-info
future
future-0.16.0-py3.6.egg-info                  
pip
pip-18.0.dist-info
pytz
pytz-2018.9.dist-info
setuptools
setuptools-39.0.1.dist-info
six.py
six-1.12.0.dist-info

$ pip list
Package                 Version
----------------------- -------
future                  0.16.0 
graphitesend            0.10.0 
pip                     18.0   
pytz                    2018.9 
setuptools              39.0.1 
six                     1.12.0 

I suspect following piece of code in differ:
packageDir := regexp.MustCompile("^([a-z|A-Z|0-9|_]+)-(([0-9]+?\\.){2,3})(dist-info|egg-info)$") which doesn't match these packages because something like -py3.6 is not allowed in the filename.

Expected behavior

All packages from pip list are listed.

Actual behavior

Only subset of pip packages are listed in differ output.

Information

  • container-diff version: version 0.14.0
  • Operating system: CentOS 7.5

Thank you in advance for any update!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions