{"id":18584673,"url":"https://github.com/fedora-modularity/fus","last_synced_at":"2025-04-10T12:30:48.786Z","repository":{"id":55156269,"uuid":"135809068","full_name":"fedora-modularity/fus","owner":"fedora-modularity","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-22T09:58:47.000Z","size":173,"stargazers_count":6,"open_issues_count":8,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-16T03:57:53.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fedora-modularity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-02T10:37:01.000Z","updated_at":"2023-12-02T16:53:21.000Z","dependencies_parsed_at":"2023-01-21T10:03:39.959Z","dependency_job_id":null,"html_url":"https://github.com/fedora-modularity/fus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-modularity%2Ffus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-modularity%2Ffus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-modularity%2Ffus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-modularity%2Ffus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fedora-modularity","download_url":"https://codeload.github.com/fedora-modularity/fus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223436626,"owners_count":17144794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T00:28:23.399Z","updated_at":"2024-11-07T00:28:23.996Z","avatar_url":"https://github.com/fedora-modularity.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Purpose\n\nThis tool attempts to produce a viable \"depsolved\" collection of packages.\n\nUnlike earlier tools of this type, it understands the concept of modules and module\nstreams and can incorporate them into the dependency solving algorithm.\n\nIt takes as input a list of repositories and a list of artifacts of various types\nthat must be in the output package set.  The full list of input types is in \"Usage\"\nbelow, but it includes individual RPMs, comps style groups and categories, and, as\nmentioned above, modules, either whole or as part of a stream.\n\nIt then attempts to output a package set that includes all required artifacts as well\nas all additional packages needed to allow the required artifacts to be installed.\n\nNOTE: This does not mean that the entire output package set can be installed at once.\nMany module use cases prevent this, as do some existing basic RPM use cases.\n\nWhat it does mean is that for each output artifact, there is the potential to resolve\nthe RPM and module-level dependencies to allow it to install.\n\n\n## Known limitations\n\n- Shared RPM artifacts are not supported\n\n\n## Building\n\n```\n$ meson builddir\n$ ninja -C builddir\n```\n\n\n## Usage\n\n```\n$ ./builddir/main --repo NAME,TYPE,PATH --debug ITEM\n```\n\nThere can be multiple repos. The name is just the name of the repository; type\ncan be `lookaside` or anything else.\n\nItem to include in the input can have one of the following forms.\n\n* `module(NAME)` or `module(NAME:STREAM)` for modules\n* `group:foo` or `category:bar` for comps input\n* just package name, or a glob matched against package names\n\n\n## Testing\n\nTo run all the available tests:\n\n```\n$ ninja -C builddir test\n```\n\nOr to have more control on which tests are run, use `gtester`:\n\n```\n$ G_TEST_SRCDIR=$PWD/tests gtester builddir/tests\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedora-modularity%2Ffus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedora-modularity%2Ffus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedora-modularity%2Ffus/lists"}