Skip to content

Commit

Permalink
Enable pip package listing
Browse files Browse the repository at this point in the history
This commit adds commands to base.yml to collect pip package, version,
license and proj_url information using the pip package manager.

When the pip package manager does not have information for a package
license the license text is displayed as UNKNOWN. Unknown licenses will
still be reported in the default report for the sake of transparency.

Changes in snippets.yml were adapted from changes suggested by
abhaykatheria.

Resolves #149

Signed-off-by: Rose Judge <rjudge@vmware.com>
Signed-off by: abhaykatheria <abhay.katheria1998@gmail.com>
  • Loading branch information
rnjudge authored and Nisha K committed Apr 24, 2020
1 parent 92f5301 commit 6c2bee2
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 0 deletions.
88 changes: 88 additions & 0 deletions tern/command_lib/base.yml
Expand Up @@ -213,3 +213,91 @@ rpm:
container:
- 'rpm --query --all --queryformat "%{url}\n" 2>/dev/null'
delimiter: "\n"
# pip ----------------------------------------------------------------------
pip:
pkg_format: ''
os_guess:
- 'None'
path:
- 'usr/local/bin/pip'
shell: '/bin/bash' # could also be 'usr/bin/sh'
pkg_separators:
- '=='
- '<='
- '>='
- '<'
- '>'
- '~='
pinning_separator: '=='
names:
invoke:
1:
container:
# send any warnings of outdated pip version to /dev/null
- "pip list --format=freeze 2> /dev/null | cut -f1 -d'='"
delimiter: "\n"
versions:
invoke:
1:
container:
- "pkgs=`pip list --format=freeze 2> /dev/null | cut -f1 -d'='`"
- "for p in $pkgs; do pip show $p 2> /dev/null | head -2 | tail -1 | cut -f2 -d' '; done"
delimiter: "\n"
licenses:
invoke:
1:
container:
- "pkgs=`pip list --format=freeze 2> /dev/null | cut -f1 -d'='`"
- "for p in $pkgs; do pip show $p 2> /dev/null | head -7 | tail -1 | cut -f2 -d' '; done"
delimiter: "\n"
proj_urls:
invoke:
1:
container:
- "pkgs=`pip list --format=freeze 2> /dev/null | cut -f1 -d'='`"
- "for p in $pkgs; do pip show $p 2> /dev/null | head -4 | tail -1 | cut -f2 -d' '; done"
delimiter: "\n"
# pip3 ----------------------------------------------------------------------
pip3:
pkg_format: ''
os_guess:
- 'None'
path:
- 'usr/local/bin/pip3'
shell: '/bin/bash' # could also be 'usr/bin/sh'
pkg_separators:
- '=='
- '<='
- '>='
- '<'
- '>'
- '~='
pinning_separator: '=='
names:
invoke:
1:
container:
# send any warnings of outdated pip3 version to /dev/null
- "pip3 list --format=freeze 2> /dev/null | cut -f1 -d'='"
delimiter: "\n"
versions:
invoke:
1:
container:
- "pkgs=`pip3 list --format=freeze 2> /dev/null | cut -f1 -d'='`"
- "for p in $pkgs; do pip3 show $p 2> /dev/null | head -2 | tail -1 | cut -f2 -d' '; done"
delimiter: "\n"
licenses:
invoke:
1:
container:
- "pkgs=`pip3 list --format=freeze 2> /dev/null | cut -f1 -d'='`"
- "for p in $pkgs; do pip3 show $p 2> /dev/null | head -7 | tail -1 | cut -f2 -d' '; done"
delimiter: "\n"
proj_urls:
invoke:
1:
container:
- "pkgs=`pip3 list --format=freeze 2> /dev/null | cut -f1 -d'='`"
- "for p in $pkgs; do pip3 show $p 2> /dev/null | head -7 | tail -1 | cut -f2 -d' '; done"
delimiter: "\n"
26 changes: 26 additions & 0 deletions tern/command_lib/snippets.yml
Expand Up @@ -58,3 +58,29 @@ rpm:
install: '-i'
remove: '-e'
packages: 'rpm'
pip:
install: 'install'
remove: 'uninstall'
ignore:
- 'freeze'
- 'list'
- 'download'
- 'show'
- 'check'
- 'config'
- 'hash'
- 'wheel'
packages: 'pip'
pip3:
install: 'install'
remove: 'uninstall'
ignore:
- 'freeze'
- 'list'
- 'download'
- 'show'
- 'check'
- 'config'
- 'hash'
- 'wheel'
packages: 'pip3'

0 comments on commit 6c2bee2

Please sign in to comment.