adding patch for more robust io-handling (back-ported from current trunk)
authorSteve Arnold <nerdboy@gentoo.org>
Wed, 15 Nov 2006 03:04:42 +0000 (03:04 +0000)
committerSteve Arnold <nerdboy@gentoo.org>
Wed, 15 Nov 2006 03:04:42 +0000 (03:04 +0000)
Package-Manager: portage-2.1.2_rc1-r6

net-misc/unison/ChangeLog
net-misc/unison/Manifest
net-misc/unison/files/digest-unison-2.17.1-r1
net-misc/unison/files/unison-2.17.1-io-error.patch [new file with mode: 0644]
net-misc/unison/unison-2.17.1-r1.ebuild

index 6e289e4c542165a2edfdb85c0049761a3b7447bd..5fa66d063836ae8dc46371483e2539f83f85e57a 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for net-misc/unison
 # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/unison/ChangeLog,v 1.40 2006/09/12 15:55:09 gustavoz Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/unison/ChangeLog,v 1.41 2006/11/15 03:04:42 nerdboy Exp $
+
+  15 Nov 2006; Steve Arnold <nerdboy@gentoo.org>
+  +files/unison-2.17.1-io-error.patch, unison-2.17.1-r1.ebuild:
+  Adding a patch for more robust io-handling (back-ported from the current
+  Trunk).  It fixes an I/O failure in unattended sync operations (eg, when
+  used in a cron job).  No telling when the next "official" upstream release
+  will occur...
 
   12 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> unison-2.13.16.ebuild:
   Stable on sparc
index f0d2b76443ce068434c0f7ac0ff3fb0c274454f9..85aa3b609c630c55e64e70a30d8d57c604cbc407 100644 (file)
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX ocaml-3.08-extnames.patch 748 RMD160 0b468d28c7531974b5db4450a90ce7fb684855f3 SHA1 92eb4e481ebc717a7b2cf87b6ef5620f7e719196 SHA256 0f81c08dd7a668614d9316a0b7a88cc791876e2727308b865a97adbd16e75bc5
 MD5 5abcf068ada1ab9eedbe3dfa16ad15fb files/ocaml-3.08-extnames.patch 748
 RMD160 0b468d28c7531974b5db4450a90ce7fb684855f3 files/ocaml-3.08-extnames.patch 748
@@ -9,13 +6,17 @@ AUX unison-2.12.0-gtk2-bug.patch 490 RMD160 d9d49dfa0c8e2a144e5883384b321f58a409
 MD5 402b704e5c7c71a69fd6400c395834ec files/unison-2.12.0-gtk2-bug.patch 490
 RMD160 d9d49dfa0c8e2a144e5883384b321f58a409273c files/unison-2.12.0-gtk2-bug.patch 490
 SHA256 b0edb4750f6025cc1f8f53ba09fe8285a56283c2a4fe3435e645aa656f2bf35f files/unison-2.12.0-gtk2-bug.patch 490
+AUX unison-2.17.1-io-error.patch 3077 RMD160 9e1c15556008e878f39cf337507d4bef4c3e8d34 SHA1 19031bc6a9c510a0a5e2c7eb9358aaf1e02f2919 SHA256 45a921c7f38584da08169a5c19cad2bf231abc9d83a220dec657815c639ca6e3
+MD5 19d585242fe713e94253b12159f87c80 files/unison-2.17.1-io-error.patch 3077
+RMD160 9e1c15556008e878f39cf337507d4bef4c3e8d34 files/unison-2.17.1-io-error.patch 3077
+SHA256 45a921c7f38584da08169a5c19cad2bf231abc9d83a220dec657815c639ca6e3 files/unison-2.17.1-io-error.patch 3077
 DIST unison-2.12.0.tar.gz 841717
 DIST unison-2.13.16-manual.html 196162
 DIST unison-2.13.16-manual.pdf 436229
 DIST unison-2.13.16.tar.gz 393266 RMD160 171d8bbc788be31227f6b09d1793a984d33bfdfc SHA1 3f119f6a6e8bc5ade8933d4693075a768f0abf9a SHA256 808400a933aeb67654edc770822cd186d1b2adc92e7cb5836996c71c69ffe656
