Skip to content

Commit eec00bb

Browse files
committed
Add support for udhcp in package.info
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent 3ece7cf commit eec00bb

File tree

4 files changed

+369
-2
lines changed

4 files changed

+369
-2
lines changed

src/fetchcode/package.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
from fetchcode.package_util import GITHUB_SOURCE_BY_PACKAGE
2929
from fetchcode.package_util import IPKG_RELEASES
30+
from fetchcode.package_util import UDHCP_RELEASES
3031
from fetchcode.package_util import ErofsUtilsGitHubSource
3132
from fetchcode.package_util import GitHubSource
3233
from fetchcode.package_util import MiniupnpPackagesGitHubSource
@@ -404,6 +405,37 @@ def get_package_info(cls, package_url):
404405
)
405406

406407

408+
# The udhcp is no longer maintained as a standalone project.
409+
# It has been fully integrated into busybox.
410+
class UdhcpDirectoryListedSource(DirectoryListedSource):
411+
source_url = (
412+
"https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/"
413+
)
414+
415+
@classmethod
416+
def get_package_info(cls, package_url):
417+
418+
version = package_url.version
419+
if version and version in UDHCP_RELEASES:
420+
archive = UDHCP_RELEASES[version]
421+
yield Package(
422+
homepage_url=cls.source_url,
423+
download_url=archive["url"],
424+
release_date=archive["date"],
425+
**package_url.to_dict(),
426+
)
427+
428+
else:
429+
for version, data in UDHCP_RELEASES.items():
430+
purl = PackageURL(type="generic", name="udhcp", version=version)
431+
yield Package(
432+
homepage_url=cls.source_url,
433+
download_url=data["url"],
434+
release_date=data["date"],
435+
**purl.to_dict(),
436+
)
437+
438+
407439
class IpkgDirectoryListedSource(DirectoryListedSource):
408440
source_url = "https://web.archive.org/web/20090326020239/http://handhelds.org/download/packages/ipkg/"
409441
is_nested = False
@@ -689,6 +721,7 @@ class E2fsprogsDirectoryListedSource(DirectoryListedSource):
689721
"pkg:generic/barebox.*",
690722
"pkg:generic/linux.*",
691723
"pkg:generic/e2fsprogs.*",
724+
"pkg:generic/udhcp.*",
692725
]
693726

694727
DIR_LISTED_SOURCE_BY_PACKAGE_NAME = {
@@ -716,6 +749,7 @@ class E2fsprogsDirectoryListedSource(DirectoryListedSource):
716749
"barebox": BareboxDirectoryListedSource,
717750
"linux": LinuxDirectoryListedSource,
718751
"e2fsprogs": E2fsprogsDirectoryListedSource,
752+
"udhcp": UdhcpDirectoryListedSource,
719753
}
720754

721755

src/fetchcode/package_util.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,43 @@ def get_package_info(cls, gh_purl, package_name):
287287
yield package_from_dict(package_dict)
288288

289289

290+
# Archive source https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/
291+
UDHCP_RELEASES = {
292+
"0.9.1": {
293+
"url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.1.tar.gz",
294+
"date": "2001-08-10T20:17:00",
295+
},
296+
"0.9.2": {
297+
"url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.2.tar.gz",
298+
"date": "2001-08-10T20:17:00",
299+
},
300+
"0.9.3": {
301+
"url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.3.tar.gz",
302+
"date": "2001-08-20T18:23:00",
303+
},
304+
"0.9.4": {
305+
"url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.4.tar.gz",
306+
"date": "2001-08-27T15:41:00",
307+
},
308+
"0.9.5": {
309+
"url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.5.tar.gz",
310+
"date": "2001-09-14T18:19:00",
311+
},
312+
"0.9.6": {
313+
"url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.6.tar.gz",
314+
"date": "2001-10-01T13:38:00",
315+
},
316+
"0.9.7": {
317+
"url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.7.tar.gz",
318+
"date": "2002-05-27T00:48:00",
319+
},
320+
"0.9.8": {
321+
"url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.8.tar.gz",
322+
"date": "2002-10-31T12:10:00",
323+
},
324+
}
325+
326+
290327
IPKG_RELEASES = {
291328
"0.99.88": {
292329
"url": "https://web.archive.org/web/20090326020239/http:/handhelds.org/download/packages/ipkg/ipkg-0.99.88.tar.gz",
Lines changed: 290 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,290 @@
1+
[
2+
{
3+
"type": "generic",
4+
"namespace": null,
5+
"name": "udhcp",
6+
"version": "0.9.1",
7+
"qualifiers": {},
8+
"subpath": null,
9+
"primary_language": null,
10+
"description": null,
11+
"release_date": "2001-08-10T20:17:00",
12+
"parties": [],
13+
"keywords": [],
14+
"homepage_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/",
15+
"download_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.1.tar.gz",
16+
"api_url": null,
17+
"size": null,
18+
"sha1": null,
19+
"md5": null,
20+
"sha256": null,
21+
"sha512": null,
22+
"bug_tracking_url": null,
23+
"code_view_url": null,
24+
"vcs_url": null,
25+
"copyright": null,
26+
"license_expression": null,
27+
"declared_license": null,
28+
"notice_text": null,
29+
"root_path": null,
30+
"dependencies": [],
31+
"contains_source_code": null,
32+
"source_packages": [],
33+
"purl": "pkg:generic/udhcp@0.9.1",
34+
"repository_homepage_url": null,
35+
"repository_download_url": null,
36+
"api_data_url": null
37+
},
38+
{
39+
"type": "generic",
40+
"namespace": null,
41+
"name": "udhcp",
42+
"version": "0.9.2",
43+
"qualifiers": {},
44+
"subpath": null,
45+
"primary_language": null,
46+
"description": null,
47+
"release_date": "2001-08-10T20:17:00",
48+
"parties": [],
49+
"keywords": [],
50+
"homepage_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/",
51+
"download_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.2.tar.gz",
52+
"api_url": null,
53+
"size": null,
54+
"sha1": null,
55+
"md5": null,
56+
"sha256": null,
57+
"sha512": null,
58+
"bug_tracking_url": null,
59+
"code_view_url": null,
60+
"vcs_url": null,
61+
"copyright": null,
62+
"license_expression": null,
63+
"declared_license": null,
64+
"notice_text": null,
65+
"root_path": null,
66+
"dependencies": [],
67+
"contains_source_code": null,
68+
"source_packages": [],
69+
"purl": "pkg:generic/udhcp@0.9.2",
70+
"repository_homepage_url": null,
71+
"repository_download_url": null,
72+
"api_data_url": null
73+
},
74+
{
75+
"type": "generic",
76+
"namespace": null,
77+
"name": "udhcp",
78+
"version": "0.9.3",
79+
"qualifiers": {},
80+
"subpath": null,
81+
"primary_language": null,
82+
"description": null,
83+
"release_date": "2001-08-20T18:23:00",
84+
"parties": [],
85+
"keywords": [],
86+
"homepage_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/",
87+
"download_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.3.tar.gz",
88+
"api_url": null,
89+
"size": null,
90+
"sha1": null,
91+
"md5": null,
92+
"sha256": null,
93+
"sha512": null,
94+
"bug_tracking_url": null,
95+
"code_view_url": null,
96+
"vcs_url": null,
97+
"copyright": null,
98+
"license_expression": null,
99+
"declared_license": null,
100+
"notice_text": null,
101+
"root_path": null,
102+
"dependencies": [],
103+
"contains_source_code": null,
104+
"source_packages": [],
105+
"purl": "pkg:generic/udhcp@0.9.3",
106+
"repository_homepage_url": null,
107+
"repository_download_url": null,
108+
"api_data_url": null
109+
},
110+
{
111+
"type": "generic",
112+
"namespace": null,
113+
"name": "udhcp",
114+
"version": "0.9.4",
115+
"qualifiers": {},
116+
"subpath": null,
117+
"primary_language": null,
118+
"description": null,
119+
"release_date": "2001-08-27T15:41:00",
120+
"parties": [],
121+
"keywords": [],
122+
"homepage_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/",
123+
"download_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.4.tar.gz",
124+
"api_url": null,
125+
"size": null,
126+
"sha1": null,
127+
"md5": null,
128+
"sha256": null,
129+
"sha512": null,
130+
"bug_tracking_url": null,
131+
"code_view_url": null,
132+
"vcs_url": null,
133+
"copyright": null,
134+
"license_expression": null,
135+
"declared_license": null,
136+
"notice_text": null,
137+
"root_path": null,
138+
"dependencies": [],
139+
"contains_source_code": null,
140+
"source_packages": [],
141+
"purl": "pkg:generic/udhcp@0.9.4",
142+
"repository_homepage_url": null,
143+
"repository_download_url": null,
144+
"api_data_url": null
145+
},
146+
{
147+
"type": "generic",
148+
"namespace": null,
149+
"name": "udhcp",
150+
"version": "0.9.5",
151+
"qualifiers": {},
152+
"subpath": null,
153+
"primary_language": null,
154+
"description": null,
155+
"release_date": "2001-09-14T18:19:00",
156+
"parties": [],
157+
"keywords": [],
158+
"homepage_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/",
159+
"download_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.5.tar.gz",
160+
"api_url": null,
161+
"size": null,
162+
"sha1": null,
163+
"md5": null,
164+
"sha256": null,
165+
"sha512": null,
166+
"bug_tracking_url": null,
167+
"code_view_url": null,
168+
"vcs_url": null,
169+
"copyright": null,
170+
"license_expression": null,
171+
"declared_license": null,
172+
"notice_text": null,
173+
"root_path": null,
174+
"dependencies": [],
175+
"contains_source_code": null,
176+
"source_packages": [],
177+
"purl": "pkg:generic/udhcp@0.9.5",
178+
"repository_homepage_url": null,
179+
"repository_download_url": null,
180+
"api_data_url": null
181+
},
182+
{
183+
"type": "generic",
184+
"namespace": null,
185+
"name": "udhcp",
186+
"version": "0.9.6",
187+
"qualifiers": {},
188+
"subpath": null,
189+
"primary_language": null,
190+
"description": null,
191+
"release_date": "2001-10-01T13:38:00",
192+
"parties": [],
193+
"keywords": [],
194+
"homepage_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/",
195+
"download_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.6.tar.gz",
196+
"api_url": null,
197+
"size": null,
198+
"sha1": null,
199+
"md5": null,
200+
"sha256": null,
201+
"sha512": null,
202+
"bug_tracking_url": null,
203+
"code_view_url": null,
204+
"vcs_url": null,
205+
"copyright": null,
206+
"license_expression": null,
207+
"declared_license": null,
208+
"notice_text": null,
209+
"root_path": null,
210+
"dependencies": [],
211+
"contains_source_code": null,
212+
"source_packages": [],
213+
"purl": "pkg:generic/udhcp@0.9.6",
214+
"repository_homepage_url": null,
215+
"repository_download_url": null,
216+
"api_data_url": null
217+
},
218+
{
219+
"type": "generic",
220+
"namespace": null,
221+
"name": "udhcp",
222+
"version": "0.9.7",
223+
"qualifiers": {},
224+
"subpath": null,
225+
"primary_language": null,
226+
"description": null,
227+
"release_date": "2002-05-27T00:48:00",
228+
"parties": [],
229+
"keywords": [],
230+
"homepage_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/",
231+
"download_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.7.tar.gz",
232+
"api_url": null,
233+
"size": null,
234+
"sha1": null,
235+
"md5": null,
236+
"sha256": null,
237+
"sha512": null,
238+
"bug_tracking_url": null,
239+
"code_view_url": null,
240+
"vcs_url": null,
241+
"copyright": null,
242+
"license_expression": null,
243+
"declared_license": null,
244+
"notice_text": null,
245+
"root_path": null,
246+
"dependencies": [],
247+
"contains_source_code": null,
248+
"source_packages": [],
249+
"purl": "pkg:generic/udhcp@0.9.7",
250+
"repository_homepage_url": null,
251+
"repository_download_url": null,
252+
"api_data_url": null
253+
},
254+
{
255+
"type": "generic",
256+
"namespace": null,
257+
"name": "udhcp",
258+
"version": "0.9.8",
259+
"qualifiers": {},
260+
"subpath": null,
261+
"primary_language": null,
262+
"description": null,
263+
"release_date": "2002-10-31T12:10:00",
264+
"parties": [],
265+
"keywords": [],
266+
"homepage_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source/",
267+
"download_url": "https://web.archive.org/web/20021209021312/http://udhcp.busybox.net/source//udhcp-0.9.8.tar.gz",
268+
"api_url": null,
269+
"size": null,
270+
"sha1": null,
271+
"md5": null,
272+
"sha256": null,
273+
"sha512": null,
274+
"bug_tracking_url": null,
275+
"code_view_url": null,
276+
"vcs_url": null,
277+
"copyright": null,
278+
"license_expression": null,
279+
"declared_license": null,
280+
"notice_text": null,
281+
"root_path": null,
282+
"dependencies": [],
283+
"contains_source_code": null,
284+
"source_packages": [],
285+
"purl": "pkg:generic/udhcp@0.9.8",
286+
"repository_homepage_url": null,
287+
"repository_download_url": null,
288+
"api_data_url": null
289+
}
290+
]

0 commit comments

Comments
 (0)