{"id":24627863,"url":"https://github.com/erikmichelson/apt-deb822-tool","last_synced_at":"2026-04-16T04:33:18.004Z","repository":{"id":274026854,"uuid":"909519234","full_name":"ErikMichelson/apt-deb822-tool","owner":"ErikMichelson","description":"Bash tool to convert APT .list files (One-Line-Style) to .sources files (Deb822 format) and vice-versa","archived":false,"fork":false,"pushed_at":"2025-01-24T11:57:06.000Z","size":18,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T12:30:54.994Z","etag":null,"topics":["apt","bash","deb822","debian","sources-list","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/ErikMichelson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-29T00:14:14.000Z","updated_at":"2025-01-24T11:57:11.000Z","dependencies_parsed_at":"2025-01-24T12:42:13.256Z","dependency_job_id":null,"html_url":"https://github.com/ErikMichelson/apt-deb822-tool","commit_stats":null,"previous_names":["erikmichelson/apt-deb822-tool"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErikMichelson%2Fapt-deb822-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErikMichelson%2Fapt-deb822-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErikMichelson%2Fapt-deb822-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ErikMichelson%2Fapt-deb822-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ErikMichelson","download_url":"https://codeload.github.com/ErikMichelson/apt-deb822-tool/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244538044,"owners_count":20468644,"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":["apt","bash","deb822","debian","sources-list","ubuntu"],"created_at":"2025-01-25T05:13:29.895Z","updated_at":"2026-04-16T04:33:17.921Z","avatar_url":"https://github.com/ErikMichelson.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# APT Deb822 Tool\n\nThis is a bash implementation of a parser for APT entries in [\"One-Line-Style Format\"][docs-olsf] (.list file) as well as entries in [\"Deb822-style Format\"][docs-deb822] (.sources file).\nThe tool allows to convert between both formats back and forth.\n\n## Features\n\n- Conversion from One-Line-Style format to Deb822 format and vice versa\n- Read a whole directory (like `/etc/apt/sources.list.d`) and operate only on files with the right extension\n- Create backup files of the originals\n\n## Installation\n\n1. Clone this repository to a location of your choice\n2. Run `make install` or copy the file from the `src` directory somewhere and make it executable\n\n## Usage\n\nUse `apt-deb822-tool` in your terminal.\n\nThere are two modes: `to-deb822` and `to-list`.\nIt is mandatory to specify one of these modes as an argument.\n\nYou can specify an arbitrary amount of files and/or directories afterwards.\nDirectories will be walked through recursively while only files with a matching file extension will be used (unless `--all-extensions` is given as an option).\n\nThe conversion result is output on STDOUT unless the option `--write` is given.\nIn latter case, the result will be written to a file with the right extension next to the source file.\nOutput on STDOUT for multiple input files is delimited by a NULL byte, so further processing with tools like `xargs` is possible.\n\nYou can enable verbose output mode by adding the `--verbose` option.\nVerbose output is written to STDERR.\n\nUse the `--help` option for more information.\n\n## Dependencies\n\nThis tool only requires basic system dependencies (`coreutils`, `findutils`) that should be installed on every Debian and Ubuntu out of the box.\nThe minimum bash version required is 5.0.\n\n## Known limitations\n\n- Embedded PGP public keys in the `Signed-By` field in Deb822 format are not supported yet\n\n## Development\n\nTo run the tests, install [`bats-core`][git-bats-core] and [`bats-file`][git-bats-file], and run `make test`.\n\n[docs-olsf]: https://manpages.debian.org/bookworm/apt/sources.list.5.en.html#ONE-LINE-STYLE_FORMAT\n[docs-deb822]: https://manpages.debian.org/bookworm/apt/sources.list.5.en.html#DEB822-STYLE_FORMAT\n[git-bats-core]: https://github.com/bats-core/bats-core\n[git-bats-file]: https://github.com/bats-core/bats-file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikmichelson%2Fapt-deb822-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferikmichelson%2Fapt-deb822-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikmichelson%2Fapt-deb822-tool/lists"}