-DIST unison-2.17.1-manual.html 219449
-DIST unison-2.17.1-manual.pdf 404886
-DIST unison-2.17.1.tar.gz 415057
+DIST unison-2.17.1-manual.html 219449 RMD160 30139b6ec047cd00878741ace62c49b2c0421e2e SHA1 7f1d8e7af5c1d811e22216d577d243a919b572a5 SHA256 941078f73580d465fd91590dbaaf060489ae5a05d8db2359747134c0442e64ed
+DIST unison-2.17.1-manual.pdf 404886 RMD160 2936665534f9db0fa64c7686e8535bc09d9d6132 SHA1 94f5be7f4449468c3c5cd421747d6ca19322f9a1 SHA256 d0cd1a3bbc26a3c7acfa51144dd8212a76a856032c6b213a5aa74e40200f299f
+DIST unison-2.17.1.tar.gz 415057 RMD160 7b5143d160c09cefd6027807ca54c02e83265008 SHA1 03e02df5499b2c9db79ac895ca7c2d5d59b1f294 SHA256 7a1173921237dd3e0ca758f4ba902a3d54eb04385a4450459f349a8846b7052c
 DIST unison-2.9.1.tar.gz 319081
 EBUILD unison-2.12.0-r1.ebuild 1442 RMD160 53a50858ed9e624103427290a2fe582384a18e2b SHA1 ee30ffdc4dc7c5a34696be69f91660ab6aa71d2a SHA256 422c6774809470ee2c0f3721383ba942a5852980607fc174157d74416c3a3776
 MD5 dc921f25945741ae308447b210b6d06f unison-2.12.0-r1.ebuild 1442
@@ -25,18 +26,18 @@ EBUILD unison-2.13.16.ebuild 1772 RMD160 3a955f6886447b54b745f482aa6b906fec5c127
 MD5 4635b76aed66859ff47c574309d7a3d3 unison-2.13.16.ebuild 1772
 RMD160 3a955f6886447b54b745f482aa6b906fec5c1273 unison-2.13.16.ebuild 1772
 SHA256 78c43f7be3be7bceb0dbf70311353268745b37b0c6fb1a3614f3dc23da624243 unison-2.13.16.ebuild 1772
-EBUILD unison-2.17.1-r1.ebuild 1851 RMD160 dfbde10aa5a2906a22ed7ee925ebb7b4a9110462 SHA1 e9fb298491dc28ad8c98d0bbbb44d5cc51ab4fb8 SHA256 869ef10210a6451a3bc2a3479e716ec54d8dc5b136c0c782398669afe6b2228a
-MD5 bc5ffc65dfdbddd5f9b62d9fe5b822ed unison-2.17.1-r1.ebuild 1851
-RMD160 dfbde10aa5a2906a22ed7ee925ebb7b4a9110462 unison-2.17.1-r1.ebuild 1851
-SHA256 869ef10210a6451a3bc2a3479e716ec54d8dc5b136c0c782398669afe6b2228a unison-2.17.1-r1.ebuild 1851
+EBUILD unison-2.17.1-r1.ebuild 1980 RMD160 e70252d5f1c249a34f14bfb6a1db73d7484efc73 SHA1 00e1dae6b0bb28256feb328e630654a15ffe78be SHA256 f311bf94d2f23723fb73ae9567c434656044aa9369526f74eaa069c48c8d8f57
+MD5 8d746c6d5b6552dda2aba011f048edcb unison-2.17.1-r1.ebuild 1980
+RMD160 e70252d5f1c249a34f14bfb6a1db73d7484efc73 unison-2.17.1-r1.ebuild 1980
+SHA256 f311bf94d2f23723fb73ae9567c434656044aa9369526f74eaa069c48c8d8f57 unison-2.17.1-r1.ebuild 1980
 EBUILD unison-2.9.1-r1.ebuild 1276 RMD160 7c1b853280a690bc08e80495e53540c990a5d2ec SHA1 01fc236d172c7b83223afa6ca0fad10548668709 SHA256 b5d33d0de881895dee00de294144624daa3387addfd49a71abb5d1e027d2733a
 MD5 bfd01cd66f086cc9ca50321067cb43c1 unison-2.9.1-r1.ebuild 1276
 RMD160 7c1b853280a690bc08e80495e53540c990a5d2ec unison-2.9.1-r1.ebuild 1276
 SHA256 b5d33d0de881895dee00de294144624daa3387addfd49a71abb5d1e027d2733a unison-2.9.1-r1.ebuild 1276
