{"id":16200048,"url":"https://github.com/rinigus/tbuilder","last_synced_at":"2026-02-07T02:01:00.889Z","repository":{"id":52433703,"uuid":"356648856","full_name":"rinigus/tbuilder","owner":"rinigus","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-15T16:01:44.000Z","size":100,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T11:36:35.988Z","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":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rinigus.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}},"created_at":"2021-04-10T17:18:41.000Z","updated_at":"2024-10-15T16:01:48.000Z","dependencies_parsed_at":"2024-10-16T18:52:32.576Z","dependency_job_id":null,"html_url":"https://github.com/rinigus/tbuilder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rinigus/tbuilder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinigus%2Ftbuilder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinigus%2Ftbuilder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinigus%2Ftbuilder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinigus%2Ftbuilder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rinigus","download_url":"https://codeload.github.com/rinigus/tbuilder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinigus%2Ftbuilder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29184977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T00:44:15.062Z","status":"online","status_checked_at":"2026-02-07T02:00:07.217Z","response_time":63,"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":[],"created_at":"2024-10-10T09:29:07.268Z","updated_at":"2026-02-07T02:01:00.830Z","avatar_url":"https://github.com/rinigus.png","language":"Python","readme":"# TBuilder\n\nThis is a builder for projects defined by multiple RPM SPECs. It is\ntargeting Sailfish OS and is using \n[docker-sailfishos-builder containers](https://github.com/sailfishos-open/docker-sailfishos-builder).\n\n## Use\n\nTo define a project, create a directory with the following structure:\n\n- config.yaml\n- spec/\n  - symlink to SPEC (absolute or relative) in source directory\n  - symlink to SPEC2 ...\n\nSPEC files in the source directories have to be located under some\nsubdirectory of the main source. This is common as SPECs are\npositioned under `rpm` directory. Using symlinks, the builder will be\nable to locate main source of the package in question.\n\nWith the project defined, `tbuilder` will handle dependencies and will\nbuild packages:\n\n```\ncd project\ntbuilder .\n```\n\n## Configuration\n\nConfiguration is given using `config.yaml` file. Example configuration\nis given under `project` directory.\n\nThe following fields are required:\n\n* `targets` (list) with each target in the form version-arch . Ex: 4.6.0.13-aarch64\n\n* `rpms` (string) directory to store generated RPMs\n\nThe following fields are optional:\n\n* `repositories` (list of strings) specify additional repositories required by the \n  project. Strings are processed by replacing @VERSION@ and @ARCH@ with the \n  target SFOS version and architecture, respectively. Ex: add \n  \"https://repo.sailfishos.org/obs/sailfishos:/chum/@VERSION@_@ARCH@/\" for Chum.\n\n* `shallow_clones`: if set to non-zero (as `1`), tbuilder assumes that the submodules\n  in source directories are not checked out with full sources, but have only packaging\n  part. In this case, local sources will be ignored and used only to find out git remote\n  and corresponding commit ID. Found repository and commit ID will be used during the build\n  to download sources from the remote and build them. Such approach allows to reduce storage\n  requirements and can help to build larger projects.\n\n\n## Requirements and installation\n\nRequirements are\n\n- `podman` \n- if CPU emulation is needed, QEMU configured to run the platforms of interest.\n\nFor instructions, see [docker-sailfishos-builder](https://github.com/sailfishos-open/docker-sailfishos-builder).\n\nTo install, create Python virtual environment and install via `pip`:\n\n```\npython -m venv\n. venv/bin/activate\npip install git+https://github.com/rinigus/tbuilder.git\n```\n\nTo build project, run `tbuilder .` in the project directory.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frinigus%2Ftbuilder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frinigus%2Ftbuilder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frinigus%2Ftbuilder/lists"}