{"id":20829790,"url":"https://github.com/pdf/consul-pkg-fpm","last_synced_at":"2026-03-10T17:32:22.907Z","repository":{"id":136470752,"uuid":"58999058","full_name":"pdf/consul-pkg-fpm","owner":"pdf","description":"Package generator for the official Hashicorp Consul binaries, leveraging fpm to generate RPM and DEB packages.","archived":false,"fork":false,"pushed_at":"2018-11-23T21:47:40.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-12T08:14:59.005Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/pdf.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":"2016-05-17T07:12:16.000Z","updated_at":"2018-11-23T21:47:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"55247d78-629e-4121-b7a6-99efc9d400d3","html_url":"https://github.com/pdf/consul-pkg-fpm","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/pdf/consul-pkg-fpm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdf%2Fconsul-pkg-fpm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdf%2Fconsul-pkg-fpm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdf%2Fconsul-pkg-fpm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdf%2Fconsul-pkg-fpm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pdf","download_url":"https://codeload.github.com/pdf/consul-pkg-fpm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdf%2Fconsul-pkg-fpm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30344428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":"2024-11-17T23:22:08.322Z","updated_at":"2026-03-10T17:32:22.883Z","avatar_url":"https://github.com/pdf.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# consul-pkg-fpm\n\nPackage generator for the official Hashicorp [Consul](https://www.consul.io/) binaries, leveraging [fpm](https://github.com/jordansissel/fpm) to generate RPM and DEB packages.  Tested on Fedora, Debian and Ubuntu.\n\nPackages attempt to follow distribution-specific packaging decisions, so the `rpm` configuration directory is at `/etc/consul`, and the `deb` configuration directory is at `/etc/consul.d`, however the `deb` package diverges from upstream in that it runs consul as an unprivileged user, since this is far more sane IMO.  If you would prefer to have consistent configuration directories across package formats, you may use the `DEB_ETC_DIR` and `RPM_ETC_DIR` variables (see below).\n\n## Prerequisities\n\nRequires the following packages: `wget`; `make`; `unzip`; and `fpm`.\n\n### deb-based distros\n\nInstall base prerequisites:\n\n```bash\nsudo apt-get install wget make unzip\n```\n\nInstall fpm (or see [upstream instructions](https://github.com/jordansissel/fpm#system-packages)):\n\n```bash\nsudo apt-get install ruby ruby-dev gcc\nsudo gem install fpm\n```\n\n### rpm-based distros\n\nInstall base prerequisites (you may need to substitute `dnf` for `yum` on older versions):\n\n```bash\nsudo dnf install wget make unzip\n```\n\nInstall fpm (or see [upstream instructions](https://github.com/jordansissel/fpm#system-packages)):\n\n```bash\nsudo dnf install ruby ruby-devel gcc\nsudo gem install fpm\n```\n\n## Building packages\n\nTo build with the defaults, simply clone the repository and run `make`:\n\n```bash\ngit clone https://github.com/pdf/consul-pkg-fpm \u0026\u0026 cd $_\nmake\n```\n\nPackages are output to the `pkg` sub-directory, under a sub-directory per version.\n\nDownloaded binaries and intermediary files are stored in the `.cache` sub-directory.  You can issue `make clean` or `make dist-clean` to remove cached files.\n\n### Variables\n\nThe Makefile allows defining a few variables to allow customizing the build, they are detailed in the table below:\n\n| Variable      | Default         | Description                                   |\n|:-------------:|:---------------:|-----------------------------------------------|\n| `VERSION`     | `0.9.3`         | Version of Consul to download and package     |\n| `ITERATION`   | `1`             | Package version iteration - this should be increased each time a package is built |\n| `ARCH`        | `amd64`         | Target architecture: `amd64`/`i386`           |\n| `DEB_DIST`    | `unstable`      | Target distribution for deb-based systems     |\n| `RPM_DIST`    | `fc26`          | Target distribution for rpm-based systems     |\n| `DEB_ETC_DIR` | `/etc/consul.d` | Configuration directory for deb-based systems |\n| `RPM_ETC_DIR` | `/etc/consul`   | Configuration directory for rpm-based systems |\n\nGenerally users are likely to only set `VERSION`, `ITERATION` and possibly `ARCH`, ie:\n\n```bash\nmake VERSION=0.6.4 ITERATION=1 ARCH=amd64\n```\n\n### Targets\n\nThe Makefile defines the following targets, with `all` being the default:\n\n| Target       | Description                                                   |\n|:------------:|---------------------------------------------------------------|\n| `all`        | Builds both `deb` and `rpm` packages                          |\n| `deb`        | Build only the `deb` package                                  |\n| `rpm`        | Build only the `rpm` package                                  |\n| `clean`      | Cleans the cache and package output for the specified version |\n| `distclean` | Cleans the cache and package output for all versions          |\n\n```bash\nmake deb VERSION=0.6.4\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n## Acknowledgments\n\n* Andrea Bernardo Ciddio's [consul-deb](https://github.com/bcandrea/consul-deb) project for the inspiration to simplify package builds\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdf%2Fconsul-pkg-fpm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpdf%2Fconsul-pkg-fpm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdf%2Fconsul-pkg-fpm/lists"}