-MISC ChangeLog 5774 RMD160 663d5bc8c742dd4455506318608ef42ef1ef2c86 SHA1 cef607769e2f109cd42cdf6e8a5f4e6851255727 SHA256 911041d0a1490986aadc625a831b3675186ef62c0ca9388f6b75099d617cdec1
-MD5 8b0937ba2fe0b3aa0e1ad8b6d6b51f04 ChangeLog 5774
-RMD160 663d5bc8c742dd4455506318608ef42ef1ef2c86 ChangeLog 5774
-SHA256 911041d0a1490986aadc625a831b3675186ef62c0ca9388f6b75099d617cdec1 ChangeLog 5774
+MISC ChangeLog 6130 RMD160 06cd8875d4efcffab16c840d71d67b7c8bef6ac9 SHA1 db07f7b6fb03fa6900b90ee2a449f97415a07299 SHA256 a32424831162b3a45fa4c075fa4fe958d6d4132f4624ebd75bb28fae2e4b087d
+MD5 5f1d2b121ebf4b7b1fb51bb501faa2e7 ChangeLog 6130
+RMD160 06cd8875d4efcffab16c840d71d67b7c8bef6ac9 ChangeLog 6130
+SHA256 a32424831162b3a45fa4c075fa4fe958d6d4132f4624ebd75bb28fae2e4b087d ChangeLog 6130
 MISC metadata.xml 155 RMD160 dfaa057e679b01302a807c75a32a910098b26809 SHA1 94024f83dcacbb53e92be090dd0f994ec93dc90d SHA256 118048376ebb76f57628b0819f3de4856e73959c2578c88715d37ea2d1e0af81
 MD5 8b350f19c06fcabf1053b0421b7c3f5a metadata.xml 155
 RMD160 dfaa057e679b01302a807c75a32a910098b26809 metadata.xml 155
@@ -47,16 +48,9 @@ SHA256 cc3bdf635bcd86755398c965c58f152bf43e7b5d4c859dbfd0ca8746c6cdd073 files/di
 MD5 a52cb19a449294e2cb2e9f9cc05762f9 files/digest-unison-2.13.16 385
 RMD160 25f1c7d1da0f48f5b6007f38d102b68b048d72a2 files/digest-unison-2.13.16 385
 SHA256 a850e016b9d3907d418fe8746adc437a5374fdae59758060caaa5e098080a0f7 files/digest-unison-2.13.16 385
-MD5 4300e6c6f1d2f88a7e89ef0099b138a4 files/digest-unison-2.17.1-r1 204
-RMD160 ef354a47e21ea3cea9c19385576109791576737f files/digest-unison-2.17.1-r1 204
-SHA256 feb179fc33b8cd6ee3d5e3e6036bfcf058b7549d7788d65b375812d8738b55d0 files/digest-unison-2.17.1-r1 204
+MD5 d8dec6448c5834378165dcc7e395b7ff files/digest-unison-2.17.1-r1 750
+RMD160 b3068d243fff51386adfbbec672461a0de0d6780 files/digest-unison-2.17.1-r1 750
+SHA256 36c86f6ff85ab0be2a303b0960b9a5a792836511790785c406ecddefcf52d277 files/digest-unison-2.17.1-r1 750
 MD5 29b28492666138199820e9df8fcc6a47 files/digest-unison-2.9.1-r1 64
 RMD160 2a1f12c29c9583a595b8804065a149e8dce96e85 files/digest-unison-2.9.1-r1 64
 SHA256 8f96156293e2c0a7a3279eb4dde55a4031ad385b86f238a5a18afafdd3a7df78 files/digest-unison-2.9.1-r1 64
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.5-ecc0.1.6 (GNU/Linux)
-
-iD8DBQFFBthtKRy60XGEcJIRAjvxAJ9ACZrNrQWE1hElElBns7M8UidcHwCfXZyS
-Rg9uKJ6lt/fn9pxUR76OCAA=
-=Hp5H
------END PGP SIGNATURE-----
index 4f433147a008e79d6927cc74afc34a60e5c612dc..7e39808c2c8dc66916fda52588edad5bdeabd0e6 100644 (file)
@@ -1,3 +1,9 @@
 MD5 6c782837db28944b6083adc37eff2b28 unison-2.17.1-manual.html 219449
+RMD160 30139b6ec047cd00878741ace62c49b2c0421e2e unison-2.17.1-manual.html 219449
+SHA256 941078f73580d465fd91590dbaaf060489ae5a05d8db2359747134c0442e64ed unison-2.17.1-manual.html 219449
 MD5 e619b39db27ec8dbc36db35e808dd3bb unison-2.17.1-manual.pdf 404886
+RMD160 2936665534f9db0fa64c7686e8535bc09d9d6132 unison-2.17.1-manual.pdf 404886
+SHA256 d0cd1a3bbc26a3c7acfa51144dd8212a76a856032c6b213a5aa74e40200f299f unison-2.17.1-manual.pdf 404886
 MD5 c62611dda096da360ad645fad8e8ce3e unison-2.17.1.tar.gz 415057
