Skip to content

Commit

Permalink
Bump version and prepare release 0.2.0
Browse files Browse the repository at this point in the history
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
  • Loading branch information
pombredanne committed Apr 9, 2024
1 parent 6f34223 commit 8deb22d
Show file tree
Hide file tree
Showing 7 changed files with 96 additions and 30 deletions.
4 changes: 3 additions & 1 deletion AUTHORS.rst
@@ -1,3 +1,5 @@
The following organizations or individuals have contributed to this repo:

-
- Tushar Goel @TG1999
- Philippe Ombredanne @pombredanne
- nexB Inc.
8 changes: 8 additions & 0 deletions CHANGELOG.rst
Expand Up @@ -7,3 +7,11 @@ v0.1.0 (8th April 2024)

- Add goresym support in go-inspector.



v0.2.0 (9th April 2024)
------------------------

- Add missing ABOUT file and license for goresym.
- Bump to version GoReSym 2.7.2
- Add support for dependencies and build info
2 changes: 1 addition & 1 deletion NOTICE
@@ -1,6 +1,6 @@
#
# Copyright (c) nexB Inc. and others.
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang
#
# Visit https://aboutcode.org and https://github.com/nexB/ for support and download.
# ScanCode is a trademark of nexB Inc.
Expand Down
81 changes: 70 additions & 11 deletions README.rst
@@ -1,16 +1,75 @@
Go-Inspector
go-inspector
================================

- To enable the GoReSym plugin, first you need to install goresym from https://github.com/mandiant/GoReSym/releases/download/v2.6.4/GoReSym.zip
- Unzip the GoReSym.zip, extract goresym for linux and add it in src/go_inspector/bin.
- then change it to executable ```chmod u+x src/go_inspector/bin/GoReSym_lin```
- Install requirements and dependencies using ```make dev```
- Use ```scancode --json-pp - --go-symbol <PATH> --verbose``` to get debug symbols.
go-inspector is a utility to extract dependencies and symbols from Go binaries.
It is desigend to work as a ScanCode Toolkit plugin.

To install and use:

How to generate test binaries
============================
- Run ``pip install go-inspector``
- Use with ``scancode --json-pp - --go-symbol --verbose <PATH to a tree or file with Go binaries>``

- Run `go tool dist list` to get all possible pairs of OSes and arches to compile the binary.
- Then use a OS/arch pair like this ``GOOS=<OS> GOARCH=<arch> go build -o ./tests/data/app_exe ./tests/data/main.go``
to get compiled binary.
The JSON output will contain various dependencies and symbols found in Go binaries if any.


- License: Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang
- Copyright (c) nexB Inc., Mandiant, The Go Authors, Elliot Chance and others
- Homepage: https://github.com/nexB/go-inspector/

See the src/go_inspector/bin for detailed license and credits for bundled third-party packages.


Development
----------------

- Install requirements and dependencies using ``make dev``
- Then ``source venv/bin/activate``

Testing:

- To run tests: ``pytest -vvs``
- To regen test fixtures: ``SCANCODE_REGEN_TEST_FIXTURES=yes pytest -vvs``
- To update the bundled GoReSym, see src/bin/update.sh


How to re-generate test binaries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

These are compiled (and committed) from code in tests/data/basic :

- Run ``go tool dist list`` to get all possible pairs of OSes and arches to compile the binary.
- Then build a OS/arch pair like this to get compiled binaries:
``GOOS=<OS> GOARCH=<arch> go build -o ./tests/data/basic/app_<OS>_exe ./tests/data/main.go``
- Make a copy and run strip of the Linux executable as "app_lin_exe_stripped"


Funding and sponsoring
---------------------------

This project is funded in part through:

- NGI0 Entrust https://nlnet.nl/entrust, a fund established by NLnet with
financial support from the European Commission's Next Generation Internet https://ngi.eu program.
Learn more at the NLnet project page https://nlnet.nl/purl2all.

|nlnet| and |ngi0entrust|

- Support from nexB Inc. |nexb|

- Generous support from users like you!


.. |nlnet| image:: https://nlnet.nl/logo/banner.png
:target: https://nlnet.nl
:width: 20%
:alt: NLnet foundation logo

