Commit graph

10 commits

Author SHA1 Message Date
Caleigh Runge-Hottman
b284ddbd9f Generate kickstart repo index [RHELDST-14528]
Due to the presence of a "repodata/repomd.xml" path in a kickstart
repo, repo-autoindex previously interpreted kickstart repos as yum
repos. As such, a kickstart repo's index would solely consist of two
directories: "Packages" and "repodata".

While a kickstart repo does contain a yum repo, kickstart repos also
contain two additional repo entry points: treeinfo and extra_files.json.
Each entry point references additional files that should be included
in a kickstart repo's index. These files were previously ignored.

Now, when repo-autoindex encounters a kickstart repo, repo-autoindex
produces a repo index that reflects the content referenced in all
three repo entry points (repomd.xml, treeinfo, extra_files.json).
2023-03-31 17:53:57 -04:00
Rohan McGovern
117cabb0b7 Use SAX instead of pulldom for primary.xml parsing [RHELDST-14338]
Redo the parsing of packages from primary.xml to use SAX; previously it
was using pulldom. The motivation for the change is to reduce memory usage.

When parsing a larger yum repo such as that contained within
rhel-8-for-ppc64le-appstream-kickstart__8_DOT_4, the observed memory
usage from repo-autoindex command was:

- pulldom: ~700MB
- SAX:     ~85MB

This does not affect the output of the indexing process, and is covered
by existing tests.
2022-10-20 09:51:30 +10:00
Rohan McGovern
af99a34e39 Fix 'error: Unused "type: ignore" comment' with mypy 0.981 2022-10-05 10:38:32 +10:00
Rohan McGovern
293f5887b7 Implement error handling
Ultimately, all errors are propagated in some way, but it's important to
differentiate between "the content was invalid" vs "failed to fetch the
content".
2022-08-09 08:51:06 +10:00
Rohan McGovern
90b746caee Add PULP_MANIFEST support 2022-08-08 13:45:50 +10:00
Rohan McGovern
254e0f7cd9 Add some documentation 2022-08-08 12:46:07 +10:00
Rohan McGovern
52ec5f195b Add a test running entire command 2022-08-02 16:45:24 +10:00
Rohan McGovern
c4fd70e240 Add a test for text elision 2022-08-02 16:41:46 +10:00
Rohan McGovern
fbd3cb37ec Add a test which renders a yum repo 2022-07-07 14:04:18 +10:00
Rohan McGovern
787ba01a0e Rearrange sources to keep API separate, add a real test 2022-07-07 13:20:43 +10:00