The swidGenerator Tool » History » Version 8
Andreas Steffen, 10.04.2014 15:52
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 | 6 | Andreas Steffen | You are going to need *yum-utils" |
28 | 6 | Andreas Steffen | <pre> |
29 | 6 | Andreas Steffen | sudo yum install yum-utils |
30 | 6 | Andreas Steffen | </pre> |
31 | 6 | Andreas Steffen | |
32 | 2 | Andreas Steffen | Change into the unpacked archive and execute the command |
33 | 2 | Andreas Steffen | <pre> |
34 | 2 | Andreas Steffen | sudo python setup.py install |
35 | 2 | Andreas Steffen | </pre> |
36 | 2 | Andreas Steffen | and the *swid_generator* function usually installed in */usr/local/bin* becomes available. |
37 | 1 | Andreas Steffen | |
38 | 3 | Andreas Steffen | h2. Usage |
39 | 3 | Andreas Steffen | |
40 | 3 | Andreas Steffen | h3. Generate Software IDs |
41 | 3 | Andreas Steffen | |
42 | 3 | Andreas Steffen | The command |
43 | 3 | Andreas Steffen | <pre> |
44 | 3 | Andreas Steffen | swid_generator software-id |
45 | 3 | Andreas Steffen | </pre> |
46 | 3 | Andreas Steffen | creates a list of Unique Software Identifications of the form |
47 | 3 | Andreas Steffen | <pre> |
48 | 3 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-acpi-support-base-0.140-5 |
49 | 3 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1 |
50 | 3 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-adduser-3.113+nmu3 |
51 | 3 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-apache2-2.2.22-13+deb7u1 |
52 | 3 | Andreas Steffen | ... |
53 | 3 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-xz-utils-5.1.1alpha+20120614-2 |
54 | 3 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-zlib1g-1:1.2.7.dfsg-13 |
55 | 3 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-zlib1g-dev-1:1.2.7.dfsg-13 |
56 | 3 | Andreas Steffen | </pre> |
57 | 3 | Andreas Steffen | By default the *regid.2004-03.org.strongswan* regid is used as the tagcreator. |
58 | 3 | Andreas Steffen | |
59 | 4 | Andreas Steffen | With the *--regid <tagcreator>* option an arbitrary regid can be configured |
60 | 3 | Andreas Steffen | <pre> |
61 | 1 | Andreas Steffen | swid_generator software-id --regid regid.1999-03.org.debian |
62 | 5 | Andreas Steffen | </pre> |
63 | 5 | Andreas Steffen | which generates the list |
64 | 5 | Andreas Steffen | <pre> |
65 | 1 | Andreas Steffen | regid.1999-03.org.debian_debian_7.4-x86_64-acpi-support-base-0.140-5 |
66 | 5 | Andreas Steffen | regid.1999-03.org.debian_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1 |
67 | 1 | Andreas Steffen | ... |
68 | 5 | Andreas Steffen | regid.1999-03.org.debian_debian_7.4-x86_64-zlib1g-1:1.2.7.dfsg-13 |
69 | 1 | Andreas Steffen | regid.1999-03.org.debian_debian_7.4-x86_64-zlib1g-dev-1:1.2.7.dfsg-13 |
70 | 5 | Andreas Steffen | </pre> |
71 | 5 | Andreas Steffen | |
72 | 5 | Andreas Steffen | The *--doc-separator* option allows to define a single character or a character string separating the individual Software IDs. |
73 | 1 | Andreas Steffen | |
74 | 6 | Andreas Steffen | * swid_generator software-id --doc-separator '@' |
75 | 1 | 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> |
76 | 5 | Andreas Steffen | |
77 | 6 | Andreas Steffen | * swid_generator software-id --doc-separator '::' |
78 | 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> |
79 | 5 | Andreas Steffen | |
80 | 6 | Andreas Steffen | * swid_generator software-id --doc-separator $'\n' |
81 | 5 | Andreas Steffen | <pre> |
82 | 5 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-acpi-support-base-0.140-5 |
83 | 1 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1 |
84 | 5 | Andreas Steffen | ... |
85 | 5 | Andreas Steffen | </pre> |
86 | 5 | Andreas Steffen | |
87 | 6 | Andreas Steffen | * swid_generator software-id --doc-separator $'\n\n' (which is currently the default) |
88 | 5 | Andreas Steffen | <pre> |
89 | 5 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-acpi-support-base-0.140-5 |
90 | 5 | Andreas Steffen | |
91 | 5 | Andreas Steffen | regid.2004-03.org.strongswan_debian_7.4-x86_64-acpid-1:2.0.16-1+deb7u1 |
92 | 1 | Andreas Steffen | |
93 | 1 | Andreas Steffen | ... |
94 | 1 | Andreas Steffen | </pre> |
95 | 1 | Andreas Steffen | |
96 | 7 | Andreas Steffen | h3. Generate SWID Tags |
97 | 6 | Andreas Steffen | |
98 | 6 | Andreas Steffen | The simple command |
99 | 6 | Andreas Steffen | <pre> |
100 | 6 | Andreas Steffen | swid_generator swid |
101 | 6 | Andreas Steffen | </pre> |
102 | 6 | Andreas Steffen | generates SWID tags for all installed packages |
103 | 6 | Andreas Steffen | |
104 | 6 | Andreas Steffen | <pre> |
105 | 6 | Andreas Steffen | <?xml version='1.0' encoding='UTF-8'?><SoftwareIdentity name="account-plugin-aim" uniqueId="Ubuntu_13.10-x86_64-account-plugin-aim-3.8.4-1ubuntu2" version="3.8.4-1ubuntu2" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"><Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator" /></SoftwareIdentity> |
106 | 6 | Andreas Steffen | |
107 | 6 | Andreas Steffen | <?xml version='1.0' encoding='UTF-8'?><SoftwareIdentity name="account-plugin-facebook" uniqueId="Ubuntu_13.10-x86_64-account-plugin-facebook-0.11+13.10.20130802-0ubuntu1" version="0.11+13.10.20130802-0ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"><Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator" /></SoftwareIdentity> |
108 | 6 | Andreas Steffen | |
109 | 6 | Andreas Steffen | ... |
110 | 6 | Andreas Steffen | |
111 | 6 | Andreas Steffen | <?xml version='1.0' encoding='UTF-8'?><SoftwareIdentity name="zlib1g" uniqueId="Ubuntu_13.10-x86_64-zlib1g-1:1.2.8.dfsg-1ubuntu1" version="1:1.2.8.dfsg-1ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"><Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator" /></SoftwareIdentity> |
112 | 6 | Andreas Steffen | |
113 | 6 | Andreas Steffen | <?xml version='1.0' encoding='UTF-8'?><SoftwareIdentity name="zlib1g-dev" uniqueId="Ubuntu_13.10-x86_64-zlib1g-dev-1:1.2.8.dfsg-1ubuntu1" version="1:1.2.8.dfsg-1ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"><Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator" /></SoftwareIdentity> |
114 | 6 | Andreas Steffen | </pre> |
115 | 6 | Andreas Steffen | |
116 | 6 | Andreas Steffen | or with |
117 | 6 | Andreas Steffen | <pre> |
118 | 6 | Andreas Steffen | swid_generator swid --doc-separator $'\n' |
119 | 6 | Andreas Steffen | </pre> |
120 | 6 | Andreas Steffen | the even more compact form |
121 | 6 | Andreas Steffen | <pre> |
122 | 6 | Andreas Steffen | <?xml version='1.0' encoding='UTF-8'?><SoftwareIdentity name="account-plugin-aim" uniqueId="Ubuntu_13.10-x86_64-account-plugin-aim-3.8.4-1ubuntu2" version="3.8.4-1ubuntu2" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"><Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator" /></SoftwareIdentity> |
123 | 6 | Andreas Steffen | <?xml version='1.0' encoding='UTF-8'?><SoftwareIdentity name="account-plugin-facebook" uniqueId="Ubuntu_13.10-x86_64-account-plugin-facebook-0.11+13.10.20130802-0ubuntu1" version="0.11+13.10.20130802-0ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"><Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator" /></SoftwareIdentity> |
124 | 6 | Andreas Steffen | ... |
125 | 6 | Andreas Steffen | <?xml version='1.0' encoding='UTF-8'?><SoftwareIdentity name="zlib1g" uniqueId="Ubuntu_13.10-x86_64-zlib1g-1:1.2.8.dfsg-1ubuntu1" version="1:1.2.8.dfsg-1ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"><Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator" /></SoftwareIdentity> |
126 | 6 | Andreas Steffen | <?xml version='1.0' encoding='UTF-8'?><SoftwareIdentity name="zlib1g-dev" uniqueId="Ubuntu_13.10-x86_64-zlib1g-dev-1:1.2.8.dfsg-1ubuntu1" version="1:1.2.8.dfsg-1ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"><Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator" /></SoftwareIdentity> |
127 | 6 | Andreas Steffen | </pre> |
128 | 6 | Andreas Steffen | |
129 | 7 | Andreas Steffen | Manual inspection of the SWID tags is facilitated by applying the pretty print option |
130 | 6 | Andreas Steffen | <pre> |
131 | 8 | Andreas Steffen | swid_generator swid --pretty --doc-separator $'\n' |
132 | 6 | Andreas Steffen | </pre> |
133 | 6 | Andreas Steffen | which generates |
134 | 6 | Andreas Steffen | <pre> |
135 | 6 | Andreas Steffen | <?xml version="1.0" encoding="UTF-8"?> |
136 | 6 | Andreas Steffen | <SoftwareIdentity name="account-plugin-aim" uniqueId="Ubuntu_13.10-x86_64-account-plugin-aim-3.8.4-1ubuntu2" version="3.8.4-1ubuntu2" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"> |
137 | 6 | Andreas Steffen | <Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator"/> |
138 | 6 | Andreas Steffen | </SoftwareIdentity> |
139 | 6 | Andreas Steffen | |
140 | 6 | Andreas Steffen | <?xml version="1.0" encoding="UTF-8"?> |
141 | 6 | Andreas Steffen | <SoftwareIdentity name="account-plugin-facebook" uniqueId="Ubuntu_13.10-x86_64-account-plugin-facebook-0.11+13.10.20130802-0ubuntu1" version="0.11+13.10.20130802-0ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"> |
142 | 6 | Andreas Steffen | <Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator"/> |
143 | 6 | Andreas Steffen | </SoftwareIdentity> |
144 | 6 | Andreas Steffen | |
145 | 6 | Andreas Steffen | ... |
146 | 6 | Andreas Steffen | |
147 | 6 | Andreas Steffen | <?xml version="1.0" encoding="UTF-8"?> |
148 | 6 | Andreas Steffen | <SoftwareIdentity name="zlib1g" uniqueId="Ubuntu_13.10-x86_64-zlib1g-1:1.2.8.dfsg-1ubuntu1" version="1:1.2.8.dfsg-1ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"> |
149 | 6 | Andreas Steffen | <Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator"/> |
150 | 6 | Andreas Steffen | </SoftwareIdentity> |
151 | 6 | Andreas Steffen | |
152 | 6 | Andreas Steffen | <?xml version="1.0" encoding="UTF-8"?> |
153 | 6 | Andreas Steffen | <SoftwareIdentity name="zlib1g-dev" uniqueId="Ubuntu_13.10-x86_64-zlib1g-dev-1:1.2.8.dfsg-1ubuntu1" version="1:1.2.8.dfsg-1ubuntu1" versionScheme="alphanumeric" xmlns="http://standards.iso.org/iso/19770/-2/2014/schema.xsd"> |
154 | 1 | Andreas Steffen | <Entity name="strongSwan" regid="regid.2004-03.org.strongswan" role="tagcreator"/> |
155 | 6 | Andreas Steffen | </SoftwareIdentity> |
156 | 6 | Andreas Steffen | </pre> |
157 | 7 | Andreas Steffen | For this example the output of the *dpkg* package manager on an Ubuntu 13.10 platform was used. |