.. |ngi0entrust| image:: https://nlnet.nl/image/logos/NGI0_tag.svg
:target: https://nlnet.nl/entrust
:width: 20%
:alt: NGI Zero Logo

.. |nexb| image:: https://nexb.com/wp-content/uploads/2022/04/nexB.svg
:target: https://nexb.com
:width: 20%
:alt: nexB logo
14 changes: 7 additions & 7 deletions azure-pipelines.yml
Expand Up @@ -11,54 +11,54 @@ jobs:
parameters:
job_name: ubuntu20_cpython
image_name: ubuntu-20.04
python_versions: ['3.8', '3.9', '3.10', '3.11']
python_versions: ['3.8', '3.9', '3.10', '3.11', '3.12']
test_suites:
all: venv/bin/pytest -n 2 -vvs

- template: etc/ci/azure-posix.yml
parameters:
job_name: ubuntu22_cpython
image_name: ubuntu-22.04
python_versions: ['3.8', '3.9', '3.10', '3.11']
python_versions: ['3.8', '3.9', '3.10', '3.11', '3.12']
test_suites:
all: venv/bin/pytest -n 2 -vvs

# - template: etc/ci/azure-posix.yml
# parameters:
# job_name: macos11_cpython
# image_name: macOS-11
# python_versions: ['3.8', '3.9', '3.10', '3.11']
# python_versions: ['3.8', '3.9', '3.10', '3.11', '3.12']
# test_suites:
# all: venv/bin/pytest -n 2 -vvs

# - template: etc/ci/azure-posix.yml
# parameters:
# job_name: macos12_cpython
# image_name: macOS-12
# python_versions: ['3.8', '3.9', '3.10', '3.11']
# python_versions: ['3.8', '3.9', '3.10', '3.11', '3.12']
# test_suites:
# all: venv/bin/pytest -n 2 -vvs

# - template: etc/ci/azure-posix.yml
# parameters:
# job_name: macos13_cpython
# image_name: macOS-13
# python_versions: ['3.8', '3.9', '3.10', '3.11']
# python_versions: ['3.8', '3.9', '3.10', '3.11', '3.12']
# test_suites:
# all: venv/bin/pytest -n 2 -vvs

# - template: etc/ci/azure-win.yml
# parameters:
# job_name: win2019_cpython
# image_name: windows-2019
# python_versions: ['3.8', '3.9', '3.10', '3.11']
# python_versions: ['3.8', '3.9', '3.10', '3.11', '3.12']
# test_suites:
# all: venv\Scripts\pytest -n 2 -vvs

# - template: etc/ci/azure-win.yml
# parameters:
# job_name: win2022_cpython
# image_name: windows-2022
# python_versions: ['3.8', '3.9', '3.10', '3.11']
# python_versions: ['3.8', '3.9', '3.10', '3.11', '3.12']
# test_suites:
# all: venv\Scripts\pytest -n 2 -vvs
14 changes: 6 additions & 8 deletions setup.cfg
@@ -1,12 +1,12 @@
[metadata]
name = skeleton
license = Apache-2.0
name = go-inspector
license = Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang

# description must be on ONE line https://github.com/pypa/setuptools/issues/1390
description = skeleton
description = go-inspector is a scancode plugin to extract symbols and dependencies found in Go binaries.
long_description = file:README.rst
long_description_content_type = text/x-rst
url = https://github.com/nexB/skeleton
url = https://github.com/nexB/go-inspector

author = nexB. Inc. and others
author_email = info@aboutcode.org
Expand Down Expand Up @@ -38,14 +38,13 @@ zip_safe = false

setup_requires = setuptools_scm[toml] >= 4

python_requires = >=3.7
python_requires = >=3.8

install_requires =
commoncode
plugincode
scancode-toolkit
typecode
commoncode
importlib-metadata

[options.entry_points]

Expand Down Expand Up @@ -74,4 +73,3 @@ docs =
sphinx-autobuild
sphinx-rtd-dark-mode>=1.3.0
sphinx-copybutton

3 changes: 1 addition & 2 deletions src/go_inspector/__init__.py
@@ -1,2 +1 @@

__version__ = "0.1.0"
__version__ = "0.2.0"

0 comments on commit 8deb22d

Please sign in to comment.