Ludovic,

I updated monotone for Debian to fix the remaining issues #624779,
#671080 and #693378. A debdiff against monotone-1.0-6 is attached.

You can download the package with dget:
 dget -x
http://mentors.debian.net/debian/pool/main/m/monotone/monotone_1.0-7.dsc

As I (ab?)used mentors, you can get some more information out of that as
well:
 http://mentors.debian.net/package/monotone

This equals a build from rev c03a3b32655e001a247da4e3d1ce1da0f1a90711 of
the branch org.debian.monotone. I've successfully built that version and
run it through the test suite on hurd-i386 as well. Can you please
review and upload?

Also note that I just applied as a Debian Maintainer [1]. I'd appreciate
a +1 there as well.

Regards

Markus Wanner


[1]: my DM application:
http://lists.debian.org/debian-newmaint/2013/03/msg00019.html
diff -Nru monotone-1.0/debian/changelog monotone-1.0/debian/changelog
--- monotone-1.0/debian/changelog	2013-03-15 09:29:36.000000000 +0100
+++ monotone-1.0/debian/changelog	2013-03-15 22:06:04.000000000 +0100
@@ -1,3 +1,17 @@
+monotone (1.0-7) experimental; urgency=low
+
+  * Team upload.
+  * Fix compilation on hurd, back-porting an upstream fix in
+    patches/05-hurd-compilation-fix.diff. Closes: #624779.
+  * Add Brazilian Portuguese translation by Adriano Rafael Gomes.
+    Closes: #693378.
+  * Add work-around to skip a test in case we are behind a broken DNS
+    gateway. Closes: #671080.
+  * Standards-Version: 3.9.4 (no changes required).
+  * Drop build dependencies on quilt and patch.
+
+ -- Markus Wanner <[email protected]>  Fri, 15 Mar 2013 22:05:37 +0100
+
 monotone (1.0-6) unstable; urgency=low
 
   * patches/04-botan-1.10-adaption.diff: Backport upstream fix for
diff -Nru monotone-1.0/debian/control monotone-1.0/debian/control
--- monotone-1.0/debian/control	2013-03-15 09:29:01.000000000 +0100
+++ monotone-1.0/debian/control	2013-03-15 22:03:18.000000000 +0100
@@ -8,13 +8,13 @@
 Homepage: http://monotone.ca/
 Vcs-Browser: https://code.monotone.ca/p/debian-mtn/source/tree/h:org.debian.monotone/
 Vcs-Mtn: mtn://monotone.ca/debian-mtn?org.debian.monotone
-Build-Depends: debhelper (>= 9), autotools-dev, po-debconf, quilt, patch,
+Build-Depends: debhelper (>= 9), autotools-dev, po-debconf,
  libboost-dev, libbotan1.10-dev, libidn11-dev, liblua5.1-0-dev,
  libpcre3-dev, libsqlite3-dev, libz-dev, texinfo, expect, bash-completion,
  bash (>= 4.0), source-highlight, mime-construct
 Build-Depends-Indep: poppler-utils | xpdf-utils, ps2eps,
  texlive-generic-recommended, texlive-latex-base
-Standards-Version: 3.9.2
+Standards-Version: 3.9.4
 
 Package: monotone
 Architecture: any
