summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Buch <daniel.buch@gmail.com>2010-05-06 13:53:52 -0400
committerDan Buch <daniel.buch@gmail.com>2010-05-06 13:53:52 -0400
commit51cba079b6bc443b3b7004e07df8e838d7133c11 (patch)
treed4ada02a527567819aefcbace79a03a720bc3ae7
parentbc0d65b71946dceabac263e3b8f64b9c2164ad53 (diff)
downloadhg_sshsign-51cba079b6bc443b3b7004e07df8e838d7133c11.tar.bz2
hg_sshsign-51cba079b6bc443b3b7004e07df8e838d7133c11.tar.xz
hg_sshsign-51cba079b6bc443b3b7004e07df8e838d7133c11.zip
updates to get the package into an installable state
- failed unless M2Crypto was already installed - no package or module was actually installed because the setup metadata included neither a `packages` nor a `py_modules` argument
-rw-r--r--.hgignore3
-rw-r--r--hgsshsign/__init__.py14
-rw-r--r--hgsshsign/_meta.py17
-rw-r--r--hgsshsign/keys.py2
-rwxr-xr-xsetup.py28
5 files changed, 42 insertions, 22 deletions
diff --git a/.hgignore b/.hgignore
index a26d142..5998a36 100644
--- a/.hgignore
+++ b/.hgignore
@@ -1,2 +1 @@
1syntax:glob ^.*\.(pyc|egg-info)$
2*.pyc
diff --git a/hgsshsign/__init__.py b/hgsshsign/__init__.py
index 7134ca9..e2cb8c1 100644
--- a/hgsshsign/__init__.py
+++ b/hgsshsign/__init__.py
@@ -1,4 +1,4 @@
1# vim: set filencoding=utf8 1# vim: set filencoding=utf-8
2""" 2"""
3SSH Key Signing 3SSH Key Signing
4 4
@@ -7,15 +7,12 @@ SSH Key Signing
7@date: May 03, 2010 7@date: May 03, 2010
8""" 8"""
9 9
10__version__ = "0.0.1dev"
11
12 10
13import os 11import os
14import binascii 12import binascii
15 13
16import keys 14from hgsshsign._meta import __version__
17from keymanifest import KeyManifest 15from hgsshsign.sshagent import SSHAgent
18from sshagent import SSHAgent
19 16
20from mercurial.i18n import _ 17from mercurial.i18n import _
21from mercurial import util, commands, match 18from mercurial import util, commands, match
@@ -26,6 +23,9 @@ class SSHAuthority(object):
26 23
27 @classmethod 24 @classmethod
28 def from_ui(cls, ui): 25 def from_ui(cls, ui):
26 import hgsshsign.keys as keys
27 from hgsshsign.keymanifest import KeyManifest
28
29 public_key = absolute_path(ui.config("sshsign", "public_key")) 29 public_key = absolute_path(ui.config("sshsign", "public_key"))
30 public_key = keys.PublicKey.from_file(public_key) 30 public_key = keys.PublicKey.from_file(public_key)
31 31
@@ -62,6 +62,8 @@ class SSHAuthority(object):
62 return key.verify(data, signature) 62 return key.verify(data, signature)
63 63
64 def sign(self, data): 64 def sign(self, data):
65 import hgsshsign.keys as keys
66
65 return keys.sign_like_agent(data, self.private_key) 67 return keys.sign_like_agent(data, self.private_key)
66 68
67 69
diff --git a/hgsshsign/_meta.py b/hgsshsign/_meta.py
new file mode 100644
index 0000000..53bc8be
--- /dev/null
+++ b/hgsshsign/_meta.py
@@ -0,0 +1,17 @@
1# vim:filetype=python:fileencoding=utf-8
2
3__version__ = "0.1.0"
4
5SETUP_ARGS = dict(
6 name="hg-sshsign",
7 description="ssh signing for mercurial commits",
8 author="Mike Crute",
9 author_email="mcrute@gmail.com",
10 url="http://code.google.com/p/hg-sshsign",
11 license="Apache 2.0",
12 version=__version__,
13 packages=['hgsshsign'],
14 install_requires=[
15 "M2Crypto",
16 ],
17)
diff --git a/hgsshsign/keys.py b/hgsshsign/keys.py
index d15af08..aa291eb 100644
--- a/hgsshsign/keys.py
+++ b/hgsshsign/keys.py
@@ -8,10 +8,12 @@ Key Loader Functions
8""" 8"""
9 9
10import os 10import os
11
11from M2Crypto import RSA, DSA 12from M2Crypto import RSA, DSA
12from M2Crypto.EVP import MessageDigest 13from M2Crypto.EVP import MessageDigest
13from M2Crypto.RSA import RSAError 14from M2Crypto.RSA import RSAError
14from M2Crypto.DSA import DSAError 15from M2Crypto.DSA import DSAError
16
15from structutils import unpack_string, get_packed_mp_ints, int_to_bytes 17from structutils import unpack_string, get_packed_mp_ints, int_to_bytes
16 18
17 19
diff --git a/setup.py b/setup.py
index 2f9dd82..f845a44 100755
--- a/setup.py
+++ b/setup.py
@@ -1,15 +1,15 @@
1#!/usr/bin/env python
2# vim:filetype=python:fileencoding=utf-8
3import sys
4
1from setuptools import setup 5from setuptools import setup
2from hgsshsign import __version__ 6from hgsshsign._meta import SETUP_ARGS
3 7
4 8
5setup( 9def main():
6 name="hg-sshsign", 10 setup(**SETUP_ARGS)
7 description="ssh signing for mercurial commits", 11 return 0
8 author="Mike Crute", 12
9 author_email="mcrute@gmail.com", 13
10 url="http://code.google.com/p/hg-sshsign", 14if __name__ == '__main__':
11 license="Apache 2.0", 15 sys.exit(main())
12 version=__version__,
13 install_requires=[
14 "M2Crypto",
15 ])