commit:     2ca1f0722f5d7959b2613080049988875e8642ad
Author:     Andrew Savchenko <bircoph <AT> gmail <DOT> com>
AuthorDate: Wed Jan 28 17:17:00 2015 +0000
Commit:     Andrew Savchenko <bircoph <AT> gmail <DOT> com>
CommitDate: Wed Jan 28 17:17:00 2015 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=dev/bircoph.git;a=commit;h=2ca1f072

Apply upsteam patches

---
 app-admin/clsync/ChangeLog                         | 10 ++++
 app-admin/clsync/Manifest                          |  7 ++-
 .../{clsync-0.4.ebuild => clsync-0.4-r1.ebuild}    |  6 ++-
 .../clsync/files/clsync-0.4-direct_mode.patch      | 61 ++++++++++++++++++++++
 .../clsync/files/clsync-0.4-handler_path.patch     | 30 +++++++++++
 app-admin/clsync/files/clsync-0.4-hl_locks.patch   | 37 +++++++++++++
 6 files changed, 148 insertions(+), 3 deletions(-)

diff --git a/app-admin/clsync/ChangeLog b/app-admin/clsync/ChangeLog
index 684200d..59b8cd7 100644
--- a/app-admin/clsync/ChangeLog
+++ b/app-admin/clsync/ChangeLog
@@ -2,6 +2,16 @@
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
 # $Header: $
 
+*clsync-0.4-r1 (28 Jan 2015)
+
+  28 Jan 2015; Andrew Savchenko <birc...@gentoo.org> -clsync-0.4.ebuild,
+  +clsync-0.4-r1.ebuild, +files/clsync-0.4-direct_mode.patch,
+  +files/clsync-0.4-handler_path.patch, +files/clsync-0.4-hl_locks.patch:
+  Add upstream patches:
+  - fix highload locks segfault on unicore systems;
+  - support handlers without absolute path;
+  - fix direct mode root directory change passing.
+
   28 Jan 2015; Andrew Savchenko <birc...@gentoo.org> clsync-0.4.ebuild,
   clsync-9999.ebuild:
   Fix build with USE=gio

diff --git a/app-admin/clsync/Manifest b/app-admin/clsync/Manifest
index 87e4664..76cb1d4 100644
--- a/app-admin/clsync/Manifest
+++ b/app-admin/clsync/Manifest
@@ -1,4 +1,7 @@
+AUX clsync-0.4-direct_mode.patch 1782 SHA256 
fc429bc6b830c76233d083b5ed882f4c9dbdee14de3bfbdf944c606a07e1cfc3 SHA512 
99e4074343ff2d69811af0fcbc8481e016c3c8d685d4775bce3075939527a04d14573c745e5ee000f991ff74391a4355b63c15f7ac4f692d411d50a29f119cc9
 WHIRLPOOL 
9606eff1cfb55126345a2502c6222074111dfaa7557cf946926d130da1bbfc27e6265bfe0bf367264ec81f840f55a27ecb2cb8ca73ccaf313a065e5052026707
 AUX clsync-0.4-gio.patch 1254 SHA256 
2bc5cc03cd456ed09879e77e963e17bedb05d3deaff77f4d18bdc67c521773f1 SHA512 
888f0941dcfd8843007afee889c005c613d731750882b0acbadceb08b514f177b9b75f992827050a40247002c8d29d7fcf4e75eabafe6eb54fc1d05e30893ffd
 WHIRLPOOL 
5df5185fd97bb4d77297e40e1722b4ddfbb27c444c6a506939ee9a3075be0200aeca3c0f08f62e9650a04583cd55f1d05c106a77b7f2eb2e9af3621f9597d4f2
+AUX clsync-0.4-handler_path.patch 822 SHA256 
fcd4f9ff6308e18984dd4a97bda2d3bd9c9de8bd37a9ef758d6e0ba2485c70c6 SHA512 
de4a7fa17e158f5527a4b28e90414ee8513a140fed2f62815578e9e97550662c0cc7d36d3debd366c7543cb879763443dc839356640647d82f6709c954c4f0ad
 WHIRLPOOL 