diff -Nru monotone-1.0/debian/patches/05-hurd-compilation-fix.diff monotone-1.0/debian/patches/05-hurd-compilation-fix.diff
--- monotone-1.0/debian/patches/05-hurd-compilation-fix.diff	1970-01-01 01:00:00.000000000 +0100
+++ monotone-1.0/debian/patches/05-hurd-compilation-fix.diff	2013-03-14 21:00:32.000000000 +0100
@@ -0,0 +1,80 @@
+Description: fix compilation on hurd-i386
+ Do not rely on MAXPATHLEN to be defined. Instead iteratively call getcwd()
+ with an increasing buffer size until the current path fits.
+Bug-Debian: http://bugs.debian.org/624779
+Origin: upstream, backport of 64e690fd0e14f6a0ad816d8fd55044f36d8559d5,
+ d23dbf2ce78cd11fc1a1dc85cd78cc28ab2df8ca and
+ c14cb021dafa331f859634a14087f6f81d870aed
+============================================================
+--- a/src/netxx/serverbase.cxx
++++ b/src/netxx/serverbase.cxx
+@@ -44,6 +44,9 @@
+ #include "probeinfo.h"
+ #include "socket.h"
+ 
++// Monotone specific, for get_current_working_dir()
++#include <src/platform.hh>
++
+ // standard includes
+ #include <map>
+ #include <vector>
+@@ -167,14 +170,16 @@
+ 		if (saun->sun_path[0] == '/') {
+ 		    files_.push_back(saun->sun_path);
+ 		} else {
+-		    char buffer[MAXPATHLEN];
+-
+-		    if (getcwd(buffer, sizeof(buffer))) {
+- 			std::string fullpath = buffer; fullpath += '/'; fullpath += saun->sun_path;
+-			files_.push_back(fullpath);
+-		    } else {
+-			files_.push_back(saun->sun_path);
+-		    }
++		    /*
++		     * the original (netxx) code here relied on MAXPATHLEN,
++		     * which isn't defined on hurd. As netxx seems to only
++		     * live on within monotone, we can as well make it
++		     * inter-dependent. And the unix/fs.cc variant certainly
++		     * gets more test mileage than anything special here.
++		     */
++		    std::string fullpath = get_current_working_dir();
++		    fullpath += '/'; fullpath += saun->sun_path;
++		    files_.push_back(fullpath);
+ 		}
+ 	    }
+ #	endif
+--- a/src/unix/fs.cc
++++ b/src/unix/fs.cc
+@@ -41,14 +41,26 @@
+ string
+ get_current_working_dir()
+ {
+-  char buffer[4096];
+-  if (!getcwd(buffer, 4096))
++  std::vector<char> cwd_buf;
++  size_t cwd_sz = 4096;
++
++  // This funny loop prevents having to specify a MAXPATHLEN or similar, but
++  // uses a dynamic approach, repeatedly calling getcwd() until our buffer
++  // is big enough for the current path to fit. Think of it as a portable
++  // replacement for get_current_dir_name(), which is GNU-only.
++  do
+     {
+-      const int err = errno;
+-      E(false, origin::system,
+-        F("cannot get working directory: %s") % os_strerror(err));
++      cwd_buf.resize(cwd_sz);
++      if (getcwd(&cwd_buf[0], cwd_sz))
++        return string(&cwd_buf[0]);
++
++      cwd_sz += 4096;
+     }
+-  return string(buffer);
++  while (errno == ERANGE);
++
++  const int err = errno;
++  E(false, origin::system,
++    F("cannot get working directory: %s") % os_strerror(err));
+ }
+ 
+ void
diff -Nru monotone-1.0/debian/patches/06-broken-dns-work-around.diff monotone-1.0/debian/patches/06-broken-dns-work-around.diff
--- monotone-1.0/debian/patches/06-broken-dns-work-around.diff	1970-01-01 01:00:00.000000000 +0100
+++ monotone-1.0/debian/patches/06-broken-dns-work-around.diff	2013-03-15 20:07:23.000000000 +0100
@@ -0,0 +1,31 @@
+Description: work-around to skip a test in case we are behind a broken DNS
+ Checks a domain that's supposed to be inexistent and skips a test that
+ fails in case a broken DNS tries to be helpful and resolves such an
+ inexistent name.
+Bug-Debian: http://bugs.debian.org/671080
+Origin: upstream, commit: 7b87eec0dc2298a18531b95c1cd2d1b72986e71c
+--- a/test/func/netsync_badhost_gives_nice_error/__driver__.lua
++++ b/test/func/netsync_badhost_gives_nice_error/__driver__.lua
+@@ -1,3 +1,22 @@
++skip_if(not existsonpath("host"))
++
++-- We punt in case of misconfigured DNS servers that resolve inexistant
++-- domain names. (Don't even think about buying that domain name!)
++L("\nChecking DNS resolution for nosuchhost__blahblah__asdvasoih.com: ")
++local pid = spawn_redirected("", "host-lookup.out", "host-lookup.err",
++                             "host", "nosuchhost__blahblah__asdvasoih.com")
++local ec = wait(pid)
++
++if ec == 0 then
++  L("failed\n",
++    "\n",
++    "Your DNS resolver is trying to be helpful by resolving names that do\n",
++    "not exist. `host nosuchhost__blahblah__asdvasoih.com` returned:\n\n")
++  log_file_contents("host-lookup.out")
++  skip_if(true)
++else
++  L("good\n")
++end
+ 
+ mtn_setup()
+ 
diff -Nru monotone-1.0/debian/patches/07-support-boost-1.53.diff monotone-1.0/debian/patches/07-support-boost-1.53.diff
--- monotone-1.0/debian/patches/07-support-boost-1.53.diff	1970-01-01 01:00:00.000000000 +0100
+++ monotone-1.0/debian/patches/07-support-boost-1.53.diff	2013-03-15 20:42:08.000000000 +0100
@@ -0,0 +1,89 @@
+--- a/src/database.cc
++++ b/src/database.cc
+@@ -92,7 +92,7 @@
+ using std::accumulate;
+ 
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+ using boost::lexical_cast;
+ using boost::get;
+ using boost::tuple;
+@@ -3430,7 +3430,7 @@
+ 
+   shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block));
+   shared_ptr<RSA_PublicKey> pub_key
+-    = shared_dynamic_cast<RSA_PublicKey>(x509_key);
++    = dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+   if (!pub_key)
+     throw recoverable_failure(origin::system,
+                               "Failed to get RSA encrypting key");
+@@ -3481,7 +3481,7 @@
+       L(FL("building verifier for %d-byte pub key") % pub_block.size());
+       shared_ptr<X509_PublicKey> x509_key(Botan::X509::load_key(pub_block));
+       shared_ptr<RSA_PublicKey> pub_key
+-        = boost::shared_dynamic_cast<RSA_PublicKey>(x509_key);
++        = boost::dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+ 
+       E(pub_key, id.inner().made_from,
+         F("Failed to get RSA verifying key for %s") % id);
+--- a/src/key_store.cc
++++ b/src/key_store.cc
+@@ -43,7 +43,7 @@
+ 
+ using boost::scoped_ptr;
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+ 
+ using Botan::RSA_PrivateKey;
+ using Botan::RSA_PublicKey;
+@@ -641,7 +641,7 @@
+   I(pkcs8_key);
+ 
+   shared_ptr<RSA_PrivateKey> priv_key;
+-  priv_key = shared_dynamic_cast<RSA_PrivateKey>(pkcs8_key);
++  priv_key = dynamic_pointer_cast<RSA_PrivateKey>(pkcs8_key);
+   E(priv_key, origin::no_fault,
+     F("failed to extract RSA private key from PKCS#8 keypair"));
+ 
+@@ -879,7 +879,8 @@
+         L(FL("make_signature: 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);
++        shared_ptr<RSA_PublicKey> pub_key =
++          dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+ 
+         if (!pub_key)
+           throw recoverable_failure(origin::system,
+@@ -1092,7 +1093,7 @@
+         continue;
+       }
+ 
+-  priv_key = shared_dynamic_cast<RSA_PrivateKey>(pkcs8_key);
++  priv_key = dynamic_pointer_cast<RSA_PrivateKey>(pkcs8_key);
+   I(priv_key);
+ 
+   // now we can write out the new key
+--- a/src/ssh_agent.cc
++++ b/src/ssh_agent.cc
+@@ -32,7 +32,7 @@
+ using std::vector;
+ 
+ using boost::shared_ptr;
+-using boost::shared_dynamic_cast;
++using boost::dynamic_pointer_cast;
+ 
+ using Botan::RSA_PublicKey;
+ using Botan::RSA_PrivateKey;
+@@ -391,7 +391,8 @@
+   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);
++  shared_ptr<RSA_PublicKey> pub_key = 
++    dynamic_pointer_cast<RSA_PublicKey>(x509_key);
+ 
+   if (!pub_key)
+     throw recoverable_failure(origin::system,
diff -Nru monotone-1.0/debian/patches/series monotone-1.0/debian/patches/series
--- monotone-1.0/debian/patches/series	2013-03-15 09:29:36.000000000 +0100
+++ monotone-1.0/debian/patches/series	2013-03-15 20:58:22.000000000 +0100
@@ -3,5 +3,7 @@
 02-file_handle.diff
 03-url_escaping.diff
 04-botan-1.10-adaption.diff
+05-hurd-compilation-fix.diff
+06-broken-dns-work-around.diff
 10-mtn-ignore-syntax-error-test.diff
 90-stacktrace-on-crash.diff
diff -Nru monotone-1.0/debian/po/pt_BR.po monotone-1.0/debian/po/pt_BR.po
--- monotone-1.0/debian/po/pt_BR.po	1970-01-01 01:00:00.000000000 +0100
+++ monotone-1.0/debian/po/pt_BR.po	2013-03-11 10:47:14.000000000 +0100
@@ -0,0 +1,70 @@
+# Brazilian Portuguese debconf templates translation for monotone.
+# Copyright (C) 2012 Adriano Rafael Gomes <[email protected]>.
+#
+# This file is made available under the GNU GPL version 2.0 or
+# greater.  See the accompanying file COPYING for details.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: monotone 1.0-6\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2009-09-04 14:30-0700\n"
+"PO-Revision-Date: 2012-03-07 21:21-0300\n"
+"Last-Translator: Adriano Rafael Gomes <[email protected]>\n"
+"Language-Team: Brazilian Portuguese <[email protected]."
+"org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../monotone-server.templates:1001
+msgid "Automatically manage monotone database?"
+msgstr "Gerenciar o banco de dados do monotone automaticamente?"
+
+#. Type: boolean
+#. Description
+#: ../monotone-server.templates:1001
+msgid ""
+"Select this option to automatically manage the monotone database. If "
+"selected, the database will automatically be created. Also when upgrading, "
+"the database will be automatically migrated if necessary."
+msgstr ""
+"Selecione essa opção para gerenciar o banco de dados do monotone "
+"automaticamente. Se selecionada, o banco de dados será automaticamente "
+"criado. Também, ao atualizar, o banco de dados será migrado automaticamente, "
+"se necessário."
+
+#. Type: string
+#. Description
+#: ../monotone-server.templates:2001
+msgid "Monotone key id:"
+msgstr "Id da chave do monotone:"
+
+#. Type: string
+#. Description
+#: ../monotone-server.templates:2001
+msgid ""
+"Enter the id of the key your monotone server will use. The key id is "
+"typically an email address."
+msgstr ""
+"Informe o id da chave que o seu servidor monotone usará. O id da chave é "
+"geralmente um endereço de e-mail."
+
+#. Type: password
+#. Description
+#: ../monotone-server.templates:3001
+msgid "Monotone key passphrase:"
+msgstr "Senha da chave do monotone:"
+
+#. Type: password
+#. Description
+#: ../monotone-server.templates:3001
+msgid ""
+"Please choose a passphrase for your monotone key. If left blank, one will be "
+"generated for you."
+msgstr ""
+"Por favor, escolha uma senha para a sua chave do monotone. Se deixada em "
+"branco, uma senha será gerada para você."

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Monotone-debian mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/monotone-debian

Reply via email to