ossa-scanner 0.1.35__tar.gz → 0.1.36__tar.gz

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.
Files changed (22) hide show
  1. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/PKG-INFO +1 -1
  2. ossa_scanner-0.1.36/ossa_scanner/__init__.py +1 -0
  3. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/scanner.py +1 -0
  4. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/utils/package_manager.py +4 -17
  5. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner.egg-info/PKG-INFO +1 -1
  6. ossa_scanner-0.1.35/ossa_scanner/__init__.py +0 -1
  7. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/LICENSE +0 -0
  8. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/README.md +0 -0
  9. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/cli.py +0 -0
  10. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/uploader.py +0 -0
  11. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/utils/__init__.py +0 -0
  12. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/utils/downloader.py +0 -0
  13. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/utils/hash_calculator.py +0 -0
  14. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/utils/os_detection.py +0 -0
  15. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner/utils/swhid_calculator.py +0 -0
  16. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner.egg-info/SOURCES.txt +0 -0
  17. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner.egg-info/dependency_links.txt +0 -0
  18. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner.egg-info/entry_points.txt +0 -0
  19. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner.egg-info/requires.txt +0 -0
  20. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/ossa_scanner.egg-info/top_level.txt +0 -0
  21. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/setup.cfg +0 -0
  22. {ossa_scanner-0.1.35 → ossa_scanner-0.1.36}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ossa_scanner
3
- Version: 0.1.35
3
+ Version: 0.1.36
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
@@ -0,0 +1 @@
1
+ __version__ = "0.1.36"
@@ -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,24 @@ 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
163
162
  output_dir = os.path.join(output_dir, str(p_hash))
164
163
  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
164
+ subprocess.run(["apt-get", "source", package_name, '-d', output_dir], check=True, capture_output=True, text=True)
165
+ source_dirs = [d for d in os.listdir(output_dir) if d.startswith(package_name) and os.path.isdir(d)]
173
166
  if not source_dirs:
174
167
  return "NOASSERTION"
175
-
168
+ print(package_name, source_dirs)
176
169
  package_dir = source_dirs[0]
177
170
  copyright_file = os.path.join(package_dir, "debian", "copyright")
178
-
179
- # Extract license information
180
171
  licenses = []
181
172
  if os.path.exists(copyright_file):
182
173
  with open(copyright_file, "r", encoding="utf-8") as f:
183
174
  for line in f:
184
175
  if re.search(r"(?i)license:", line):
185
176
  licenses.append(line.split(":", 1)[1].strip())
186
-
187
- # Cleanup
188
177
  shutil.rmtree(output_dir, ignore_errors=True)
189
-
190
178
  return ", ".join(set(licenses)) if licenses else "NOASSERTION"
191
-
192
179
  except subprocess.CalledProcessError as e:
193
180
  print(f"Error fetching source package: {e}")
194
181
  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.36
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 +0,0 @@
1
- __version__ = "0.1.35"
File without changes
File without changes
File without changes
File without changes