Project

General

Profile

The swidGenerator Tool » History » Version 5

Andreas Steffen, 10.04.2014 15:26

1 1 Andreas Steffen
h1. The swidGenerator Tool
2 1 Andreas Steffen
3 5 Andreas Steffen
{{>toc}}
4 5 Andreas Steffen
5 1 Andreas Steffen
"swidGenerator":https://github.com/tnc-ba/swidGenerator is an open source python-based tool written by the HSR students Danilo Bargen, Christian Fässler and Jonas Furrer which is able to generate ISO/IEC 1977-2-2014 Software Identification (SWID) tags for all installed software packages installed by the Linux *dpkg* and *yum* packet managers.
6 1 Andreas Steffen
7 1 Andreas Steffen
h2. Installation
8 1 Andreas Steffen
9 2 Andreas Steffen
h3. Download
10 2 Andreas Steffen
11 2 Andreas Steffen
Next download the latest swidGenerator tarball from https://github.com/tnc-ba/swidGenerator/archive/master.zip and unpack the archive with the command
12 1 Andreas Steffen
<pre>
13 2 Andreas Steffen
unzip swidGenerator-master.zip
14 1 Andreas Steffen
</pre>
15 1 Andreas Steffen
16 2 Andreas Steffen
h3. Required Packages under Debian or Ubuntu
17 1 Andreas Steffen
18 1 Andreas Steffen
Make sure that the *python* and *python-setuptools* are present on your system. Otherwise install them with
19 1 Andreas Steffen
<pre>
20 1 Andreas Steffen
sudo apt-get install python python-setuptools
21 1 Andreas Steffen
</pre>
22 1 Andreas Steffen
23 2 Andreas Steffen
h3. Required Packages under Fedora or RedHat Enterprise Linux
24 2 Andreas Steffen
25 2 Andreas Steffen
h3. Installation
26 2 Andreas Steffen
27 2 Andreas Steffen
Change into the unpacked archive and execute the command
28 2 Andreas Steffen
<pre>
29 2 Andreas Steffen
sudo python setup.py install
30 2 Andreas Steffen
</pre>
31 2 Andreas Steffen
and the *swid_generator* function usually installed in */usr/local/bin* becomes available.
32 1 Andreas Steffen
33 3 Andreas Steffen
h2. Usage
34 3 Andreas Steffen
35 3 Andreas Steffen
h3. Generate Software IDs
36 3 Andreas Steffen
37 3 Andreas Steffen
The command
38 3 Andreas Steffen
<pre>
39 3 Andreas Steffen
swid_generator software-id
40 3 Andreas Steffen
</pre>
41 3 Andreas Steffen
creates a list of Unique Software Identifications of the form
42 3 Andreas Steffen
<pre>
43 3 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-acpi-support-base-0.140-5
44 3 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1
45 3 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-adduser-3.113+nmu3
46 3 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-apache2-2.2.22-13+deb7u1
47 3 Andreas Steffen
...
48 3 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-xz-utils-5.1.1alpha+20120614-2
49 3 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-zlib1g-1:1.2.7.dfsg-13
50 3 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-zlib1g-dev-1:1.2.7.dfsg-13
51 3 Andreas Steffen
</pre>
52 3 Andreas Steffen
By default the *regid.2004-03.org.strongswan* regid is used as the tagcreator.
53 3 Andreas Steffen
54 4 Andreas Steffen
With the *--regid <tagcreator>* option an arbitrary regid can be configured
55 3 Andreas Steffen
<pre>
56 1 Andreas Steffen
swid_generator software-id --regid regid.1999-03.org.debian
57 5 Andreas Steffen
</pre>
58 5 Andreas Steffen
which generates the list
59 5 Andreas Steffen
<pre>
60 1 Andreas Steffen
regid.1999-03.org.debian_debian_7.4-x86_64-acpi-support-base-0.140-5
61 5 Andreas Steffen
regid.1999-03.org.debian_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1
62 1 Andreas Steffen
...
63 5 Andreas Steffen
regid.1999-03.org.debian_debian_7.4-x86_64-zlib1g-1:1.2.7.dfsg-13
64 1 Andreas Steffen
regid.1999-03.org.debian_debian_7.4-x86_64-zlib1g-dev-1:1.2.7.dfsg-13
65 1 Andreas Steffen
</pre>
66 5 Andreas Steffen
67 5 Andreas Steffen
The *--doc-separator* option allows to define a single character or a character string separating the individual Software IDs.
68 5 Andreas Steffen
69 5 Andreas Steffen
 * --doc-separator '@'
70 5 Andreas Steffen
<pre>regid.2004-03.org.strongswan_debian_7.4-x86_64-acpi-support-base-0.140-5@regid.2004-03.org.strongswan_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1@...</pre>
71 5 Andreas Steffen
72 5 Andreas Steffen
 * --doc-separator '::'
73 5 Andreas Steffen
<pre>regid.2004-03.org.strongswan_debian_7.4-x86_64-acpi-support-base-0.140-5::regid.2004-03.org.strongswan_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1::...</pre>
74 5 Andreas Steffen
75 5 Andreas Steffen
 * --doc-separator $'\n'
76 5 Andreas Steffen
<pre>
77 5 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-acpi-support-base-0.140-5
78 5 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1
79 5 Andreas Steffen
...
80 5 Andreas Steffen
</pre>
81 5 Andreas Steffen
82 5 Andreas Steffen
* --doc-separator $'\n\n'   (which is currently the default)
83 5 Andreas Steffen
<pre>
84 5 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-acpi-support-base-0.140-5
85 5 Andreas Steffen
86 5 Andreas Steffen
regid.2004-03.org.strongswan_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1
87 5 Andreas Steffen
88 5 Andreas Steffen
...
89 5 Andreas Steffen
</pre>
90 5 Andreas Steffen
91 3 Andreas Steffen
92 3 Andreas Steffen
h3 Generate SWID Tags