9f18153267d70f4964e8d7a14b87e3a21056874254874452a9895bc3613515f5f9d059b5c10bb8d7ffd0077e5eb00c8fcbd52059807dc65553875d59e05d3777
+AUX clsync-0.4-hl_locks.patch 899 SHA256 
ee85116d992dd9e089e2e0a3f0bfbc5502705e4de08953b13a2bd00ed259d3bf SHA512 
279bb3560a37a163763d9de09c894d8d98e79ed32e3f1c2f2231d567b0492f93c078a560296c706536ddabddf05e4218f106a0f271f8bcd3c9b18cee153083d0
 WHIRLPOOL 
de98b88abb9089456157366b9145433ae371176cd81b34e3bc5a72852b238f6b7ed98610e3259831389eacd7990ff248d7c890b87a93a4afcdeb4f287d1f631b
 AUX clsync-0.4-unshare-configure.patch 1198 SHA256 
c60e2f8e33e1ca04d27e8887982d83eb5efb8a3f3f6871f97feba931aaa0db74 SHA512 
c0be6a085a33e3c09bfe52fc5aff3a1136fbbdde7cf928bd1ff21c7e435ae8562a626ed7d561c83e74580f17e2ad1c61be778d0a7f01b2ad0890a9d5cc1e54cd
 WHIRLPOOL 
826d597da90d8f71b3ff902c5c55bbd3ae82bae33157f99469bfe8dec4ad93f16a1f2d10c0b78f561c58f6d01832ed2bbc2267ab619e21bd19c939034ae8b401
 AUX clsync-0.4-unshare-ifdef.patch 989 SHA256 
2fc98fa742ed24068af39c950eb7fa33a048a2cbb3aab44b074928cd86c5cefb SHA512 
2a6e98a2ea8d1dd663fdaf6eed0d6706c61b646c4178ca8be5598d1d6a3dd8023b92f02858f7324c5ceab601ed5c8ec1ee6bcc7210664cd57dc281a116bbde3c
 WHIRLPOOL 
9535ac8e746e4ce980d4f17c05f554e55f5ab717d79e20ba09751f176383e46c2b52777cccce10f28422b4d459f0ef8c8a5f900c4857994a8bab5c6108bd5e27
 AUX clsync-0.4-version.patch 694 SHA256 
8b899b74f59dc6acb134ab4b2254e222c8d148ed827054c1e263625a73405c9d SHA512 
9a08ecf5c062827d8e02b4822a879115d394d36d6c81bc138dee4b65519c6a2e333445e953965057d8b32ad3bca6ced8a699f59d798d31bb022c4b9129d8b681
 WHIRLPOOL 
fd214257b4a2fd24120a4620df55edd78010f5db507493b3e0c1bd06f91e97e2b3caffdbabad4c4b0d1cc7c3f02d9d290805c4d6e10edf5e44d081ae1b837e1b
@@ -12,7 +15,7 @@ DIST clsync-0.3.tar.gz 122664 SHA256 
054f7032993f51a35cf3fdc91aeb3ad358f63432f8d
 DIST clsync-0.4.tar.gz 253396 SHA256 
6f0ce7a5f61fbb50db53b787b62cf5347870f3be315acb02c4aee6b76206d19e SHA512 
9b17f5f8f0bfc48531f3d8cb4f1c1edd3116e0b7d140e8ab2465dd1c590521c9857202ed3f36466f13fb3309abb9232fb4acbe25b5652914a816fac498f74a48
 WHIRLPOOL 
18ae12df2d7e0403b21c5d4ab7352cd81446729d94fb300a799b98dad9f88aeaa98deb2ba5f52858d3b6ba7406d777e53e97dae5c3a4802a229511db9c8a3482
 EBUILD clsync-0.2.1.ebuild 2148 SHA256 
9069d6bbba621a368ce6f1fd1602d984aa0c37a5297df7ff43598b53603ca726 SHA512 
9ab6e36e094c43f7e506c743a0159ab00e09a216676b0693a8f2f3a0df8160c5c706122bb9e36e754c0e50a6dc63856dae86743e6e3a22be80b2bbf7ef21523f
 WHIRLPOOL 
