Skip to content

Commit 08aa847

Browse files
committed
Update doc for release
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
1 parent 1074c50 commit 08aa847

File tree

3 files changed

+114
-8
lines changed

3 files changed

+114
-8
lines changed

AUTHORS.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ The following organizations or individuals have contributed to this repo:
22

33
- Abhishek Kumar @Abhishek-Dev09
44
- AlexB @a-tinsmith
5+
- Konrad Weihmann @priv-kweihmann
56
- Maximilian Huber @maxhbr
67
- Michael Rupprecht @michaelrup
78
- Philippe Ombredanne @pombredanne
9+
- Pierre Tardy @tardyp
810
- Qingmin Duanmu @qduanmu
911
- Rakesh Balusa @balusarakesh
1012
- Ravi Jain @JRavi2
11-
- Steven Esser @majurg
13+
- Steven Esser @majurg

CHANGELOG.rst

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,47 @@ Changelog
44
v (next)
55
--------
66

7-
- Add support for VMDK, QCOW and VDI VM image filesystems extraction
7+
8+
v21.5.31
9+
--------
10+
11+
- Add support for VMDK, QCOW and VDI VM image filesystems extraction
12+
- Add new configuration mechanism to get third-party binary paths:
13+
14+
- Use an environment variable
15+
- Or use a plugin-provided path
16+
- Or use well-known system installation locations
17+
- Or use the system PATH
18+
- Or fail with an informative error message
19+
20+
- Update to use latest skeleton
21+
22+
23+
v2021-2-24
24+
----------
25+
26+
- Fix incorrect documentation link
27+
28+
29+
v2021-1-21
30+
----------
31+
32+
- Fix bug related to CommonCode libraries loading
33+
- Improve the extra requirements
34+
- Set minimum version for dependencies
35+
- Improve documentation
36+
- Reorganize tests files
37+
38+
39+
v2021-1-15
40+
----------
41+
42+
- Drop support for Python 2
43+
- Use the latest CommonCode and TypeCode libraries
44+
- Add azure-pipelines CI support
845

946

1047
v20.10
1148
------
1249

13-
- Initial release as a split from ScanCode toolkit
50+
- Initial release as a split from ScanCode toolkit

README.rst

Lines changed: 72 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ ExtractCode
44
- license: Apache-2.0
55
- copyright: copyright (c) nexB. Inc. and others
66
- homepage_url: https://github.com/nexB/extractcode
7-
- keywords: archive, extraction, libarchive, 7zip, scancode-toolkit
7+
- keywords: archive, extraction, libarchive, 7zip, scancode-toolkit, extractcode
88

99

1010
ExtractCode is a universal archive extractor. It uses behind the scenes
1111
multiple tools such as:
1212

13-
- the Python standard library,
13+
- the Python standard library,
1414
- a custom ctypes binding to libarchive,
15-
- the 7zip command line
16-
- optionally libguestfs on Linux
15+
- the 7zip command line, and
16+
- optionally libguestfs on Linux.
1717

1818
With these it is possible to extract a large number of common and
1919

@@ -28,17 +28,84 @@ binding to libmagic) to select the most appropriate extractor or
2828
decompressor function. It can handle multi-level archives such as tar.gz and
2929
can extract recursively nested archives.
3030

31-
3231
Visit https://aboutcode.org and https://github.com/nexB/ for support and download.
3332

33+
We run CI tests on:
34+
35+
- Azure pipelines https://dev.azure.com/nexB/extractcode/_build
36+
37+
We run CI tests on:
38+
39+
- Azure pipelines https://dev.azure.com/nexB/extractcode/_build
40+
41+
To install this package with its full capability (where the binaries for
42+
7zip and libarchive are installed), use the `full` option::
43+
44+
pip install extractcode[full]
45+
46+
If you want to use the version of binaries (possibly) provided by your operating
47+
system, use the `minimal` option::
48+
49+
pip install extractcode
50+
51+
In this case, you will need to provide a working libarchive and 7zip
52+
available in one of these ways:
53+
54+
- **a typecode-libarchive and typecode-7z plugin**: See the standard ones at
55+
https://github.com/nexB/scancode-plugins/tree/main/builtins
56+
These can either bundle a libarchive library, a 7z executable or expose a
57+
system-installed libraries.
58+
It does so by providing plugin entry points as ``scancode_location_provider``
59+
for ``extractcode_libarchive`` that should point to a ``LocationProviderPlugin``
60+
subclass with a ``get_locations()`` method that must return a mapping with this key:
61+
62+
- 'extractcode.libarchive.dll': the absolute path to a libarchive DLL
63+
64+
See for example:
65+
66+
- https://github.com/nexB/scancode-plugins/blob/4da5fe8a5ab1c87b9b4af9e54d7ad60e289747f5/builtins/extractcode_libarchive-linux/setup.py#L40
67+
- https://github.com/nexB/scancode-plugins/blob/4da5fe8a5ab1c87b9b4af9e54d7ad60e289747f5/builtins/extractcode_libarchive-linux/src/extractcode_libarchive/__init__.py#L17
68+
69+
And the ``scancode_location_provider`` for ``extractcode_7zip`` should point
70+
to a ``LocationProviderPlugin`` subclass with a ``get_locations()`` method that must
71+
return a mapping with this key:
72+
73+
- 'extractcode.sevenzip.exe': the absolute path to a 7zip executable
74+
75+
See for example:
76+
77+
- https://github.com/nexB/scancode-plugins/blob/4da5fe8a5ab1c87b9b4af9e54d7ad60e289747f5/builtins/extractcode_7z-linux/setup.py#L40
78+
- https://github.com/nexB/scancode-plugins/blob/4da5fe8a5ab1c87b9b4af9e54d7ad60e289747f5/builtins/extractcode_7z-linux/src/extractcode_7z/__init__.py#L18
79+
80+
- **environment variables**:
81+
82+
- EXTRACTCODE_LIBARCHIVE_PATH: the absolute path to a libarchive DLL
83+
- EXTRACTCODE_7Z_PATH: the absolute path to a 7zip executable
84+
85+
86+
- **a system-installed libarchive and 7zip executable in the system PATH**:
87+
88+
89+
The supported versions are:
90+
91+
- libarchive 3.5.x
92+
- 7zip 16.5.x
93+
94+
95+
Development
96+
-----------
97+
98+
3499
To set up the development environment::
35100

36101
source configure
37102

103+
38104
To run unit tests::
39105

40106
pytest -vvs -n 2
41107

108+
42109
To clean up development environment::
43110

44111
./configure --clean

0 commit comments

Comments
 (0)