-
Notifications
You must be signed in to change notification settings - Fork 461
Packaging GEMs
In case that you don't have gem2rpm installed, you can find an up to date version in devel:languages:ruby.
-
Branch the package you want to update and check it out via osc.
osc bco devel:languages:ruby:extensions rubygem-foo -
Fetch the new gem from rubygems.org. If you want to get the newest version, you can run this command:
gem2rpm -o rubygem-foo.spec --fetch foo -
Add the new gem and remove the old one.
rm foo-OLDVERSION.gem osc addremove -
Try a local build to see if it works
osc build -
Update the changelog. The upstream changelog can usually be found in the gem sources ('Source Code' link in rubygems.org).
osc vc -
Commit/push the changes to the server
osc commit -
Submit the patched package to devel:languages:ruby:extensions.
osc srThis can also be done in the webui by clicking the 'Submit package' link.
-
Branch an existing package from devel:languages:ruby:extensions to have a branch project with the right setup.
osc bco devel:languages:ruby:extensions rubygem-aasm -
Create a new package in your branch project checkout
cd home:YOU:branches:devel:languages:ruby:extensions osc mkpac rubygem-foo -
Follow the 'Patching an existing package' guide.
-
Copy the standard gem2rpm.yml file from the template
cp /usr/share/doc/packages/ruby$VERSION-rubygem-gem2rpm/gem2rpm.yml . -
Ensure that the license of the GEM allows us to package and distribute the gem. Also make sure the license and all relevant metadata (eg. project url) appear in the spec file.
- Development Environment Overview
- Development Environment Tips & Tricks
- Spec-Tips
- Code Style
- Rubocop
- Testing with VCR
- Test in kanku
- Authentication
- Authorization
- Autocomplete
- BS Requests
- Events
- ProjectLog
- Notifications
- Feature Toggles
- Build Results
- Attrib classes
- Flags
- The BackendPackage Cache
- Maintenance classes
- Cloud uploader
- Delayed Jobs
- Staging Workflow
- StatusHistory
- OBS API
- Owner Search
- Search
- Links
- Distributions
- Repository
- Data Migrations
- Package Versions
- next_rails
- Ruby Update
- Rails Profiling
- Remote Pairing Setup Guide
- Factory Dashboard
- osc
- Setup an OBS Development Environment on macOS
- Run OpenQA smoketest locally
- Responsive Guidelines
- Importing database dumps
- Problem Statement & Solution
- Kickoff New Stuff
- New Swagger API doc
- Documentation and Communication
- GitHub Actions
- Brakeman
- How to Introduce Software Design Patterns
- Query Objects
- Services
- View Components
- RFC: Core Components
- RFC: Decorator Pattern
- RFC: Backend models
- RFC: Hotwire Turbo Frames Pattern