+RMD160 7b5143d160c09cefd6027807ca54c02e83265008 unison-2.17.1.tar.gz 415057
+SHA256 7a1173921237dd3e0ca758f4ba902a3d54eb04385a4450459f349a8846b7052c unison-2.17.1.tar.gz 415057
diff --git a/net-misc/unison/files/unison-2.17.1-io-error.patch b/net-misc/unison/files/unison-2.17.1-io-error.patch
new file mode 100644 (file)
index 0000000..eea4485
--- /dev/null
@@ -0,0 +1,66 @@
+diff -uNr unison-2.17.1.orig/stasher.ml unison-2.17.1/stasher.ml
+--- unison-2.17.1.orig/stasher.ml      2005-08-11 17:26:59.000000000 -0700
++++ unison-2.17.1/stasher.ml   2006-09-13 12:04:18.000000000 -0700
+@@ -314,23 +314,36 @@
+           (Path.toString backPath)
+           (Fspath.toString backRoot));
+       try Os.rename fspath path backRoot backPath
+-      with
+-        _ -> 
+-          ((let info = Fileinfo.get true fspath path in
+-          match info.Fileinfo.typ with
+-            `SYMLINK ->
+-              Os.symlink 
+-                backRoot backPath 
+-                (Os.readLink fspath path)
+-          | _ ->
+-              Copy.localFile
+-                fspath path 
+-                backRoot backPath backPath 
+-                `Copy 
+-                info.Fileinfo.desc
+-                (Osx.ressLength info.Fileinfo.osX.Osx.ressInfo)
+-                None);
+-           Os.delete fspath path)
++            with
++              _ -> 
++                debug (fun () -> Util.msg "Rename failed -- copying instead\n");
++                let rec copy p backp =
++                  let info = Fileinfo.get true fspath p in
++                  match info.Fileinfo.typ with
++                  | `SYMLINK ->
++                      debug (fun () -> Util.msg "  Copying link %s / %s to %s / %s\n"
++                        (Fspath.toString fspath) (Path.toString p)
++                        (Fspath.toString backRoot) (Path.toString backp));
++                      Os.symlink backRoot backp (Os.readLink fspath p)
++                  | `FILE ->
++                      debug (fun () -> Util.msg "  Copying file %s / %s to %s / %s\n"
++                        (Fspath.toString fspath) (Path.toString p)
++                        (Fspath.toString backRoot) (Path.toString backp));
++                      Copy.localFile  fspath p  backRoot backp backp 
++                        `Copy  info.Fileinfo.desc
++                        (Osx.ressLength info.Fileinfo.osX.Osx.ressInfo)  None
++                  | `DIRECTORY ->
++                      debug (fun () -> Util.msg "  Copying directory %s / %s to %s / %s\n"
++                        (Fspath.toString fspath) (Path.toString p)
++                        (Fspath.toString backRoot) (Path.toString backp));
++                      Os.createDir backRoot backp info.Fileinfo.desc;
++                      let ch = Os.childrenOf fspath p in
++                      Safelist.iter (fun n -> copy (Path.child p n) (Path.child backp n)) ch
++                  | `ABSENT -> assert false in
++                copy path backPath;
++                debug (fun () -> Util.msg "  Finished copying; deleting %s / %s\n"
++                  (Fspath.toString fspath) (Path.toString path));
++           Os.delete fspath path
+       end else begin
+       debug ( fun () -> Util.msg
+           "File %s in %s will not be backed up.\n" 
+diff -uNr unison-2.17.1.orig/uutil.ml unison-2.17.1/uutil.ml
+--- unison-2.17.1.orig/uutil.ml        2005-08-11 17:26:59.000000000 -0700
++++ unison-2.17.1/uutil.ml     2006-09-13 12:01:33.000000000 -0700
+@@ -123,4 +123,4 @@
+     end else if !l > 0 then
+       notify !l
+   in
+-  Util.convertUnixErrorsToTransient "readWrite" (fun () -> read len)
++  Util.convertUnixErrorsToTransient "readWriteBounded" (fun () -> read len)
index 24121f8ef4513fa5b8ba62da2c840ce34693229f..8f73c4846afa1fa611b54e338014ca6a3d11225c 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2006 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/unison/unison-2.17.1-r1.ebuild,v 1.2 2006/07/04 13:01:03 mattam Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/unison/unison-2.17.1-r1.ebuild,v 1.3 2006/11/15 03:04:42 nerdboy Exp $
 
 inherit eutils
 
@@ -30,6 +30,9 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${P}.tar.gz
+       # backport patch for file-io error (fixed in current trunk)
+       EPATCH_OPTS="-d ${S} -p1"
+       epatch ${FILESDIR}/${P}-io-error.patch
 
        # Fix for coreutils change of tail syntax
        cd ${S}