{"id":22700224,"url":"https://github.com/simp/rubygem-simp-rake-helpers","last_synced_at":"2026-03-02T11:01:40.202Z","repository":{"id":32298748,"uuid":"35873709","full_name":"simp/rubygem-simp-rake-helpers","owner":"simp","description":"Rake Helpers for the SIMP Rake tasks","archived":false,"fork":false,"pushed_at":"2025-12-26T05:56:35.000Z","size":1047,"stargazers_count":3,"open_issues_count":7,"forks_count":10,"subscribers_count":14,"default_branch":"master","last_synced_at":"2026-01-04T21:17:50.462Z","etag":null,"topics":["gem","hacktoberfest","helpers","puppet","rake","ruby","simp"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-05-19T09:49:45.000Z","updated_at":"2025-12-08T18:23:51.000Z","dependencies_parsed_at":"2025-08-13T19:14:07.762Z","dependency_job_id":"1dc17a91-12d5-4915-9acd-403f6687124c","html_url":"https://github.com/simp/rubygem-simp-rake-helpers","commit_stats":null,"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/simp/rubygem-simp-rake-helpers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simp%2Frubygem-simp-rake-helpers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simp%2Frubygem-simp-rake-helpers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simp%2Frubygem-simp-rake-helpers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simp%2Frubygem-simp-rake-helpers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simp","download_url":"https://codeload.github.com/simp/rubygem-simp-rake-helpers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simp%2Frubygem-simp-rake-helpers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29365753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: 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":["gem","hacktoberfest","helpers","puppet","rake","ruby","simp"],"created_at":"2024-12-10T06:10:33.634Z","updated_at":"2026-03-02T11:01:39.342Z","avatar_url":"https://github.com/simp.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# simp-rake-helpers\n\n[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n[![Build Status](https://travis-ci.org/simp/rubygem-simp-rake-helpers.svg?branch=master)](https://travis-ci.org/simp/rubygem-simp-rake-helpers)\n[![Gem](https://img.shields.io/gem/v/simp-rake-helpers.svg)](https://rubygems.org/gems/simp-rake-helpers)\n[![Gem_Downloads](https://img.shields.io/gem/dt/simp-rake-helpers.svg)](https://rubygems.org/gems/simp-rake-helpers)\n\n#### Table of Contents\n\n\u003c!-- vim-markdown-toc GFM --\u003e\n\n* [Overview](#overview)\n  * [This gem is part of SIMP](#this-gem-is-part-of-simp)\n  * [Features](#features)\n* [Setup](#setup)\n  * [Gemfile](#gemfile)\n* [Usage](#usage)\n  * [In a Puppet module](#in-a-puppet-module)\n  * [Environment Variables](#environment-variables)\n  * [In a Ruby Gem](#in-a-ruby-gem)\n  * [Generating RPMs](#generating-rpms)\n    * [RPM Changelog](#rpm-changelog)\n    * [RPM Dependencies](#rpm-dependencies)\n* [Reference](#reference)\n  * [simp/rake/rpm](#simprakerpm)\n    * [`rake pkg:rpm`](#rake-pkgrpm)\n    * [`rake pkg:tar`](#rake-pkgtar)\n* [Limitations](#limitations)\n* [Development](#development)\n  * [License](#license)\n  * [History](#history)\n\n\u003c!-- vim-markdown-toc --\u003e\n\n## Overview\n\nThe `simp-rake-helpers` gem provides common Rake tasks to support the SIMP build process.\n\n### This gem is part of SIMP\n\nThis gem is part of (the build tooling for) the [System Integrity Management Platform](https://simp-project.com), a compliance-management framework built on [Puppet](https://puppetlabs.com/).\n\n\n### Features\n\n* Customizable RPM packaging based on a Puppet module's [`metadata.json`][metadata.json]\n* RPM signing\n* Rubygem packaging\n\n## Setup\n\n### Gemfile\n\n```ruby\n# Variables:\n#\n# SIMP_GEM_SERVERS | a space/comma delimited list of rubygem servers\n# PUPPET_VERSION   | specifies the version of the puppet gem to load\npuppetversion = ENV.key?('PUPPET_VERSION') ? \"#{ENV['PUPPET_VERSION']}\" : '~\u003e3'\ngem_sources   = ENV.key?('SIMP_GEM_SERVERS') ? ENV['SIMP_GEM_SERVERS'].split(/[, ]+/) : ['https://rubygems.org']\n\ngem_sources.each { |gem_source| source gem_source }\n\ngroup :test do\n  gem 'puppet', puppetversion\n  gem 'beaker-rspec'\n  gem 'vagrant-wrapper'\nend\n```\n\n## Usage\n\n### In a Puppet module\n\nWithin the project's Rakefile:\n\n```ruby\nrequire 'simp/rake/pupmod/helpers'\n\nSimp::Rake::Pupmod::Helpers.new(File.dirname(__FILE__))\n```\n\n### Environment Variables\n\nSome environment variables have been added to help you work with different\ntypes of testing scenarios and are documented below.\n\nBy default, only the modules found in the local `.fixtures.yml` file will be\nincluded.\n\n* `SIMP_RSPEC_PUPPETFILE`\n  * Ignore the local `.fixtures.yml` and use the modules listed in the specified Puppetfile\n  * Downloaded items that are not Puppet modules will be removed from the\n    downloaded fixtures prior to testing\n  * Set this to a valid URL to download a remote Puppetfile for use\n\n* `SIMP_RSPEC_MODULEPATH`\n  * Will ignore the local `.fixtures.yml` file and create one entirely of\n    symlinks that point to the modules present at the specified path.\n  * If specified with `SIMP_RSPEC_PUPPETFILE` then will use the\n    matching modules from the target directory instead of downloading them.\n    Modules not present in the target directory will still be downloaded.\n\n* `SIMP_RSPEC_FIXTURES_OVERRIDE`\n  * Set to `yes` to ignore the local `.fixtures.yml` file\n  * This will cause the generated file to include **all** modules from the\n    Puppetfile or Module Path\n\n### In a Ruby Gem\n\nWithin the project's Rakefile:\n\n```ruby\nrequire 'simp/rake/rubygem'\n\n# e.g., \"simp-rake-helpers\"\npackage = 'name-of-rubygem'\nSimp::Rake::Rubygem.new(package, File.dirname(__FILE__)\n\n```\n\nTo see the extra rake tasks:\n\n```sh\nbunde exec rake -T\n```\n\n### Generating RPMs\n\nThe task [`rake pkg:rpm`](#simprakerpm)) provides the ability to package an RPM\nfrom *any* Puppet module (regardless of whether it is a SIMP module or not).\nThe only requirement is that the Puppet module MUST include a valid\n[`metadata.json`][metadata.json] file with entries for `name`,\n`version`, `license`, `summary`, and `source`.\n\n[metadata.json]: https://docs.puppet.com/puppet/latest/reference/modules_metadata.html\n\nThe RPM package may be configured by other (optional) files under the project\ndirectory .  The full list of files considered are:\n\n```\n./\n├── metadata.json     # REQUIRED keys: name, version, license, summary, source\n├── CHANGELOG         # OPTIONAL written in RPM's CHANGELOG format\n└── build/            # OPTIONAL\n    └── rpm_metadata/ # OPTIONAL\n        ├── release   # OPTIONAL defines the RPM's \"-\u003cqualifier\u003e\" release qualifier\n        ├── requires  # OPTIONAL supplementary 'Requires','Provides','Obsoletes'\n        └── custom/   # OPTIONAL\n          └── *       # OPTIONAL custom snippets in RPM .spec format\n```\n\n*NOTE*: The dependencies in `metadata.json` are *not* used to generate RPM\ndependencies!\n\n\n#### RPM Changelog\n\nThe RPM Changelog will be derived from a `CHANGELOG` file at the top\nlevel of the project, if it exists.\n\n  * The file is expected to conform to the [RPM Changelog][RPM CHANGELOG]\n    format described in the Fedora packaging guidelines\n\n  * The file MUST start with a well-formatted RPM changelog string, or it will\n    be ignored.\n\n    Example:\n\n        * Mon Nov 06 2017 Tom Smith \u003ctom.smith@simp.com\u003e - 3.8.0\n        - Add feature x\n\n    **Important:** Note the leading zero in \"`Nov 05`\".  It is a convention\n\n    that is **required** by our CHANGELOG validation tasks.\n  * The format is *not* fully checked before attempting to build the RPM―the\n    RPM build will fail if the Changelog entries are not valid.\n\n[RPM CHANGELOG]: https://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs\n\n\n#### RPM Dependencies\n\nIt is likely that you will want to declare your dependencies in your RPM. To do\nthis, create a `build/rpm_metadata` directory at the root of the project.\nA `requires` file in the `build/rpm_metadata` directory will be\nused to declare the dependencies of the RPM. A file named `release` in the\n`build/rpm_metadata` directory will be used to declare the RPM release\nnumber.\n\nThe following directives may be declared in the `requires` file:\n  * `Provides:`\n  * `Requires:`\n  * `Obsoletes:`\n\n## Reference\n\n### simp/rake/rpm\n\n#### `rake pkg:rpm`\n\nPackages the current SIMP project as an RPM\n\n#### `rake pkg:tar`\n\nBuild the tar package for the current SIMP project\n\n## Limitations\n\n## Development\n\nPlease see the [SIMP Contribution Guidelines](https://simp-project.atlassian.net/wiki/display/SD/Contributing+to+SIMP).\n\n### License\n\nSee [LICENSE](LICENSE)\n\n### History\n\nSee [CHANGELOG.md](CHANGELOG.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimp%2Frubygem-simp-rake-helpers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimp%2Frubygem-simp-rake-helpers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimp%2Frubygem-simp-rake-helpers/lists"}