summaryrefslogtreecommitdiff
path: root/morphlib/plugins/artifact_inspection_plugin.py
Commit message (Collapse)AuthorAgeFilesLines
* Unify local and remote repo cache modulesSam Thursfield2016-03-161-23/+14
| | | | | | | | | | | | | | | | | | | | | There's not really any reason you'd want to use the RemoteRepoCache class except as a workaround for the slow speed of some LocalRepoCache operations, so I can't see this ruining anyone's day. The main reason for doing this is so we can simply the sourceresolver code. One reason that the sourceresolver class is so hopelessly complicated is that it right now has to use two incompatible interfaces for Git repo caches. I've taken the opportunity to detangle the RepoCache class from the App class. Now all of the configuration for the RepoCache class is passed into the constructor explicitly. This makes the class usable from outside Morph: resolver = morphlib.repoaliasresolver.RepoAliasResolver(aliases=[]) repo_cache = morphlib.repocache.RepoCache('/src/cache/gits', resolver) Change-Id: I596c81d7645b67504c88e555172a8c238f4f8a66
* Hide get_repo() and cache_repo() functions, always use get_updated_repo()Sam Thursfield2016-03-031-5/+3
| | | | | | | | | | This allows us to simplify a couple of places. I cannot think of a single situation where'd you want to get the cached copy of a repo, but not update it. Think about it -- the repo might be *years* behind the upstream remote. Change-Id: I60340c7fb33e7bfe871ad30c0a9322a7202548e2
* morphlib: Use new temp_dir helper context managerRichard Maw2015-06-051-6/+4
| | | | Change-Id: Ie4e024a63f2ab1c7ea66f2cbedaef99c9adf5e69
* Add a CSV manifest generator.Adam Coldrick2015-04-301-2/+2
| | | | | | | | | | | | | | | | This adds a `morph generate-manifest-csv` command which creates a CSV manifest for a system containing license information, upstream URL and a guess at the version of each component in a system. The existing `morph generate-manifest` is also renamed to `morph generate-manifest-genivi` to improve the distinction between the two commands which generate a manifest. The basis of this commit was done by Michael Drake <michael.drake@codethink.co.uk>. Change-Id: I712de11eaa6e1564c5bae5f5f396e5e77484972f
* Use python3 compatible notation for catching exceptionsJavier Jardón2015-03-161-1/+1
| | | | Change-Id: Ibda7a938cd16e35517a531140f39ef4664d85c72
* Use the modern way of the GPL copyright header: URL instead real addressJavier Jardón2015-03-161-3/+2
| | | | Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
* Rework CachedRepo to use the GitDirectory class where possibleSam Thursfield2014-12-031-2/+2
| | | | | | | | | | | | | This consolidates a bunch of code paths that were previously duplicated. This also changes the API for local cached repos to match the function names GitDirectory uses. Note that the remote repo cache still uses the old names, and should be fixed when time permits. Some unit tests that use the CachedRepo module required a bit of inelegant monkey-patching in order that they continue to work. A better way to do this would be with the 'mock' library (which would need to be added to Baserock 'build' and 'devel' systems before we could use it).
* Remove overlap detection logicRichard Maw2014-10-011-32/+0
| | | | | | | I've rarely needed to use it, and on those rare occasions, it would have been easy enough to calculate it. Let's get rid of this step, and save everyone some time in future.
* Remove run-in-artifact subcommandRichard Maw2014-10-011-1/+1
| | | | It's easy enough to deploy the image.
* Replaces Tempdir with fs.tempfs.TempFSDaniel Firth2013-12-201-14/+17
|
* Fix bug in autotools versionRichard Ipsum2013-10-081-2/+3
|
* Fixups for the Manifest generatorTiago Gomes2013-07-121-1/+2
|
* Improve docstring for "morph generate-manifest"Lars Wirzenius2013-07-051-2/+29
|
* Improve docstring for "morph run-in-artifact"Lars Wirzenius2013-07-051-1/+14
|
* Improve the GENIVI manifest generationTiago Gomes2013-07-051-34/+34
| | | | | | | | | | | | | | | | - Stop prefixing every field with the column name. Add a top row with the names of the columns. - Remove the morphology column. - Append the version to the artifact name instead of keeping it in a separate column - Use 7-char SHA1s for commit ids - Use 7-char SHA1s for build references (baserock/build/...) - Use 7-char for the cache key
* Add version guessing for autotools projectsJannis Pohlmann2013-02-211-1/+139
| | | | | This is more of a rough sketch so far, it's very ugly but it does work for a fair amount of projects.
* Add image inspection pluginJannis Pohlmann2013-02-211-0/+156
This adds a `run-in-artifact` command which allows another command to be run in a system. There is also a `content-manifest` command which gives a manifest of the artifacts, which commits they were built from, and if possible, a version. This adds a morphlib.bins.call_in_artifact_directory() method to run a command inside an artifact and to generate a manifest.