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