diff options
author | bjs <bjs> | 2008-09-05 20:48:46 +0000 |
---|---|---|
committer | bjs <bjs> | 2008-09-05 20:48:46 +0000 |
commit | 1b76ee9b6d8079ccc31a4e92780868b630d70123 (patch) | |
tree | 62409dbd23fc005321584346a117c02e7ed7f3a1 /devel | |
parent | 8b4aaa4d48d2bb9b9a2451c50e95648aa8e815bf (diff) | |
download | pkgsrc-1b76ee9b6d8079ccc31a4e92780868b630d70123.tar.gz |
Update to monotone-0.41.
pkgsrc-specific changes:
add REPLACE_SH for new bin/mtnopt shell script. Remove unneeded patch-aa;
the bug is no longer.
NEWS:
Changes
- 'mtn clone' now takes a branch argument rather than a branch
option which is more what people expect given the fact that
mtn push/pull/sync do not use a branch option either.
- 'mtn automate inventory' will show the birth revision for
any file that has been committed.
Bugs fixed
- If the options '--db' or '--keydir' were previously
specified for a command which was executed inside a
workspace and one or both option arguments were invalid
(f.e. invalid paths), they were still written to
_MTN/options of the particular workspace. This lead to
errors on any subsequent command which used these
options. This bug is fixed in so far that basic file type
checks are applied on both options, so its no longer
possible to set non-existing paths accidentally or use a
path to a directory as option argument for '--db'.
- If a key clash occurs on a netsync operation, i.e. two
different keys with the same key id are encountered, mtn now
fails cleanly and provides further guidance how to proceed.
- It was previously not possible to clone a branch / database
anonymously; this has been fixed.
- If the client tries to use an unknown key, try to fall back
to anonymous pull instead of failing immediately.
- 'mtn automate identify' was broken in 0.40 when used over
stdio, i.e. the output of the command did not get into the
right output channel; this has been fixed.
- Monotone would produce a warning if executed from the root
directory of a Windows drive; this has been fixed.
- The 'note_commit' hook now returns the new revision id
hex-encoded again - the bug was introduced in 0.40.
New features
- New 'mtn suspend' command which lets you mark certain
revisions and thus whole branches as discontinued
("suspended") by attaching a special suspend cert to the
revision. All relevant mtn commands (f.e. mtn heads,
mtn ls branches) honor this cert by default. To ignore it,
simply add '--ignore-suspend-certs' to your command line.
Suspended revisions can have children, which are in no
way affected by the cert of their parent, i.e. suspended
development lines or branches can simply be "unsuspended"
by committing to them.
This feature was already added in monotone 0.37, but was
forgotten to be mentioned in NEWS back then.
- New 'get_default_command_options' lua hook which lets you
specify default options for a given, triggered command.
Useful f.e. if you always want to have your 'mtn add'
command executed with '-R' / '--recursive'.
- Add 'automate show_conflicts' command.
- Add 'automate get_workspace_root' command.
- Add Lua hooks 'note_netsync_revision_sent',
'note_netsync_cert_sent' and 'note_netsync_pubkey_sent'.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/monotone/Makefile | 9 | ||||
-rw-r--r-- | devel/monotone/PLIST | 4 | ||||
-rw-r--r-- | devel/monotone/distinfo | 9 | ||||
-rw-r--r-- | devel/monotone/patches/patch-aa | 121 |
4 files changed, 12 insertions, 131 deletions
diff --git a/devel/monotone/Makefile b/devel/monotone/Makefile index 909d23f6e98..4e6dc8f0c14 100644 --- a/devel/monotone/Makefile +++ b/devel/monotone/Makefile @@ -1,10 +1,9 @@ -# $NetBSD: Makefile,v 1.54 2008/05/25 21:42:21 joerg Exp $ +# $NetBSD: Makefile,v 1.55 2008/09/05 20:48:46 bjs Exp $ # -DISTNAME= monotone-0.40 -PKGREVISION= 1 +DISTNAME= monotone-0.41 CATEGORIES= devel scm -MASTER_SITES= http://monotone.ca/downloads/0.40/ +MASTER_SITES= http://monotone.ca/downloads/0.41/ MAINTAINER= jmmv@NetBSD.org HOMEPAGE= http://monotone.ca/ @@ -28,6 +27,8 @@ PKG_SUPPORTED_OPTIONS= inet6 CHECK_INTERPRETER_SKIP+= share/monotone/contrib/* CHECK_PORTABILITY_SKIP+= debian/* +REPLACE_SH= mtnopt + .include "../../mk/bsd.options.mk" .if !empty(PKG_OPTIONS:Minet6) diff --git a/devel/monotone/PLIST b/devel/monotone/PLIST index c605e74b929..51357f14a7e 100644 --- a/devel/monotone/PLIST +++ b/devel/monotone/PLIST @@ -1,5 +1,6 @@ -@comment $NetBSD: PLIST,v 1.15 2007/12/14 08:58:00 bjs Exp $ +@comment $NetBSD: PLIST,v 1.16 2008/09/05 20:48:46 bjs Exp $ bin/mtn +bin/mtnopt info/monotone.info share/doc/monotone/figures/branch-heads.png share/doc/monotone/figures/cert.png @@ -44,6 +45,7 @@ share/monotone/contrib/monoprof.sh share/monotone/contrib/monotone-buildbot-notification.lua share/monotone/contrib/monotone-cluster-push.lua share/monotone/contrib/monotone-cvs-ignore.lua +share/monotone/contrib/monotone-inotify.lua share/monotone/contrib/monotone-log-of-pulled-revs-hook.lua share/monotone/contrib/monotone-mail-notify.lua share/monotone/contrib/monotone-mirror.lua diff --git a/devel/monotone/distinfo b/devel/monotone/distinfo index ed7c9f1a5d3..7cdf56b95ff 100644 --- a/devel/monotone/distinfo +++ b/devel/monotone/distinfo @@ -1,6 +1,5 @@ -$NetBSD: distinfo,v 1.38 2008/04/28 15:43:52 dan Exp $ +$NetBSD: distinfo,v 1.39 2008/09/05 20:48:46 bjs Exp $ -SHA1 (monotone-0.40.tar.gz) = f1fda6b1d75a359488d09599995526e71a5ef481 -RMD160 (monotone-0.40.tar.gz) = 142ae0723337bff0cec5701d50fdd0eb41659e6c -Size (monotone-0.40.tar.gz) = 5366351 bytes -SHA1 (patch-aa) = f5e5fb07eebcd545607d2afec03d2232cfeb5bc9 +SHA1 (monotone-0.41.tar.gz) = 346e3d813fcd4f20ad2dcd61b57676ec90af8286 +RMD160 (monotone-0.41.tar.gz) = 4f818e13089d32a7edade7e8bb5ca191a379858e +Size (monotone-0.41.tar.gz) = 5330052 bytes diff --git a/devel/monotone/patches/patch-aa b/devel/monotone/patches/patch-aa deleted file mode 100644 index d5879b98a47..00000000000 --- a/devel/monotone/patches/patch-aa +++ /dev/null @@ -1,121 +0,0 @@ -# -# -# patch "key_store.cc" -# from [55878f97b03349c66d95398799780f43ae63165b] -# to [510eb02eab491fd9e79c49fcfcf5e6efa145872f] -# -# patch "ssh_agent.cc" -# from [dcc8cefe23e376c74df2eb10011f874802a609d6] -# to [a2a0e96fd30804230e181747f36dcae3be34fd26] -# -# patch "ssh_agent.hh" -# from [c0c03bdb37905e1e6bbf8350a00fc68b0d83611b] -# to [c9b7efaf4b0f2c137336046b0ebe3ccff7ad5076] -# -============================================================ ---- key_store.cc 55878f97b03349c66d95398799780f43ae63165b -+++ key_store.cc 510eb02eab491fd9e79c49fcfcf5e6efa145872f -@@ -438,6 +438,14 @@ key_store::cache_decrypted_key(const rsa - key_store::cache_decrypted_key(const rsa_keypair_id & id) - { - signing_key = id; -+ keypair key; -+ get_key_pair(id, key); -+ if (s->get_agent().has_key(key)) -+ { -+ L(FL("ssh-agent has key '%s' loaded, skipping internal cache") % id); -+ return; -+ } -+ - if (s->lua.hook_persist_phrase_ok()) - s->decrypt_private_key(id); - } -============================================================ ---- ssh_agent.cc dcc8cefe23e376c74df2eb10011f874802a609d6 -+++ ssh_agent.cc a2a0e96fd30804230e181747f36dcae3be34fd26 -@@ -20,6 +20,7 @@ - #include "botan/bigint.h" - #include <boost/shared_ptr.hpp> - #include "platform.hh" -+#include "key_store.hh" - - #ifdef WIN32 - #include "win32/ssh_agent_platform.hh" -@@ -27,14 +28,18 @@ - #include "unix/ssh_agent_platform.hh" - #endif - -+using std::string; -+using std::vector; -+ -+using boost::shared_ptr; -+using boost::shared_dynamic_cast; -+ - using Botan::RSA_PublicKey; - using Botan::RSA_PrivateKey; - using Botan::BigInt; - using Botan::SecureVector; -+using Botan::X509_PublicKey; - using Netxx::Stream; --using boost::shared_ptr; --using std::string; --using std::vector; - - struct ssh_agent_state : ssh_agent_platform - { -@@ -375,6 +380,35 @@ ssh_agent::get_keys() - return s->keys; - } - -+bool -+ssh_agent::has_key(const keypair & key) -+{ -+ //grab the monotone public key as an RSA_PublicKey -+ SecureVector<Botan::byte> pub_block; -+ pub_block.set(reinterpret_cast<Botan::byte const *>((key.pub)().data()), -+ (key.pub)().size()); -+ L(FL("has_key: building %d-byte pub key") % pub_block.size()); -+ shared_ptr<X509_PublicKey> x509_key = -+ shared_ptr<X509_PublicKey>(Botan::X509::load_key(pub_block)); -+ shared_ptr<RSA_PublicKey> pub_key = shared_dynamic_cast<RSA_PublicKey>(x509_key); -+ -+ if (!pub_key) -+ throw informative_failure("has_key: Failed to get monotone RSA public key"); -+ -+ vector<RSA_PublicKey> ssh_keys = get_keys(); -+ for (vector<RSA_PublicKey>::const_iterator -+ si = ssh_keys.begin(); si != ssh_keys.end(); ++si) -+ { -+ if ((*pub_key).get_e() == (*si).get_e() -+ && (*pub_key).get_n() == (*si).get_n()) -+ { -+ L(FL("has_key: key found")); -+ return true; -+ } -+ } -+ return false; -+} -+ - void - ssh_agent::sign_data(RSA_PublicKey const & key, - string const & data, -============================================================ ---- ssh_agent.hh c0c03bdb37905e1e6bbf8350a00fc68b0d83611b -+++ ssh_agent.hh c9b7efaf4b0f2c137336046b0ebe3ccff7ad5076 -@@ -13,6 +13,8 @@ - #include "vector.hh" - #include <boost/scoped_ptr.hpp> - -+struct keypair; -+ - namespace Botan - { - class RSA_PublicKey; -@@ -26,6 +28,7 @@ struct ssh_agent - ssh_agent(); - ~ssh_agent(); - std::vector<Botan::RSA_PublicKey> const get_keys(); -+ bool has_key(const keypair & key); - void sign_data(Botan::RSA_PublicKey const & key, - std::string const & data, - std::string & out); |