{"id":28501885,"url":"https://github.com/fluent/fluent-package-builder","last_synced_at":"2026-04-02T14:46:11.411Z","repository":{"id":37364070,"uuid":"230043939","full_name":"fluent/fluent-package-builder","owner":"fluent","description":"td-agent (Fluentd) Building and Packaging System","archived":false,"fork":false,"pushed_at":"2025-06-19T07:45:34.000Z","size":1933,"stargazers_count":23,"open_issues_count":19,"forks_count":30,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-06-19T08:40:00.691Z","etag":null,"topics":["amazonlinux2","centos","debian","fluentd","package","td-agent","ubuntu","windows"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fluent.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-v4.md","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}},"created_at":"2019-12-25T04:57:21.000Z","updated_at":"2025-06-10T01:24:48.000Z","dependencies_parsed_at":"2023-11-07T11:24:11.925Z","dependency_job_id":"0d6d1332-012b-488b-a1eb-0132198a81e6","html_url":"https://github.com/fluent/fluent-package-builder","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/fluent/fluent-package-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-package-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-package-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-package-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-package-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluent","download_url":"https://codeload.github.com/fluent/fluent-package-builder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluent%2Ffluent-package-builder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262598166,"owners_count":23334669,"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":["amazonlinux2","centos","debian","fluentd","package","td-agent","ubuntu","windows"],"created_at":"2025-06-08T16:08:17.179Z","updated_at":"2026-04-02T14:46:11.356Z","avatar_url":"https://github.com/fluent.png","language":"Shell","readme":"# fluent-package-builder\n\n## About fluent-package-builder\n\nfluent-package-builder (formerly known as td-agent-builder, it was renamed at Aug, 2021) is a new build system for [td-agent](https://docs.treasuredata.com/display/public/PD/About+Treasure+Data%27s+Server-Side+Agent) which aims to replace the traditional build system [omnibus-td-agent](https://github.com/treasure-data/omnibus-td-agent) since it has several problems due to [Omnibus](https://github.com/chef/omnibus)'s limitations.\n\nNOTE: Discussed why re-branding is required [Rebranding td-agent-builder](https://github.com/fluent/fluent-package-builder/issues/311)\n\n### Changes from Treasure Agent 4\n\n* `td-agent` was renamed to `fluent-package`\n  * The content of `fluent-package` was changed to install under `/opt/fluent`\n  * `/usr/sbin/td-agent` and `/usr/sbin/td-agent-gem` was changed to\n  `/usr/sbin/fluentd` and `/usr/sbin/fluent-gem`\n  * Changed the path of example default configuration file to `/opt/fluent/share/fluentd.conf`\n* Debian 12 (bookworm) has been supported\n* Removed Ubuntu 16.04 (xenial), Ubuntu 18.04 (bionic) support\n* Amazon Linux 2023 has been supported\n* Introduced new package signing key. The new key will be used in the future\n  release. we still use using old signing key for a while\n* `fluentd-apt-source` was renamed to `fluent-apt-source` deb package for maintaining apt-line and keyring\n\n### Changes from Treasure Agent 3\n\n* Use system libraries: e.g. openssl\n* Remove libraries for 3rd party gems: e.g. postgresql\n* Remove `embedded` directory by omnibus\n  * Use `/opt/td-agent/bin/fluent-cat` instead of `/opt/td-agent/embedded/bin/fluent-cat`\n* Update core components: ruby, jemalloc and more\n* Add td-agent-apt-source deb package for maintaining apt-line and keyring\n  * Download it and install by `apt install`, then you can install td-agent via `apt install td-agent`.\n  * td-agent-apt-source deb package is created to install td-agent easily. Currently it points to td-agent 4 apt-line.\n\nSee also [this issue](https://github.com/treasure-data/omnibus-td-agent/issues/219) for omnibus problems.\n\n## Prerequisites\n\n### For building .rpm \u0026 .deb packages\n\n  * Any host OS that is supported by Docker\n    * Debian buster or Ubuntu 18.04 are recommended\n  * [Docker](https://docs.docker.com/install/)\n  * Ruby 2.5 or later\n  * Bundler 2.2.0 or later\n  * Git\n\n### For building Windows package (.msi)\n\n  * Windows OS (10 Pro or 2019 are verified)\n  * [Docker Desktop for Windows](https://hub.docker.com/editions/community/docker-ce-desktop-windows)\n    * You need to switch to \"Windows containers\" before using it.\n  * [RubyInstaller](https://rubyinstaller.org/) 2.5 or later.\n  * Bundler 2.2.0 or later\n  * [Git for Windows](https://gitforwindows.org/)\n\nAfter installed above software, you need to enable additional features from powershell (as admin).\n\n```\ndism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart\ndism.exe /online /enable-feature /featurename:Containers /all /norestart\n```\n\nThen restart Windows.\n\n### For building macOS package (.dmg)\n\n  * macOS 10.15 (Catalina)\n  * Ruby 2.5 or later\n  * [Bundler](https://rubygems.org/gems/bundler) 2.2.0 or later\n  * [Builder](https://rubygems.org/gems/builder) gem\n  * Git\n  * [CMake](https://cmake.org/)\n  * [Rust](https://www.rust-lang.org/) to enable Ruby's YJIT feature\n\n## How to build .rpm package\n\n```console\n% rake yum:build\n```\n\nBy default, yum repositories for following platforms will be built under fluent-package/yum/repositories/ directory:\n\n  * RHEL/CentOS 8 (x86_64) - Built on Rocky Linux 8\n  * RHEL/CentOS 9 (x86_64) - Built on AlmaLinux 9\n  * Amazon Linux 2 (x86_64)\n  * Amazon Linux 2023 (x86_64)\n\nYou can choose target platforms by `YUM_TARGETS` environment variable like this:\n\n```console\n% rake yum:build YUM_TARGETS=\"rockylinux-8,almalinux-9\"\n```\n\nYou can find other supported platforms under fluent-package/yum directory.\n\n### Note for AArch64 platforms\n\nYou can also build packages for AArch64 platforms like this:\n\n```console\n% rake yum:build YUM_TARGETS=\"amazonlinux-2023-aarch64\"\n```\n\nBut if you use older GNU/Linux platforms (e.g. Ubuntu 18.04 or before) as your host OS, you need to copy qemu-aarch64-static into the base directory of the target:\n\n```console\n% export TARGET_BASE=\"centos-8\"\n% sudo apt install qemu-user-static\n% cd /path/to/fluent-package-builder\n% cp /usr/bin/qemu-aarch64-static fluent-package/yum/${TARGET_BASE}\n% rake yum:build YUM_TARGETS=\"${TARGET_BASE}-aarch64\"\n```\n\n### Note for ppc64le platform\n\nYou can also build packages for ppc64le platform like this:\n\n```console\n% rake yum:build YUM_TARGETS=\"centos-8-ppc64le\"\n```\n\nBut if you use older GNU/Linux platforms (e.g. Ubuntu 18.04 or before) as your host OS, you need to copy qemu-ppc64le-static into the base directory of the target:\n\n```console\n% export TARGET_BASE=\"centos-8\"\n% sudo apt install qemu-user-static\n% cd /path/to/fluent-package-builder\n% cp /usr/bin/qemu-ppc64le-static fluent-package/yum/${TARGET_BASE}\n% rake yum:build YUM_TARGETS=\"${TARGET_BASE}-ppc64le\"\n```\n\n## How to build .deb package\n\n```console\n% rake apt:build\n```\n\nBy default, apt repositories for following platforms will be built under fluent-package/apt/repositories/ directory:\n\n  * Debian 11 \"Bullseye\" (x86_64)\n  * Debian 12 \"Bookworm\" (x86_64)\n  * Ubuntu 20.04 LTS \"Focal Fossa\" (x86_64)\n  * Ubuntu 22.04 LTS \"Jammy Jellyfish\" (x86_64)\n  * Ubuntu 24.04 LTS \"Noble Numbat\" (x86_64)\n\nYou can choose target platforms by `APT_TARGETS` environment variable like this:\n\n```console\n% rake apt:build APT_TARGETS=\"debian-bookworm,ubuntu-jammy\"\n```\n\nYou can find other supported platforms under fluent-package/apt directory.\n\n### Note for AArch64 platforms\n\nYou can also built packages for AArch64 platforms like this:\n\n```console\n% rake apt:build APT_TARGETS=\"ubuntu-jammy-arm64\"\n```\n\nBut if you use older GNU/Linux platforms (e.g. Ubuntu 18.04 or before) as your host OS, you need to copy qemu-aarch64-static into the base directory of the target:\n\n```console\n% export TARGET_BASE=\"ubuntu-bionic\"\n% sudo apt install qemu-user-static\n% cd /path/to/fluent-package-builder\n% cp /usr/bin/qemu-aarch64-static fluent-package/apt/${TARGET_BASE}\n% rake apt:build APT_TARGETS=\"${TARGET_BASE}-arm64\"\n```\n\n## How to build .msi package\n\n```console\n% rake msi:build\n```\n\nA fluent-package-${version}-x64.msi package will be built under fluent-package/msi directory.\n\n### Note for Windows package\n\nYou can use with [MSYS2](https://www.msys2.org/) for C extension gem building.\n\nMSI included Ruby can detect MSYS2 environment.\nSo, you can install C extension included gem with MSYS2.\n\ne.g.)\n\nPrepare C extension gem building environment:\n\n```console\ncmd\u003e ridk install 2\n...\ncmd\u003e ridk install 3\n```\n\nInstall gem via `ridk exec fluent-gem install`:\n\n```console\ncmd\u003e ridk exec fluent-gem install winevt_c\n```\n\n## How to build .dmg package\n\n```console\n% sudo mkdir /opt/fluent\n% sudo chown $(whoami) /opt/fluent\n% rake dmg:selfbuild\n```\n\nA fluent-package-${version}.dmg package will be built under fluent-package/dmg directory.\n\n### Note for macOS package\n\nGitHub Actions' built package is ready to run on macOS 10.15 (Catalina).\n\nBe sure to permit to be authorized for for assistive access.\nIn System Preferences \u003e Security \u0026 Privacy \u003e Privacy \u003e Accessibility, you should permit Terminal.app there.\n\n**NOTE:** Since authorization is at the application level on Terminal.app, it allows any script run from Terminal.app to perform GUI scripting.\n\n## How to bump up the package version\n\n* Edit fluent-package/config.rb to choose Ruby \u0026 Fluentd versions\n* Edit Gemfile and update .lock files\n  * `cd fluent-package \u0026\u0026 rake lockfile:update`\n* Bump up the versions of rpm \u0026 deb packages by the following command:\n```\n% cd fluent-package\n% rake version:update\n% git diff  # Check the change log\n% git commit -a\n```\n* Build packages\n```\n% rake apt:build\n% rake yum:build\n% rake msi:build\n```\n\n### Note for bump up the package version\n\nIt assumes that Gemfile works with Bundler's multiplatform feature,\nso bundler must be 2.2.0 or later.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluent%2Ffluent-package-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluent%2Ffluent-package-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluent%2Ffluent-package-builder/lists"}