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ê."
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Monotone-debian mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/monotone-debian
