Skip to content

Commit d892958

Browse files
committed
Add support for openssl in package.info
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent 2170bfe commit d892958

File tree

10 files changed

+13191
-3
lines changed

10 files changed

+13191
-3
lines changed

src/fetchcode/package.py

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from fetchcode.package_util import IPKG_RELEASES
3030
from fetchcode.package_util import GitHubSource
3131
from fetchcode.package_util import MiniupnpPackagesGitHubSource
32+
from fetchcode.package_util import OpenSSLGitHubSource
3233
from fetchcode.packagedcode_models import Package
3334
from fetchcode.utils import get_response
3435

@@ -242,7 +243,25 @@ def get_github_data_for_miniupnp(purl):
242243
)
243244

244245

245-
@router.route("pkg:generic/erofs-utils.*",)
246+
@router.route(
247+
"pkg:openssl/openssl.*",
248+
)
249+
def get_github_data_for_openssl(purl):
250+
"""
251+
Yield `Package` object for OpenSSL package from GitHub.
252+
"""
253+
generic_purl = PackageURL.from_string(purl)
254+
github_repo_purl = PackageURL(
255+
type="github",
256+
namespace="openssl",
257+
name="openssl",
258+
version=generic_purl.version,
259+
)
260+
261+
return OpenSSLGitHubSource.get_package_info(github_repo_purl)
262+
263+
264+
@router.route("pkg:generic/erofs-utils.*")
246265
def get_github_data_for_erofs_utils(purl):
247266
"""
248267
Yield `Package` object for erofs-utils package from GitHub.
@@ -612,6 +631,7 @@ class BareboxDirectoryListedSource(DirectoryListedSource):
612631
is_nested = False
613632
ignored_files_and_dir = []
614633

634+
615635
class LinuxDirectoryListedSource(DirectoryListedSource):
616636
source_url = "https://cdn.kernel.org/pub/linux/kernel/"
617637
# Source archive ex: linux-1.2.3.tar.gz
@@ -631,8 +651,11 @@ class LinuxDirectoryListedSource(DirectoryListedSource):
631651
"uemacs/",
632652
]
633653

654+
634655
class E2fsprogsDirectoryListedSource(DirectoryListedSource):
635-
source_url = "https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/"
656+
source_url = (
657+
"https://mirrors.edge.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/"
658+
)
636659
# Source archive ex: e2fsprogs-1.2.3.tar.gz
637660
source_archive_regex = re.compile(r"^(e2fsprogs-)(?P<version>[\w.-]*)(.tar.gz)$")
638661
is_nested = True

src/fetchcode/package_util.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,30 @@ class RpmGitHubSource(GitHubSource):
211211
}
212212

213213

214+
class OpenSSLGitHubSource(GitHubSource):
215+
version_regex = re.compile(r"(OpenSSL_|openssl-)(?P<version>.+)")
216+
ignored_tag_regex = None
217+
218+
@classmethod
219+
def get_package_info(cls, gh_purl):
220+
221+
packages = get_github_packages(
222+
gh_purl,
223+
cls.version_regex,
224+
cls.ignored_tag_regex,
225+
cls.get_default_package(gh_purl),
226+
)
227+
228+
for package in packages:
229+
package_dict = package.to_dict()
230+
package_dict["type"] = "openssl"
231+
package_dict["namespace"] = None
232+
package_dict["name"] = "openssl"
233+
package_dict["version"] = package_dict["version"].replace("_", ".")
234+
235+
yield package_from_dict(package_dict)
236+
237+
214238
class MiniupnpPackagesGitHubSource(GitHubSource):
215239
version_regex = None
216240
ignored_tag_regex = None
@@ -231,9 +255,9 @@ def get_package_info(cls, gh_purl, package_name):
231255

232256
for package in packages:
233257
package_dict = package.to_dict()
258+
package_dict["type"] = "generic"
234259
package_dict["namespace"] = None
235260
package_dict["name"] = package_name
236-
package_dict["type"] = "generic"
237261
package_dict["version"] = package_dict["version"].replace("_", ".")
238262

239263
yield package_from_dict(package_dict)

0 commit comments

Comments
 (0)