summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * rubygems: Support .gemspec files in subdirectories of the git repoSam Thursfield2014-11-201-12/+26
| | | | | | | | This is cool because now you can import Ruby on Rails.
| * omnibus: Add more stuff to README.omnibusSam Thursfield2014-11-201-7/+39
| |
| * Add --force-stratum-generation optionSam Thursfield2014-11-202-16/+31
| | | | | | | | | | This should be useful when a couple of components raise errors but you know that you don't need them anyway.
| * rubygems.to_chunk: Clarify FIXME commentSam Thursfield2014-11-201-3/+5
| |
| * Fix rubygems.to_chunk failing when run inside `bundle exec`Sam Thursfield2014-11-202-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By calling Bundler::Dsl.gemspec without specifying :path, this tool was causing the Bundler::Source::Path instance for the target .gemspec to be for path '.', which is relative path that is only valid inside one Dir.chdir block. It seems that all the Bundler resolution code runs inside that block and so there should be no problem, but unless we specify an absolute path for the gemspec then errors like this sometimes appear: /usr/lib/ruby/gems/2.0.0/gems/bundler-1.7.6/lib/bundler/resolver.rb:357:in `resolve': Could not find gem 'ffi-yajl (>= 0) ruby' in source at .. (Bundler::GemNotFound) Source does not contain any versions of 'ffi-yajl (>= 0) ruby' This normally happens when an Omnibus import chains to rubygems.to_chunk for a RubyGem component. The path is clearly valid at the time Bundler::Dsl.gemspec is called (otherwise it'd raise a Bundler::InvalidOption exception at the time) but not valid later (hence the error). Note that the second '.' in that error message is a full stop and not part of the path!
| * Fix stratum generation to work for all kinds of dependenciesSam Thursfield2014-11-181-1/+8
| | | | | | | | | | | | Previously it was hardcoded to just look for rubygems deps, which has an obvious flaw. It now looks for all types of dependencies that were enabled with enable_importer().
| * rubygems: Remove Hoe from build-dependency-whitelistSam Thursfield2014-11-181-2/+3
| | | | | | | | | | | | | | It's now in the 'ruby' stratum, so the import tool can ignore it. The build-dependency-whitelist field is now empty, and I'm not sure it's actually useful to have it but I won't remove the code yet.
| * omnibus: Recommend `--deployment` flag for `bundle install`Sam Thursfield2014-11-181-5/+7
|/ | | | | | | This avoids a situation where `bundle install` expects a bunch of stuff to exist in /usr or /home but you have since moved the repo around. Installing stuff in /usr is not recommended in Baserock because it gets lost on upgrades (and /usr will one day be read only, I expect).
* Fix error in stratum generationSam Thursfield2014-11-181-1/+1
| | | | | | | | | | | | This was caused by a mistake in: commit c8e156fe181c8e62fda9f9a999af1f0a0980a0ce Author: Sam Thursfield <sam.thursfield@codethink.co.uk> Date: Mon Nov 17 17:20:00 2014 +0000 Don't force the generated stratum through morphloader validation We should be able to trust it, since we literally just generated it.
* Merge branch 'sam/post-review-changes'Sam Thursfield2014-11-173-14/+8
|\ | | | | | | Thanks to Richard Maw for finding most of these issues.
| * omnibus: Fix chaining to rubygems.to_chunkSam Thursfield2014-11-171-2/+2
| |
| * omnibus: Simplify 'bundler exec' callSam Thursfield2014-11-171-4/+2
| | | | | | | | There's no need for quite so many subshells.
| * Don't force the generated stratum through morphloader validationSam Thursfield2014-11-171-3/+2
| | | | | | | | We should be able to trust it, since we literally just generated it.
| * Clean up use of a temporary file slightlySam Thursfield2014-11-171-5/+2
|/
* setup.py: Force import extensions to have execute permissions preservedSam Thursfield2014-11-111-0/+26
| | | | | | | | Code for this was taken from Morph's setup.py file. It would possibly be more correct to install these files into a subdirectory of /usr/libexec but it'd be a more complex solution for little actual benefit.
* Fix some file locating and move data/ inside the baserockimport packageSam Thursfield2014-11-114-1/+2
| | | | Now data/ actually gets installed too.
* Make baserock-import binary executableSam Thursfield2014-11-111-0/+0
|
* Be more consistent that definitions-dir must be a Git repoSam Thursfield2014-11-112-16/+4
| | | | | | | If we create the definitions-dir we also initialise it as a Git repo, now. I also deleted a no-longer-needed hack.
* Remove .py from the program filenameSam Thursfield2014-11-062-1/+1
|
* Some code has been merged with morphlibSam Thursfield2014-11-061-27/+1
| | | | | This version of the import tool requires morph.git commit 6779e46e880eec757a6923441accef2442007677 or newer.
* Add setup.py and move exts/ inside baserockimport packageSam Thursfield2014-11-0511-0/+46
| | | | | | It's slightly annoying during development, but the exts/ must be inside the package or it would be installed somewhere silly like /usr/lib/python2.7/site-packages/exts.
* Document and clarify code of main import loopSam Thursfield2014-10-211-49/+90
|
* rubygems.to_lorry: Remove trailing newline from exception messageSam Thursfield2014-10-211-1/+1
|
* Organise import extensions and data into subdirectoriesSam Thursfield2014-10-2113-5/+12
| | | | Finally the repo starts to look a little more tidy!
* Reorganise, tidy and document code of main applicationSam Thursfield2014-10-217-418/+592
|
* Tidy up Ruby codeSam Thursfield2014-10-214-18/+15
| | | | | | | Use \ for multiline strings in Ruby instead of +. Change 'raise Exception' to just 'raise', because Exception is the default type.
* Update README slightlySam Thursfield2014-10-211-3/+3
|
* Improve README.rubygemsSam Thursfield2014-10-161-5/+39
|
* Store dependency info in a separate file, not in the chunk morphologySam Thursfield2014-10-158-287/+521
| | | | | | | | | | | This means that the tool can work without requiring changes to Morph to allow new fields in morphologies. It also makes it easier to throw away the foreign dependency information once an import is complete. The downside is that there are now 3 types of extension, not two, and a lot of code needed factoring out into base classes (and more needs factoring out still). There are now .to_lorry, .to_chunk and .find_deps extensions.
* Initial import of Baserock import tool for importing foreign packagingSam Thursfield2014-10-1412-0/+2105