{"id":45168257,"url":"https://github.com/fedora-python/fedora-revdep-check","last_synced_at":"2026-02-20T07:31:31.145Z","repository":{"id":337797759,"uuid":"1113366476","full_name":"fedora-python/fedora-revdep-check","owner":"fedora-python","description":"Reverse dependency check for safer package updates in Fedora Linux.","archived":false,"fork":false,"pushed_at":"2026-02-11T12:21:22.000Z","size":40,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-11T18:21:22.443Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fedora-python.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-09T22:03:07.000Z","updated_at":"2026-02-10T11:44:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fedora-python/fedora-revdep-check","commit_stats":null,"previous_names":["fedora-python/fedora-revdep-check"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/fedora-python/fedora-revdep-check","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-python%2Ffedora-revdep-check","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-python%2Ffedora-revdep-check/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-python%2Ffedora-revdep-check/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-python%2Ffedora-revdep-check/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fedora-python","download_url":"https://codeload.github.com/fedora-python/fedora-revdep-check/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-python%2Ffedora-revdep-check/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29644557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T05:21:04.652Z","status":"ssl_error","status_checked_at":"2026-02-20T05:21:04.238Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-02-20T07:31:30.536Z","updated_at":"2026-02-20T07:31:31.122Z","avatar_url":"https://github.com/fedora-python.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fedora-revdep-check\n\nCheck if updating a Fedora package will break reverse dependencies.\n\n## Installation\n\n```bash\npip install .\n```\n\nRequires `libdnf5` (system package, not from PyPI) and configured Fedora repositories.\n\n## Usage\n\n```bash\nfedora-revdep-check \u003csrpm-name\u003e \u003cnew-version\u003e [options]\n```\n\n### Examples\n\n```bash\n# Check rawhide (default)\nfedora-revdep-check jupyterlab 4.7.0\n\n# Verbose output\nfedora-revdep-check pytest 8.0.0 --verbose\n\n# Use stable Fedora instead of rawhide\nfedora-revdep-check numpy 2.0.0 --repo fedora --repo fedora-source\n\n# Check specific Fedora version\nfedora-revdep-check python-requests 2.32.0 --repo fedora-40 --repo fedora-40-source\n```\n\n### Options\n\n- `-v, --verbose` - Show detailed analysis\n- `-r, --repo \u003crepo-id\u003e` - Repository to enable (can be specified multiple times, default: rawhide + rawhide-source)\n\n## Output\n\nWhen conflicts are found, they are categorized into new problems and already-broken packages:\n\n```\nThese packages would FTBFS:\n  jupyter-server: python3dist(jupyterlab) \u003c 4.7\n\nThese packages would FTI:\n  python3-jupyter-client-8.0.0-1.fc44: python3dist(jupyterlab) \u003e= 4.0, \u003c 4.7\n\nThese packages already FTBFS (not a new problem):\n  some-package: python3dist(jupyterlab) \u003c 3.0\n\nThese packages already FTI (not a new problem):\n  python3-old-package-1.0.0-1.fc44: python3dist(jupyterlab) \u003c 3.0\n```\n\n- **FTBFS**: Fail To Build From Source (source packages that won't build)\n- **FTI**: Fail To Install (binary packages that won't install)\n\nThe tool distinguishes between:\n- **New problems**: Packages that currently work but would break with the update\n- **Already broken**: Packages that already fail with the current version in repos (not caused by the update)\n\n## Exit Codes\n\n- `0` - No new conflicts detected (already-broken packages don't cause non-zero exit)\n- `1` - New conflicts found or error occurred\n- `130` - Interrupted by user\n\n## How It Works\n\n1. Finds all binary packages built from the SRPM\n2. Extracts their provides (excluding bundled)\n3. Finds reverse dependencies for each provide\n4. Filters to latest versions only (no duplicates)\n5. Checks if the new version satisfies all requirements\n6. Reports packages that would fail to build or install\n\nPackages from the same SRPM are automatically excluded (they'll be updated together).\n\n## Development\n\n```bash\n# Run tests\npytest\n\n# Run tests for all Python versions\ntox\n\n# Lint\ntox -e lint\n```\n\n## License\n\nSee LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedora-python%2Ffedora-revdep-check","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedora-python%2Ffedora-revdep-check","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedora-python%2Ffedora-revdep-check/lists"}