Skip to content
Snippets Groups Projects
Commit 4584f36a authored by Robin Jarry's avatar Robin Jarry
Browse files

Only read version from git when in scapy


Scapy may be used as third party library by other projects, themselves
managed under git. This leads to surprising results such as this:

    $ git describe
    awesomeproject-v5.22-1-ga1316614c290
    $ virtualenv env
    ...
    $ . env/bin/activate
    (env)$ pip install scapy==2.3.3
    ...
    (env)$ cat env/lib/python2.7/site-packages/scapy/VERSION
    2.3.3
    (env)$ which scapy
    /home/.../env/bin/scapy
    (env)$ scapy
    ...
    Welcome to Scapy (awesomeproject-v5.22.dev1)
    >>>

Scapy's version is wrongly set to the current project's version.

When trying to determine scapy's version from git, make sure that the
code is executed from the root of a git repo. If not, read the version
from the scapy/VERSION file which has been generated when packaging
scapy source archive.

Fixes: 4f71027f ("enhance version management")
Signed-off-by: default avatarRobin Jarry <robin.jarry@6wind.com>
parent 14be8ac4
No related branches found
No related tags found
No related merge requests found
...@@ -38,6 +38,9 @@ def _version_from_git_describe(): ...@@ -38,6 +38,9 @@ def _version_from_git_describe():
>>> _version_from_git_describe() >>> _version_from_git_describe()
'2.3.2.dev346' '2.3.2.dev346'
""" """
if not os.path.isdir(os.path.join(_SCAPY_PKG_DIR, '../.git')):
raise ValueError('not in scapy git repo')
p = subprocess.Popen(['git', 'describe', '--always'], cwd=_SCAPY_PKG_DIR, p = subprocess.Popen(['git', 'describe', '--always'], cwd=_SCAPY_PKG_DIR,
stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout=subprocess.PIPE, stderr=subprocess.PIPE)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment