Skip to content

Commit 2ad3573

Browse files
committed
Change approach to handling different kinds of packages in terra
Instead of using linkformatter getter which returns bin or srcname with fallback, take more explicit approach and split src and binary package sets into different sources, use different packagelink patterns for these.
1 parent f7774ee commit 2ad3573

File tree

2 files changed

+28
-12
lines changed

2 files changed

+28
-12
lines changed

repology/linkformatter.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,6 @@ def __getitem__(self, key: str) -> str:
7272
value = self._package.srcname
7373
elif field == 'binname':
7474
value = self._package.binname
75-
elif field == 'binorsrcname':
76-
value = self._package.binname or self._package.srcname
7775
elif field == 'subrepo':
7876
value = self._package.subrepo
7977
elif field == 'rawversion':

repos.d/rpm/terra.yaml

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,47 @@
99
ruleset: [fedora, rpm]
1010
minpackages: {{minpackages}}
1111
sources:
12-
- name: repo.xml
12+
# Note: terra contains packages build in different ways, see
13+
# https://github.com/repology/repology-updater/issues/1307 for some details
14+
# There are two distinctive types of packages, which may be distinguinsed by
15+
# arch. At least packagelinks differ for these.
16+
- name: repo.xml.src
1317
fetcher:
1418
class: RepodataFetcher
1519
url: https://repos.fyralabs.com/terra{{version}}/
1620
parser:
1721
class: RepodataParser
1822
src: true
23+
binary: false
24+
vertags: fc
25+
packagelinks:
26+
- type: PACKAGE_SOURCES
27+
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{srcname}'
28+
- type: PACKAGE_RECIPE
29+
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{srcname}/spec'
30+
- type: PACKAGE_RECIPE_RAW
31+
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{srcname}/spec/raw'
32+
- name: repo.xml.bin
33+
fetcher:
34+
class: RepodataFetcher
35+
url: https://repos.fyralabs.com/terra{{version}}/
36+
parser:
37+
class: RepodataParser
38+
src: false
1939
binary: true
2040
vertags: fc
41+
packagelinks:
42+
- type: PACKAGE_SOURCES
43+
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{binname}'
44+
- type: PACKAGE_RECIPE
45+
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{binname}/spec'
46+
- type: PACKAGE_RECIPE_RAW
47+
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{binname}/spec/raw'
2148
repolinks:
2249
- desc: Terra home
2350
url: https://terra.fyralabs.com/
2451
- desc: GitHub organization
2552
url: https://github.com/terrapkg
26-
packagelinks:
27-
- type: PACKAGE_SOURCES
28-
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{binorsrcname}'
29-
- type: PACKAGE_RECIPE
30-
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{binorsrcname}/spec'
31-
- type: PACKAGE_RECIPE_RAW
32-
url: 'https://madoguchi.fyralabs.com/redirect/terra{{version}}/packages/{binorsrcname}/spec/raw'
33-
# XXX: not all packages are built from spec files, see
34-
# https://github.com/repology/repology-updater/issues/1307#issuecomment-1503339868
3553
groups: [ all, production, terra ]
3654
{% endmacro %}
3755

0 commit comments

Comments
 (0)