Skip to content

Commit 96b2372

Browse files
committed
Updated configure scripts and basic documentation.
Bump to 2.0.1
1 parent 26ddd65 commit 96b2372

File tree

14 files changed

+541
-438
lines changed

14 files changed

+541
-438
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ lib64
99
/Lib
1010
/Scripts
1111
/include
12+
/local
1213

1314
# Installer logs
1415
pip-log.txt
@@ -29,4 +30,5 @@ nosetests.xml
2930

3031
# PyCharm project
3132
.idea/
32-
/about_code_tool.egg_info
33+
34+
/*.egg_info

README.rst

Lines changed: 130 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
ABOUT tool
2-
==========
1+
AboutCode tool
2+
==============
33

44
.. image:: https://api.travis-ci.org/dejacode/about-code-tool.png?branch=develop
55
:target: https://travis-ci.org/dejacode/about-code-tool
@@ -8,7 +8,7 @@ ABOUT tool
88
:target: https://coveralls.io/r/dejacode/about-code-tool?branch=develop
99

1010

11-
The ABOUT tool and ABOUT files provide a simple way to document the
11+
The AboutCode tool and ABOUT files provide a simple way to document the
1212
(origin and license) and other important or interesting information about
1313
third-party software components that you use in your project.
1414

@@ -19,66 +19,108 @@ For more information on the ABOUT file format, visit http://www.dejacode.org
1919
There are many examples of ABOUT files (valid or invalid) in the testdata/
2020
directory of the whole repository.
2121

22-
The current version of the ABOUT tool can read these ABOUT files so that you
22+
The current version of AboutCode can read these ABOUT files so that you
2323
can collect and validate the inventory of third-party components that you use.
2424

25-
In future versions, this tool will be able to generate attribution notices and
26-
collect redistributable source code used in your project to help you comply
27-
with open source licenses requirements.
25+
This version of AboutCode follows the ABOUT specification version 1.0.0 at:
26+
https://github.com/dejacode/about-code-tool/blob/master/SPEC
2827

29-
This version of the ABOUT tool follows the ABOUT specification version 0.8.1 at:
30-
http://www.dejacode.org/about_spec_v0.8.1.html
3128

29+
License
30+
-------
31+
AboutCode is released under the Apache 2.0 license.
32+
See (of course) the about.ABOUT file for details.
3233

33-
REQUIREMENTS
34+
35+
Requirements
3436
------------
35-
The ABOUT tool is tested with Python 2.6 or 2.7 on Linux, Mac and Windows.
36-
You will need to install a Python interpreter if you do not have one already
37-
installed.
37+
The AboutCode tool requires an installation Python 2.7 on Linux, Mac and Windows.
38+
You need to install Python if you do not have one already installed.
3839

3940
On Linux and Mac, Python is typically pre-installed. To verify which
4041
version may be pre-installed, open a terminal and type::
4142

4243
python --version
43-
python2.6 --version
4444
python2.7 --version
4545

46-
On Windows or Mac, you can download the latest Python 2.7.x here:
47-
https://www.python.org/downloads/
46+
On Linux, Python2.7 may be available from your distro package manager.
47+
48+
On Windows and Mac if version 2.7 is not installed, you can download the latest
49+
Python 2.7.x here https://www.python.org/downloads/ :
4850

49-
Download the .msi installer for Windows or the .dmg archive for Mac.
50-
Open and run the installer using all the default options.
51+
* Download the .msi installer for Windows or the .dmg archive for Mac.
52+
* Open and run the installer using all the default options.
53+
* On Windows, make sure you install Python in the default c:\Python27 and not
54+
on another drive.
5155

5256

53-
INSTALLATION
57+
Installation
5458
------------
55-
Checkout or download and extract the AboutCode tool from:
56-
https://github.com/dejacode/about-code-tool/
59+
Download the AboutCode tool from a released version at:
60+
https://github.com/dejacode/about-code-tool/releases
61+
62+
Extract the archive to a directory and open a command prompt or shell in this
63+
directory. Then on Linux or Mac run::
64+
65+
source configure
66+
67+
And on Windows::
5768

58-
To install all the needed dependencies in a virtualenv, run (on posix)::
59-
source configure
60-
or on windows::
6169
configure
6270

6371

64-
TESTS
65-
-----
66-
To verify that everything works fine you can run the test suite with::
67-
python setup.py test
72+
For instance on Linux the whole installation would be like this::
73+
74+
$ wget https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip
75+
$ unzip v2.0.0.zip
76+
$ cd about-code-tool-2.0.0/
77+
$ source configure
78+
79+
On Windows, the whole installation would be like this:
6880

81+
* Download and extract https://github.com/dejacode/about-code-tool/archive/v2.0.0.zip
82+
* open a command prompt and cd to the directory where the zip extraction directory
83+
* run configure
6984

70-
USAGE
85+
86+
87+
Later on, if opening a new shell or command prompt on an already installed
88+
AboutCode you need to **activate** this installation.
89+
90+
On Linux or Mac, run this::
91+
source bin/activate
92+
93+
On Windows, run this::
94+
bin\activate
95+
96+
97+
98+
Usage
7199
-----
72-
The ABOUT tool command syntax is:
100+
Once installed, the AboutCode tool is used from the command line.
101+
There are three scripts: about.py, genabout.py and genattrib.py.
102+
Once you have installed or activated AboutCode, the scripts are invoked from a
103+
shell or command prompt in this way::
104+
105+
$ python about_code_tool/about.py <options ....>
106+
107+
108+
See docs/UsingAboutCodetoDocumentYourSoftwareAssets.pdf for a detailed
109+
documentation and tutorial or read on the quick instructions below.
110+
73111

74-
**about.py**
112+
**Using the about.py script**
113+
114+
The about.py script is used to collect existing ABOUT files, validate that
115+
they are correct and collect inventories of the documented components in a CSV
116+
file.
75117

76118
::
77119

78120
Usage: about.py [options] input_path output_path
79121

80-
Input can be a file or directory.
81-
Output must be a file with a .csv extension.
122+
input_path can be a file or directory containing .ABOUT files.
123+
output_path is a file with a .csv extension.
82124

83125
Options:
84126
-h, --help Display help
@@ -92,20 +134,26 @@ The ABOUT tool command syntax is:
92134

93135
Example::
94136

95-
$ python about.py ./thirdparty_code/ thirdparty_about.csv
137+
$ python about_code_tool/about.py ./thirdparty/ thirdparty_about.csv
138+
96139

97-
In this example, the .ABOUT files in the directory /thirdparty_code/ will
140+
In this example, the .ABOUT files in the directory thirdparty/ will
98141
be parsed and validated to collect the data they contain. The collected
99142
information will be saved to the CSV file named "thirdparty_about.csv".
100143

101-
**genabout.py**
144+
145+
146+
**Using the genabout.py script**
147+
148+
The genabout.py script is used to generate new ABOUT files by using a CSV file
149+
as an input.
102150

103151
::
104152

105153
Usage: genabout.py [options] input_path output_path
106154
107-
Input must be a CSV file
108-
Output must be a directory location where the ABOUT files should be generated
155+
input_path is a CSV file using the same format as the CSV created with about.py
156+
output_path is a directory where the new .ABOUT files are generated
109157
110158
111159
Options:
@@ -131,39 +179,47 @@ information will be saved to the CSV file named "thirdparty_about.csv".
131179
Copy the 'license_text_file' from the directory to the generated location
132180
License path - License text files path
133181
134-
--mapping Configure the mapping key from the MAPPING.CONFIG
182+
--mapping Use the mapping between columns names in your CSV and the ABOUT field
183+
names as defined in the MAPPING.CONFIG mapping configuration file.
135184
136-
--extract_license=EXTRACT_LICENSE
185+
--extract_license
137186
Extract License text and create <license_key>.LICENSE side-by-side
138-
with the .ABOUT from DJE License Library.
139-
api_url - URL to the DJE License Library
140-
api_username - The regular DJE username
141-
api_key - Hash attached to your username which is used to authenticate
142-
yourself in the API. Contact us to get the hash key.
187+
with the generated .ABOUT file using data fetched from a DejaCode License Library.
188+
The following additional options are required:
189+
--api_url - URL to the DejaCode License Library API endpoint
190+
--api_username - DejaCode username
191+
--api_key - DejaCode API key for this username
143192
144193
Example syntax:
145-
genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key'
194+
python about_code_tool/genabout.py --extract_license --api_url='api_url' --api_username='api_username' --api_key='api_key'
146195

147196

148197
Example::
149198

150-
$ python genabout.py thirdparty_code.csv /tmp/thirdparty_about/
199+
$ mkdir tmp
200+
$ python about_code_tool/genabout.py thirdparty_code.csv tmp/thirdparty_about
151201

152-
In this example, the tool will look at the "thirdparty_code.csv" and generate
153-
the .ABOUT files in the directory /tmp/thirdparty_about/.
202+
In this example, the tool will use the list in the "thirdparty_code.csv" file
203+
and generate .ABOUT files in a directory tmp/thirdparty_about/
154204

155205

156-
**genattrib.py**
206+
207+
208+
**Using the genattrib.py script**
209+
210+
The genattrib.py script is used to generate a credit and license attribution
211+
documentation in HTML from a directory containing .ABOUT files.
157212

158213
::
159214

160215
Usage: genattrib.py [options] input_path output_path component_list
161-
162-
Input can be a file or directory.
163-
Output of rendered template must be a file (e.g. .html).
164-
Component List must be a .csv file which has at least an "about_file" column.
165-
166-
216+
217+
input can be a file or directory.
218+
output of rendered template must be a file (e.g. .html).
219+
component_list is an optional .csv file with an "about_file" column.
220+
It is used to limit the attribution generation to the subset of
221+
ABOUT files listed here.
222+
167223
Options:
168224
-h, --help Display help
169225
-v, --version Display current version, license notice, and copyright notice
@@ -181,7 +237,7 @@ the .ABOUT files in the directory /tmp/thirdparty_about/.
181237

182238
Example::
183239

184-
$ python genattrib.py /tmp/thirdparty_about/ /tmp/thirdparty_attribution/attribution.html thirdparty_code.csv
240+
$ python about_code_tool/genattrib.py tmp/thirdparty_about/ tmp/attribution.html thirdparty_code.csv
185241

186242
In this example, the tool will look at the .ABOUT files listed in the "thirdparty_code.csv"
187243
from the /tmp/thirdparty_about/ and then generate the attribution output to
@@ -190,7 +246,9 @@ from the /tmp/thirdparty_about/ and then generate the attribution output to
190246

191247
(See USAGE for a details explaining of each scripts and options.)
192248

193-
HELP and SUPPORT
249+
250+
251+
Help and Support
194252
----------------
195253
If you have a question or find a bug, enter a ticket at:
196254

@@ -201,19 +259,22 @@ For issues, you can use:
201259
https://github.com/dejacode/about-code-tool/issues
202260

203261

204-
SOURCE CODE
205-
-----------
206-
AboutCode is available through GitHub. For the latest version visit:
262+
Hacking, tests and source code
263+
------------------------------
264+
For the latest stable version visit::
265+
207266
https://github.com/dejacode/about-code-tool
208267

268+
The development takes places in the develop branch. We use the git flow
269+
branching model.
209270

210-
HACKING
211-
-------
212-
We accept pull requests provided under the same license as this tool.
213-
You agree to the http://developercertificate.org/
271+
**Tests**
214272

273+
You can run the test suite with::
274+
python setup.py test
215275

216-
LICENSE
217-
-------
218-
AboutCode is released under the Apache 2.0 license.
219-
See (of course) the about.ABOUT file for details.
276+
277+
**Contributing**
278+
We accept bugs, patches and pull requests for code and documentation provided
279+
under the same license (Apache-2.0) as this tool.
280+
When contributing, you are agreeing to the http://developercertificate.org/

about_code_tool/about.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
import ntpath
4747

4848

49-
__version__ = '2.0.0'
49+
__version__ = '2.0.1'
5050

5151
# See http://dejacode.org
5252
__about_spec_version__ = '1.0'

configure

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
11
#!/bin/bash
22
#
3-
# Copyright (c) 2014 nexB Inc. http://www.nexb.com/ - All rights reserved.
3+
# Copyright (c) 2015 nexB Inc. http://www.nexb.com/ - All rights reserved.
44
#
5+
################################
6+
# change these variables to customize this script locally
7+
################################
8+
# you can define one or more thirdparty dirs, each prefixed with TPP_DIR
9+
export TPP_DIR="thirdparty"
10+
11+
# default configurations
12+
CONF_DEFAULT="etc/conf"
13+
#################################
514

615
CFG_CMD_LINE_ARGS="$@"
716

17+
if [ "$1" == "--init" ]; then
18+
CFG_CMD_LINE_ARGS=$CONF_INIT
19+
fi
20+
821
if [ "$1" == "" ]; then
9-
# default configuration if not argument is provided
10-
CFG_CMD_LINE_ARGS="etc/conf"
22+
# default conf if not argument is provided
23+
CFG_CMD_LINE_ARGS=$CONF_DEFAULT
1124
fi
1225

13-
source etc/configure $CFG_CMD_LINE_ARGS
26+
python2.7 etc/configure.py $CFG_CMD_LINE_ARGS
27+
if [ -f "bin/activate" ]; then
28+
source bin/activate
29+
fi

0 commit comments

Comments
 (0)