Super Simple Apt Repository
Based on the ideas from Super Simple Apt Repository https://github.com/lukepfarrar/suppository.
A RubyGem that can be used to manage a simple apt repository.
Installation
$ gem install suppository
Usage
Help
$ suppository help
Version
$ suppository version
Create new repository
$ suppository create REPOSITORY_PATH
Add Deb to existing repository
$ suppository add REPOSITORY_PATH DIST_NAME COMPONENT_NAME DEB_FILE
Build
Prerequisites
Tested on Ruby 1.9.3, 2.0.0, 2.1.5 and 2.2.0
Bundler
RubyGems
OSX
If you are developing on a Mac the you will need to install dpkg and gpg for the tests to pass. The simplest way to install it is with Homebrew (see http://brew.sh/ on how to install Homebrew)
$ brew install dpkg
$ brew install gpg
Ubuntu / Debian
dpkg will already be installed but you might need to install gpg.
Run tests
The default rake task will run code quality checks and all the tests.
$ bundle install
$ bundle exec rake
If you want to automatically run the tests during development, you can use Guard. Guard will watch for file changes and run the appropriate tests. See https://github.com/guard/guard for more information on guard
$ bundle exec guard
Create Gem
$ bundle exec rake build
This will run all the tests and then create a gem file. NOTE: Only files tracked by Git will be included in the gem.
Release
Check everything build and the tests pass
$ bundle exec rake build
Create release using GitFlow (http://danielkummer.github.io/git-flow-cheatsheet/)
$ git flow release start [version]
Update the version number and commit changes
$ vi lib/suppository/version.rb
Finish release
$ git flow release finish [version]
Push changes
$ git push
$ git checkout develop
$ git push
$ git push --tags
Travis will now build and deploy to RubyGems.org
Contributing
- Fork it ( https://github.com/TheBookPeople/suppository/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request