| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
Reviewed-by: Jonathan Maw <jonathan.maw@codethink.co.uk>
|
|
|
|
|
|
|
|
|
|
| |
Previously, we were installing morphlib/plugins/*.py as package
data. It now needs to be a proper Python package, so that
"import morophlib.plugins" works (or "import morphlib.plugins.foo_plugin").
This requires us to install the morphlib/plugins/__init__.py file
in setup.py, which this patch makes happen.
Reported-By: Jonathan Maw
|
| |
|
|
|
|
|
|
| |
If __file__ has no directory in it, dirname will return the empty
string, which in turn will break subprocess.Popen. The fix is to
use '.' instead of the empty string.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When morph is built, it writes various version information from git
into morphlib.
When morphlib is loaded it attempts to read this version information.
if it cannot be found then it checks whether morphlib is being run from
inside a git checkout, if it is then it reads the information that way.
If it isn't in a git checkout then it raises an exception as builds made
in such a fashion are not reproducible.
The git version information retained is:
1. The output of git describe
This is a relatively human-friendly way of knowing a version and
gives a reasonably short output string.
This will end with `-unreproducible` if there were uncommitted changes.
2. The commit sha1, so the exact part of Morph's history can be found
3. The tree sha1, so if the branch has been rebased rather than
merged such that the commit is lost, you may still be able to find
it, though it requires a git-wizard to check it out
4. The branch of morph, so that it's easier to see if the
Further possible changes to increase reproducibility include:
1. Not allowing `python setup.py build` if there are uncommitted changes
2. Failing to run with uncommitted changes (recommended against since it
will just annoy developers who are making changes to morph, and make
them commit just to shut it up, then destroy the history later)
Requiring an extra flag to build in this case may work better.
3. Reading the uncommitted changes into a tree object and including
that would allow it to be recovered if the tree was later committed.
4. Checking whether the commit has been pushed upstream as well.
Too annoying to work.
|
|
|
|
|
| |
The proper way to run setup.py is with "python setup.py". That allows
you to choose the right Python version to use.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This was done with the aid of the pep8 script, available by running
`easy_install pep8`.
It may be worth making this part of ./check, but that will require
putting pep8 into the development tools stratum.
This should be easy, given pep8 has no external dependencies.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Plugins weren't installed because package installation doesn't by
default include subdirectories.
This would break system building on any morph which uses the plugins
instead of having system build built-in.
package_data seems to be the correct way to do this, as plugins aren't
library files since they have different loading characteristics, such
as different search paths and every found plugin is loaded, rather than
on-demand.
|
| |
|
| |
|
|
|
|
|
|
| |
We don't do releases, so having the version number in the source is
misleading. If and when we start doing numbered releases, it's easy
to add back. However, YAGNI and all that.
|
| |
|
|
|