27b60f03a084a821dda72799540605266557fae9b5379bfaa5c0601c42894d84d1ddd68d9dd6f2f8cf72f3cf7dc38cfc7e75821416290b2c8bf8c74af50b8543
 EBUILD clsync-0.3.ebuild 2219 SHA256 
71f1c52b62d0379c1bf03ce4a49fe2cc612697008aabbf58d3b7b882952c35ec SHA512 
2cb4ce6f305a1ebb020157915324f824cf554ccd95761ebe13b4099f8418676173b9953994095c29c16b11942d7fb6a3029cdb5b94c572803ca0af183d16c659
 WHIRLPOOL 
37766e003335286b13a4dad913d838f3cb4b75d3b216b5b3265d93a36353f15e365c93d0768341d6bbaaf4fbb785ff2774f554fd57d009fc396ae2fb6aaacac3
-EBUILD clsync-0.4.ebuild 3096 SHA256 
7e2ad252a7419d775f1b0a19a6289cf3858b4629c73d1f0b9b1c0cd929474fa7 SHA512 
a08a6255f3b0d604e04e9808fb48a5eebc49c0111498d2451eecd7441c22db9c3810589a02f168ad13f53ecc1cbe8bde744263b2fee985a2ae21813d9f34a173
 WHIRLPOOL 
ab24f67e7a1915bd5069b52c0a79e5460b8a55d3daaacb5a44f478ce00d406918ef0c7783605055a444e19f05d5b324be48b6c33b2d1306ff69b5f29b5690e75
+EBUILD clsync-0.4-r1.ebuild 3243 SHA256 
c0583b29185b29fbb12116816c23c2acc962e41cfda3785a05d0cd51cb4756ad SHA512 
798e41697761bd184d201faf71467e6092e63047ede2db53c0bd2e979e046df2f81e2ee99e2b1b7e6b341f13f17cd1b35f8bfa02790940f70e769eda3af7e4e5
 WHIRLPOOL 
31036a9fe1032b305efd2fbdf89ac0235ea9129ef8b72b91d24ac332e3193c1caed628f279078a2956e1f3446648786e9da47026275c8855fa34242346970792
 EBUILD clsync-9999.ebuild 2921 SHA256 
368bc238e62e6fc786f7b658e46a4675826df7f15031f9e0b4e433c293ae76a1 SHA512 
b3a180645cc867d6a552472adbf4f59c35a05e43d3dc7dadafb8806266db8c3834eef0650dbb097e2cbb7344db5da46c73f17867949e56ecba17d4bb757f3d19
 WHIRLPOOL 
597b2f3e058c2e33c61105dd80d0afc30f719a7874d1d87fc394edbfa8442cf4114dd6ad7bbd26ef437b7e454f23914f45bcbcc77c6df86f6f6b345f7b70d34c
-MISC ChangeLog 4079 SHA256 
8fa84d5e01370eaddb6f5dc17fa1fedf7f0a571e10561452e0d507b98ae66f5b SHA512 
1e40d43dc7cb380247a1e782d49beede0704a098d1a82a8fb6fdb96f4dc8378273fb49572f1572e2526baa111cb98c7641a276fe0dcefe81568d9a29cd4748e1
 WHIRLPOOL 
f3e34c4537a4af4f5741339fccaa8300f0ed3bb7c8e68df510189d586caa81dbcb9e7b2937d7474ddcb71175416041f7cd40119dfafccb62b4c82b166b78bd41
+MISC ChangeLog 4490 SHA256 
bde1cd1db9e9a46e28780fded938bd79b1fd1d4c5563020ace55d2dcdbc1f27d SHA512 
b9cc4630cd85fa3ba600b5fbeaf6c7857b9ba5aa5e61a21457f883518ea9bb0747df4861757561f1aeba6152888eb1df02457f429184bb6fd80f7c337b3fac18
 WHIRLPOOL 
b851b6517b42eeba99b52a88c08ff075b5cc8ec644678c56267df7547e90ba94e6ca81874fee942bf8e402f2ecdef90df1435fc116e9f077290292acaeac7fd5
 MISC metadata.xml 1668 SHA256 
