summaryrefslogtreecommitdiff
path: root/devel/monotone
diff options
context:
space:
mode:
authorbjs <bjs>2008-09-05 20:48:46 +0000
committerbjs <bjs>2008-09-05 20:48:46 +0000
commit7a8775052a9a72b4c3905f5c39628366b072b6b4 (patch)
tree62409dbd23fc005321584346a117c02e7ed7f3a1 /devel/monotone
parent3322e0c02446a500a3834e38e398854db50a2f3d (diff)
downloadpkgsrc-7a8775052a9a72b4c3905f5c39628366b072b6b4.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/monotone')
-rw-r--r--devel/monotone/Makefile9
-rw-r--r--devel/monotone/PLIST4
-rw-r--r--devel/monotone/distinfo9
-rw-r--r--devel/monotone/patches/patch-aa121
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);