ossa-scanner 0.1.45__py3-none-any.whl → 0.1.47__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ossa_scanner/__init__.py +1 -1
- ossa_scanner/scanner.py +0 -1
- ossa_scanner/utils/downloader.py +7 -9
- ossa_scanner/utils/package_manager.py +0 -5
- {ossa_scanner-0.1.45.dist-info → ossa_scanner-0.1.47.dist-info}/METADATA +1 -1
- ossa_scanner-0.1.47.dist-info/RECORD +16 -0
- ossa_scanner-0.1.45.dist-info/RECORD +0 -16
- {ossa_scanner-0.1.45.dist-info → ossa_scanner-0.1.47.dist-info}/LICENSE +0 -0
- {ossa_scanner-0.1.45.dist-info → ossa_scanner-0.1.47.dist-info}/WHEEL +0 -0
- {ossa_scanner-0.1.45.dist-info → ossa_scanner-0.1.47.dist-info}/entry_points.txt +0 -0
- {ossa_scanner-0.1.45.dist-info → ossa_scanner-0.1.47.dist-info}/top_level.txt +0 -0
ossa_scanner/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.1.
|
1
|
+
__version__ = "0.1.47"
|
ossa_scanner/scanner.py
CHANGED
@@ -26,7 +26,6 @@ class Scanner:
|
|
26
26
|
try:
|
27
27
|
print(f"Processing package: {package}")
|
28
28
|
package_info = get_package_info(self.pm_type, package, self.temp_dir)
|
29
|
-
exit()
|
30
29
|
source_files = download_source(self.pm_type, package, self.temp_dir)
|
31
30
|
self.save_package_report(package, package_info, source_files)
|
32
31
|
except Exception as e:
|
ossa_scanner/utils/downloader.py
CHANGED
@@ -19,15 +19,13 @@ def cleanup_extracted_files(folder_path):
|
|
19
19
|
def download_source(package_manager, package_name, output_dir):
|
20
20
|
try:
|
21
21
|
if package_manager == 'apt':
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
print(f"Source package for {package_name} not found in {package_name}.")
|
30
|
-
return
|
22
|
+
p_hash = hash(package_name) % 10000
|
23
|
+
src_output_dir = os.path.join(output_dir, str(p_hash))
|
24
|
+
os.makedirs(src_output_dir, exist_ok=True)
|
25
|
+
cmd = ['apt-get', 'source', package_name]
|
26
|
+
subprocess.run(cmd, check=True, cwd=src_output_dir, capture_output=True, text=True)
|
27
|
+
tarballs = [os.path.join(src_output_dir, f) for f in os.listdir(src_output_dir) if f.endswith((".tar.gz", ".tar.bz2", ".tar.xz", ".tgz"))]
|
28
|
+
print('tarballs:', tarballs)
|
31
29
|
exit()
|
32
30
|
elif package_manager in ['yum', 'dnf']:
|
33
31
|
p_hash = hash(package_name) % 10000
|
@@ -142,13 +142,10 @@ def parse_apt_info(output, package_name, output_dir):
|
|
142
142
|
|
143
143
|
if "licenses" not in info:
|
144
144
|
info["licenses"] = apt_get_license_from_source(package_name, output_dir)
|
145
|
-
print(package_name, info["licenses"])
|
146
145
|
if "licenses" in info:
|
147
146
|
info["licenses"] = extract_spdx_ids(info["licenses"])
|
148
147
|
info["severity"] = license_classificaton(info["licenses"])
|
149
148
|
|
150
|
-
print(package_name, output_dir, info)
|
151
|
-
|
152
149
|
# Ensure all keys are present even if data is missing
|
153
150
|
return {
|
154
151
|
"licenses": info.get("licenses", "NOASSERTION"),
|
@@ -162,13 +159,11 @@ def apt_get_license_from_source(package_name, output_dir):
|
|
162
159
|
p_hash = hash(package_name) % 10000
|
163
160
|
src_output_dir = os.path.join(output_dir, str(p_hash))
|
164
161
|
os.makedirs(src_output_dir, exist_ok=True)
|
165
|
-
print(package_name, 'cwd:', src_output_dir)
|
166
162
|
cmd = ['apt-get', 'source', package_name]
|
167
163
|
subprocess.run(cmd, check=True, cwd=src_output_dir, capture_output=True, text=True)
|
168
164
|
for item in os.listdir(src_output_dir):
|
169
165
|
path = os.path.join(src_output_dir, item)
|
170
166
|
if item.startswith(package_name) and os.path.isdir(path):
|
171
|
-
print(f"{item} → Directory")
|
172
167
|
package_dir = path
|
173
168
|
elif item.startswith(package_name):
|
174
169
|
shutil.rmtree(path, ignore_errors=True)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
ossa_scanner/__init__.py,sha256=BqdH88p7_x5NtwJCtqUPLKt1fAJF1mVKUoKH7vlX5dQ,23
|
2
|
+
ossa_scanner/cli.py,sha256=sgr8NFpf_Ut84KYFQjOKRxv8CfAMaTPhMo7DbR53lT4,2311
|
3
|
+
ossa_scanner/scanner.py,sha256=P_pouAPLMWUq_tjiwDyBYvs6cnXDs5VHB8305ui2VHI,4802
|
4
|
+
ossa_scanner/uploader.py,sha256=dPbhSLlQcDyHP-6Ugn6BzYGn_VQ1Ik6TWt2138k3REo,1837
|
5
|
+
ossa_scanner/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
+
ossa_scanner/utils/downloader.py,sha256=w4HT_3azkWB5hpfHvG5Yjhq_xCRxHuGwYIZLAeNV6uU,5745
|
7
|
+
ossa_scanner/utils/hash_calculator.py,sha256=LrDKngWOPbizYJWab2sDJDLB4pD_RrI51L0cZt3VjJY,960
|
8
|
+
ossa_scanner/utils/os_detection.py,sha256=35VbUbFklzd7aojgltKf2PxbnVFcpREA7Tri2YI5nfY,417
|
9
|
+
ossa_scanner/utils/package_manager.py,sha256=0Gvyx0deX4aWNQ9TpxAl55_RKL9NUMeKWPocbHIYpJE,8829
|
10
|
+
ossa_scanner/utils/swhid_calculator.py,sha256=7-bO4RglJr-kt5SjUfnlcPZD0k0-s_dveHEjRo-zEMc,1317
|
11
|
+
ossa_scanner-0.1.47.dist-info/LICENSE,sha256=9slQ_XNiEkio28l90NwihP7a90fCL2GQ6YhcVXTBls4,1064
|
12
|
+
ossa_scanner-0.1.47.dist-info/METADATA,sha256=cp0WdGJHUG-yIzAMLfkNWoCDJciYS4BNsbbaswbFDk0,1938
|
13
|
+
ossa_scanner-0.1.47.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
14
|
+
ossa_scanner-0.1.47.dist-info/entry_points.txt,sha256=UVoAo-wTPxT82g3cfqTs2CmQnazd57TAwhd9VwEKD1c,55
|
15
|
+
ossa_scanner-0.1.47.dist-info/top_level.txt,sha256=uUp5CvhZfJLapXn9DyUXvgH7QK3uzF2ibH943lWN5Bs,13
|
16
|
+
ossa_scanner-0.1.47.dist-info/RECORD,,
|
@@ -1,16 +0,0 @@
|
|
1
|
-
ossa_scanner/__init__.py,sha256=G1Bw5SEeRoSlHVxmFKf6PIpK38SHTYTFhSFGm9d8YQM,23
|
2
|
-
ossa_scanner/cli.py,sha256=sgr8NFpf_Ut84KYFQjOKRxv8CfAMaTPhMo7DbR53lT4,2311
|
3
|
-
ossa_scanner/scanner.py,sha256=4VfkM2h-Y1zFQnqdBxpav5OhRoTdjdmFbF5VOXKKoXU,4821
|
4
|
-
ossa_scanner/uploader.py,sha256=dPbhSLlQcDyHP-6Ugn6BzYGn_VQ1Ik6TWt2138k3REo,1837
|
5
|
-
ossa_scanner/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
|
-
ossa_scanner/utils/downloader.py,sha256=AGRhJU9YducTe6mY5-7mZ4fRTFg2tcfz1DS0Nee-wM0,5693
|
7
|
-
ossa_scanner/utils/hash_calculator.py,sha256=LrDKngWOPbizYJWab2sDJDLB4pD_RrI51L0cZt3VjJY,960
|
8
|
-
ossa_scanner/utils/os_detection.py,sha256=35VbUbFklzd7aojgltKf2PxbnVFcpREA7Tri2YI5nfY,417
|
9
|
-
ossa_scanner/utils/package_manager.py,sha256=kQ293LbJ1Jb-tzpeWpgLOmmjFd9Z4SK8fY96l7OS1CQ,9017
|
10
|
-
ossa_scanner/utils/swhid_calculator.py,sha256=7-bO4RglJr-kt5SjUfnlcPZD0k0-s_dveHEjRo-zEMc,1317
|
11
|
-
ossa_scanner-0.1.45.dist-info/LICENSE,sha256=9slQ_XNiEkio28l90NwihP7a90fCL2GQ6YhcVXTBls4,1064
|
12
|
-
ossa_scanner-0.1.45.dist-info/METADATA,sha256=wxBVtOWzMn7MGHTHyAHclJ_gOPYT13JracJyYBqkLrM,1938
|
13
|
-
ossa_scanner-0.1.45.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
14
|
-
ossa_scanner-0.1.45.dist-info/entry_points.txt,sha256=UVoAo-wTPxT82g3cfqTs2CmQnazd57TAwhd9VwEKD1c,55
|
15
|
-
ossa_scanner-0.1.45.dist-info/top_level.txt,sha256=uUp5CvhZfJLapXn9DyUXvgH7QK3uzF2ibH943lWN5Bs,13
|
16
|
-
ossa_scanner-0.1.45.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|