diff options
Diffstat (limited to 'leap.mdwn')
-rw-r--r-- | leap.mdwn | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/leap.mdwn b/leap.mdwn deleted file mode 100644 index e669df4..0000000 --- a/leap.mdwn +++ /dev/null @@ -1,153 +0,0 @@ -Example: packaging leap_cli and dependencies -============================================ - -Upstream: https://leap.se/code/issues/6503 - -Determine dependencies ----------------------- - -First, in a *fresh* vagrant box with *sid* and *testing* in the `sources.list`: - - sudo apt-get install rubygems gem2deb - sudo gem install leap_cli - -Then we get the dependencies and build all packages: - - dependencies=" `gem list | cut -d '(' -f 1` " - -Which currently gives us the following result: - -* activemodel -* activesupport -* base32 -* blockenspiel -* builder -* capistrano -* colored -* command_line_reporter -* gli -* gpgme -* highline -* i18n -* json -* json_pure -* leap_cli -* mini_portile -* minitest -* net-scp -* net-sftp -* net-ssh -* net-ssh-gateway -* paint -* tee -* thread_safe -* tzinfo -* versionomy -* ya2yaml - -Gem cleanup: - - sudo gem uninstall $dependencies - -Check existing dependencies: - - for item in $dependencies; do - package=ruby-"`echo $item | sed -e 's/_/-/'`" - packages="$packages $package" - done - - apt-get install --dry-run $packages - -Then: - -* Check for non-existing packages. -* Try different package names. -* Update your list of existing `$packages`. - -In this example we have the following `$already_ported` dependencies: - -* capistrano -* ruby-activemodel -* ruby-activesupport -* ruby-blockenspiel -* ruby-builder -* ruby-colored -* ruby-gpgme -* ruby-highline -* ruby-i18n -* ruby-json -* ruby-minitest -* ruby-net-scp -* ruby-net-sftp -* ruby-net-ssh -* ruby-net-ssh-gateway -* ruby-paint -* ruby-thread-safe -* ruby-tzinfo -* ruby-versionomy - -That means the following `$gems` needs to be packaged: - -* base32 -* command_line_reporter -* gli -* json_pure (we can just use ruby-json and ignore this dependency) -* leap_cli -* mini_portile -* tee -* ya2yaml - -In summary, we need to port the following `$new_packages`: - -* ruby-base32 -* ruby-command-line-reporter -* ruby-gli -* ruby-mini-portile -* ruby-tee -* ruby-ya2yaml -* ruby-leap-cli - -Build remaining packages ------------------------- - - for gem in $gems; do - gem2deb $gem - done - -Getting the source for the existing packages --------------------------------------------- - - for package in $already_ported; do - apt-get -t jessie source --download-only $package - dpkg-source -x $package*dsc - done - -Next steps ----------- - -* Fix `debian/control` and other `FIXME` on each package. -* Put `debian/` folder in a `debian` branch on each source. -* Fix [tests](https://wiki.debian.org/Teams/Ruby/Packaging/Tests). -* [Other best practices](https://wiki.debian.org/Teams/Ruby/RubyExtras/UpstreamDevelopers). -* [Review the code](https://manual.sarava.org/specs/code/). -* Automate building with pbuilder for `sid`. -* Fix lintian warnings. -* Upstream pull requests. -* Backport everything to `wheezy`. - -Per-package tasks ------------------ - -* ruby-faker: - * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765124 - * https://github.com/rails/rails/issues/13164 -* ruby-leap-cli: - * net-ssh compatibility: - * https://github.com/net-ssh/net-ssh/issues/145 - * https://github.com/capistrano/capistrano/issues/927 - * workflow: - - git checkout develop - git archive --prefix=leap-cli-1.5.6/ --format=tar HEAD | bzip2 > ../tarballs/leap-cli-1.5.6.tar.bz2 - git checkout debian - git-buildpackage --git-ignore-branch |