ossa-scanner 0.1.35__py3-none-any.whl → 0.1.37__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 CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.35"
1
+ __version__ = "0.1.37"
ossa_scanner/scanner.py CHANGED
@@ -26,6 +26,7 @@ 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()
29
30
  source_files = download_source(self.pm_type, package, self.temp_dir)
30
31
  self.save_package_report(package, package_info, source_files)
31
32
  except Exception as e:
@@ -2,7 +2,7 @@ import subprocess
2
2
  import re
3
3
  import os
4
4
  import shutil
5
-
5
+ import glob
6
6
 
7
7
  def list_packages(package_manager):
8
8
  if package_manager == 'apt':
@@ -158,37 +158,25 @@ def parse_apt_info(output, package_name, output_dir):
158
158
  }
159
159
 
160
160
  def apt_get_license_from_source(package_name, output_dir):
161
- """Fetches source package and extracts license from debian/copyright."""
162
161
  p_hash = hash(package_name) % 10000
162
+ print('p_hash:', p_hash)
163
163
  output_dir = os.path.join(output_dir, str(p_hash))
164
164
  try:
165
- # Ensure output directory exists
166
- os.makedirs(output_dir, exist_ok=True)
167
-
168
- # Run apt-get source inside output_dir
169
- subprocess.run(["apt-get", "source", package_name], check=True, capture_output=True, text=True, cwd=output_dir)
170
-
171
- # Find the extracted source directory (since apt-get source doesn't always use package_name directly)
172
- source_dirs = glob.glob(os.path.join(output_dir, f"{package_name}-*")) # Wildcard match for versioned package dirs
165
+ subprocess.run(["apt-get", "source", package_name, '-d', output_dir], check=True, capture_output=True, text=True)
166
+ source_dirs = [d for d in os.listdir(output_dir) if d.startswith(package_name) and os.path.isdir(d)]
173
167
  if not source_dirs:
174
168
  return "NOASSERTION"
175
-
169
+ print(package_name, source_dirs)
176
170
  package_dir = source_dirs[0]
177
171
  copyright_file = os.path.join(package_dir, "debian", "copyright")
178
-
179
- # Extract license information
180
172
  licenses = []
181
173
  if os.path.exists(copyright_file):
182
174
  with open(copyright_file, "r", encoding="utf-8") as f:
183
175
  for line in f:
184
176
  if re.search(r"(?i)license:", line):
185
177
  licenses.append(line.split(":", 1)[1].strip())
186
-
187
- # Cleanup
188
178
  shutil.rmtree(output_dir, ignore_errors=True)
189
-
190
179
  return ", ".join(set(licenses)) if licenses else "NOASSERTION"
191
-
192
180
  except subprocess.CalledProcessError as e:
193
181
  print(f"Error fetching source package: {e}")
194
182
  return "NOASSERTION"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ossa_scanner
3
- Version: 0.1.35
3
+ Version: 0.1.37
4
4
  Summary: Open Source Software Advisory generator for Core and Base Linux Packages.
5
5
  Home-page: https://github.com/oscarvalenzuelab/ossa_scanner
6
6
  Author: Oscar Valenzuela
@@ -1,16 +1,16 @@
1
- ossa_scanner/__init__.py,sha256=ABqgofsnbWf7823vTBbZNQ81eKQbWwrVToAU6T3z-6s,23
1
+ ossa_scanner/__init__.py,sha256=fZtrhA5kKp_n3T2sxpEh-YEt3P1ZAtGrg_Xuu1JX3ZQ,23
2
2
  ossa_scanner/cli.py,sha256=sgr8NFpf_Ut84KYFQjOKRxv8CfAMaTPhMo7DbR53lT4,2311
3
- ossa_scanner/scanner.py,sha256=P_pouAPLMWUq_tjiwDyBYvs6cnXDs5VHB8305ui2VHI,4802
3
+ ossa_scanner/scanner.py,sha256=4VfkM2h-Y1zFQnqdBxpav5OhRoTdjdmFbF5VOXKKoXU,4821
4
4
  ossa_scanner/uploader.py,sha256=dPbhSLlQcDyHP-6Ugn6BzYGn_VQ1Ik6TWt2138k3REo,1837
5
5
  ossa_scanner/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  ossa_scanner/utils/downloader.py,sha256=AGRhJU9YducTe6mY5-7mZ4fRTFg2tcfz1DS0Nee-wM0,5693
7
7
  ossa_scanner/utils/hash_calculator.py,sha256=LrDKngWOPbizYJWab2sDJDLB4pD_RrI51L0cZt3VjJY,960
8
8
  ossa_scanner/utils/os_detection.py,sha256=35VbUbFklzd7aojgltKf2PxbnVFcpREA7Tri2YI5nfY,417
9
- ossa_scanner/utils/package_manager.py,sha256=yLeflIDHfM3prLLXDm7oA7GGpy5uV0XPBVsfKRFdEBE,9053
9
+ ossa_scanner/utils/package_manager.py,sha256=0oV5g5e0v6GBn-phEzjtDK8lYr1Y_F-O1ohnMY8WlFE,8736
10
10
  ossa_scanner/utils/swhid_calculator.py,sha256=7-bO4RglJr-kt5SjUfnlcPZD0k0-s_dveHEjRo-zEMc,1317
11
- ossa_scanner-0.1.35.dist-info/LICENSE,sha256=9slQ_XNiEkio28l90NwihP7a90fCL2GQ6YhcVXTBls4,1064
12
- ossa_scanner-0.1.35.dist-info/METADATA,sha256=Gs9hHYLoQbCO-MMloS8dxCzmsNEx563wtZ4T4OgNRKM,1938
13
- ossa_scanner-0.1.35.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
14
- ossa_scanner-0.1.35.dist-info/entry_points.txt,sha256=UVoAo-wTPxT82g3cfqTs2CmQnazd57TAwhd9VwEKD1c,55
15
- ossa_scanner-0.1.35.dist-info/top_level.txt,sha256=uUp5CvhZfJLapXn9DyUXvgH7QK3uzF2ibH943lWN5Bs,13
16
- ossa_scanner-0.1.35.dist-info/RECORD,,
11
+ ossa_scanner-0.1.37.dist-info/LICENSE,sha256=9slQ_XNiEkio28l90NwihP7a90fCL2GQ6YhcVXTBls4,1064
12
+ ossa_scanner-0.1.37.dist-info/METADATA,sha256=1ArwCv6tEGhpbb_pY0_6pRM3Pkh7YMqxZgcyfHX04TI,1938
13
+ ossa_scanner-0.1.37.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
14
+ ossa_scanner-0.1.37.dist-info/entry_points.txt,sha256=UVoAo-wTPxT82g3cfqTs2CmQnazd57TAwhd9VwEKD1c,55
15
+ ossa_scanner-0.1.37.dist-info/top_level.txt,sha256=uUp5CvhZfJLapXn9DyUXvgH7QK3uzF2ibH943lWN5Bs,13
16
+ ossa_scanner-0.1.37.dist-info/RECORD,,