{"id":30815114,"url":"https://github.com/xlibre-deb/build","last_synced_at":"2026-05-18T19:35:25.986Z","repository":{"id":309871359,"uuid":"1036884843","full_name":"xlibre-deb/build","owner":"xlibre-deb","description":"Build infra for XLibre deb repos","archived":false,"fork":false,"pushed_at":"2025-08-30T09:51:47.000Z","size":124,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-30T11:20:58.511Z","etag":null,"topics":["build","debian","xlibre"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/xlibre-deb.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,"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-08-12T18:16:14.000Z","updated_at":"2025-08-30T09:51:51.000Z","dependencies_parsed_at":"2025-08-30T11:13:44.140Z","dependency_job_id":"14d60eef-3b82-434f-8286-48068a850444","html_url":"https://github.com/xlibre-deb/build","commit_stats":null,"previous_names":["xlibre-deb-wip/build","xlibre-deb/build"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/xlibre-deb/build","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlibre-deb%2Fbuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlibre-deb%2Fbuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlibre-deb%2Fbuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlibre-deb%2Fbuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xlibre-deb","download_url":"https://codeload.github.com/xlibre-deb/build/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlibre-deb%2Fbuild/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273874160,"owners_count":25183368,"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","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["build","debian","xlibre"],"created_at":"2025-09-06T08:04:59.324Z","updated_at":"2026-05-18T19:35:25.980Z","avatar_url":"https://github.com/xlibre-deb.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Build Infra for XLibre Deb Repos\n\n## Repositories\n\n- Debian: https://github.com/xlibre-deb/debian\n- Devuan: https://github.com/xlibre-deb/devuan\n- Ubuntu: https://github.com/xlibre-deb/ubuntu\n\n## Directory structure\n\n- `misc/`\n- `tasks/`: build tasks\n- `matrix.yaml`: distro info\n\nUntracked:\n\n- `output/`: built packages\n- `packages/`: workspace for packages\n- `repos/`: workspace for repos\n\n## Workflows\n\n### Build\n#### Requirements\n\n- thor (ruby-thor)\n- docker\n- docker-buildx\n\n#### Prepare build environments\n\n1. Add your user to the `docker` group to use Docker without `sudo`.\n  ```\n  sudo groupadd docker\n  sudo usermod -aG docker $USER\n  # Restart system.\n  ```\n  You can skip this and use Docker with sudo, but the build output files will be owned by root.\n\n2. Clone package source repositories.\n  ```\n  thor pkg:clone\n  ls packages/\n  ```\n\n3. (Optional) Use a remote BuildKit builder instance.\n  ```\n  thor build:use-remote-builder remote tcp://remote.buildkit.instance:1234\n  ```\n\n#### Build packages\n\n```sh\n# Generate docker-bake.hcl for targets (all by default) and build\nthor build:bake:gen # [--targets] [--packages] [--arch]\nthor build:bake\n\n# Build single target without bake file\nthor build:target debian-sid-amd64 # [--packages]\n\n# List targets\nthor build:list-targets\n\n# Build packages on the host system without using Docker\nsudo thor build:local --systemd # [--no-systemd] [--packages]\nls tmp/*.deb\n```\n\nThe build results will be stored in the `output/` directory.\n\n### Manage repos\n#### Requirements\n\n- thor (ruby-thor)\n- apt-utils\n- devscripts\n- gpg (with signing key)\n\nClone the repositories:\n\n```\nthor repos:clone\nls repos/\n```\n\n#### Include packages\n\nAdd the built packages from the `output/` directory to the repos.\n\n```\nthor repos:include\n```\n\n#### Update repo metadata\n\n```\nthor repos:update\n```\n\n## Misc\n\nSee available tasks with `thor list`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxlibre-deb%2Fbuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxlibre-deb%2Fbuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxlibre-deb%2Fbuild/lists"}