b11ec92e63438d8968523e38977cfca79c2598fd5b78a663fe647393f322c5b8 SHA512 
9d24c1fbb0eb18971aea4bead3ee6d28b48891699c17bfe238866317f90fbe3974d65af2d3673397f6370c96de7d34d9f3b08e62b99dc0dc285bbf35bdf96bf5
 WHIRLPOOL 
42087cfebd77371e899b50a370334c589f917f4368d877041d874abc836d52ed70b1d24ea475b08f906df81d65b87c105a170b27e747558fb789795196dd4f77

diff --git a/app-admin/clsync/clsync-0.4.ebuild 
b/app-admin/clsync/clsync-0.4-r1.ebuild
similarity index 94%
rename from app-admin/clsync/clsync-0.4.ebuild
rename to app-admin/clsync/clsync-0.4-r1.ebuild
index f7bda21..263c618 100644
--- a/app-admin/clsync/clsync-0.4.ebuild
+++ b/app-admin/clsync/clsync-0.4-r1.ebuild
@@ -47,11 +47,15 @@ pkg_pretend() {
 }
 
 src_prepare() {
+       # upstream fixes for 0.4
        epatch \
                "${FILESDIR}/${P}-gio.patch" \
                "${FILESDIR}/${P}-unshare-configure.patch" \
                "${FILESDIR}/${P}-unshare-ifdef.patch" \
-               "${FILESDIR}/${P}-version.patch"
+               "${FILESDIR}/${P}-version.patch" \
+               "${FILESDIR}/${P}-direct_mode.patch" \
+               "${FILESDIR}/${P}-handler_path.patch" \
+               "${FILESDIR}/${P}-hl_locks.patch"
        eautoreconf
 }
 

