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