diff --git a/app-admin/clsync/files/clsync-0.4-direct_mode.patch 
b/app-admin/clsync/files/clsync-0.4-direct_mode.patch
new file mode 100644
index 0000000..2a9c06e
--- /dev/null
+++ b/app-admin/clsync/files/clsync-0.4-direct_mode.patch
@@ -0,0 +1,61 @@
+commit 1fe2a05438de390dc12a653bc50ddf591fa79733
+Author: Dmitry Yu Okunev <dyoku...@ut.mephi.ru>
+Date:   Wed Jan 28 11:39:09 2015 +0300
+
+    Fixed the path '' in direct mode.
+    
+    '' -> '.'
+    
+    Thanks for bugreport to: Andrew A Savchenko <birc...@gentoo.org>
+
+diff --git a/sync.c b/sync.c
+index b6d3341..490ea39 100644
+--- a/sync.c
++++ b/sync.c
+@@ -1959,6 +1959,25 @@ int fileischanged(ctx_t *ctx_p, indexes_t *indexes_p, 
const char *path_rel, stat
+       return 1;
+ }
+ 
++static inline int sync_indexes_fpath2ei_addfixed(ctx_t *ctx_p, indexes_t 
*indexes_p, const char *fpath, eventinfo_t *evinfo) {
++      static const char fpath_dot[] = ".";
++      const char *fpath_fixed;
++
++      fpath_fixed = fpath;
++      switch (ctx_p->flags[MODE]) {
++              case MODE_DIRECT:
++
++                      // If fpath is empty (that means CWD) then assign it to 
"."
++                      if (!*fpath)
++                              fpath_fixed = fpath_dot;
++                      break;
++              default:
++                      break;
++      }
++      
++      return indexes_fpath2ei_add(indexes_p, strdup(fpath_fixed), evinfo);
++}
++
+ int sync_prequeue_loadmark
+ (
+               int monitored,
+@@ -2145,7 +2164,8 @@ int sync_prequeue_loadmark
+            );
+ 
+       if (isnew)
+-              indexes_fpath2ei_add(indexes_p, strdup(path_rel), evinfo);
++              // Fix the path (if required) and call indexes_fpath2ei_add() 
to remeber the new object to be synced
++              sync_indexes_fpath2ei_addfixed(ctx_p, indexes_p, path_rel, 
evinfo);
+ 
+       return 0;
+ }
+@@ -2288,7 +2308,9 @@ void _sync_idle_dosync_collectedevents(gpointer 
fpath_gp, gpointer evinfo_gp, gp
+ 
+       if (isnew) {
+               debug(4, "Collecting \"%s\"", fpath);
+-              indexes_fpath2ei_add(indexes_p, strdup(fpath), evinfo_idx);
++
++              // Fix the path (if required) and call indexes_fpath2ei_add() 
to remeber the new object to be synced
++              sync_indexes_fpath2ei_addfixed(ctx_p, indexes_p, fpath, 
evinfo_idx);
+       } else
+               free(fpath);
+ 

diff --git a/app-admin/clsync/files/clsync-0.4-handler_path.patch 
b/app-admin/clsync/files/clsync-0.4-handler_path.patch
new file mode 100644
index 0000000..5a61544
--- /dev/null
+++ b/app-admin/clsync/files/clsync-0.4-handler_path.patch
@@ -0,0 +1,30 @@
+commit a747384216597df71c99453dc5161100e1b41181
+Author: Dmitry Yu Okunev <dyoku...@ut.mephi.ru>
+Date:   Wed Jan 28 11:46:57 2015 +0300
+
+    Fixed setting sync-handler without absoulte path
+    
+    For example "-Secho"
+
+diff --git a/main.c b/main.c
+index 53e71ae..792f1e4 100644
+--- a/main.c
++++ b/main.c
+@@ -2526,12 +2526,16 @@ int main(int _argc, char *_argv[]) {
+ 
+       if (ctx_p->handlerfpath != NULL) {
+               char *rhandlerfpath = realpath(ctx_p->handlerfpath, NULL);
++/*
+               if (rhandlerfpath == NULL) {
+                       error("Got error while realpath() on \"%s\" [#0].", 
ctx_p->handlerfpath);
+                       ret = errno;
+               }
+               debug(5, "rhandlerfpath == \"%s\"", rhandlerfpath);
+-              ctx_p->handlerfpath = rhandlerfpath;
++              ctx_p->handlerfpath = rhandlerfpath;*/
++
++              if (rhandlerfpath != NULL) 
++                      ctx_p->handlerfpath = rhandlerfpath;
+ 
+       }
+ 

diff --git a/app-admin/clsync/files/clsync-0.4-hl_locks.patch 
b/app-admin/clsync/files/clsync-0.4-hl_locks.patch
new file mode 100644
index 0000000..f027935
--- /dev/null
+++ b/app-admin/clsync/files/clsync-0.4-hl_locks.patch
@@ -0,0 +1,37 @@
+commit 76c75f8180a7e7592da927e8b4c8f5f067470d05
+Author: Dmitry Yu Okunev <dyoku...@ut.mephi.ru>
+Date:   Wed Jan 28 12:19:11 2015 +0300
+
+    [hl_locks] A try to fix a segfault on one core PC
+    
+    Thanks for the bugreport to: Andrew A Savchenko <birc...@gentoo.org>
+
+diff --git a/privileged.c b/privileged.c
+index fafd5b7..668a536 100644
+--- a/privileged.c
++++ b/privileged.c
+@@ -1680,11 +1680,6 @@ int privileged_init(ctx_t *ctx_p)
+ #endif
+ 
+ #ifdef CAPABILITIES_SUPPORT
+-# ifdef HL_LOCKS
+-      if (ncpus == 1)
+-              hl_shutdown(HLLOCK_HANDLER);
+-# endif
+-
+       if (ctx_p->flags[SPLITTING] == SM_OFF) {
+ #endif
+ 
+@@ -1792,6 +1787,12 @@ int privileged_init(ctx_t *ctx_p)
+               default:
+                       critical("Invalid ctx_p->flags[SPLITTING]: %i", 
ctx_p->flags[SPLITTING]);
+       }
++
++# ifdef HL_LOCKS
++      if (ncpus == 1)
++              hl_shutdown(HLLOCK_HANDLER);
++# endif
++
+       critical_on(!helper_isalive());
+ 
+ # ifdef UNSHARE_SUPPORT

Reply via email to