commit watchman for openSUSE:Factory
Hello community, here is the log from the commit of package watchman for openSUSE:Factory checked in at 2020-06-02 14:42:37 Comparing /work/SRC/openSUSE:Factory/watchman (Old) and /work/SRC/openSUSE:Factory/.watchman.new.3606 (New) Package is "watchman" Tue Jun 2 14:42:37 2020 rev:5 rq:810772 version:unknown Changes: --- /work/SRC/openSUSE:Factory/watchman/watchman.changes2020-01-24 13:11:47.121448066 +0100 +++ /work/SRC/openSUSE:Factory/.watchman.new.3606/watchman.changes 2020-06-02 14:43:34.388457203 +0200 @@ -1,0 +2,7 @@ +Tue Jun 2 09:50:49 UTC 2020 - Matthias Gerstner + +- add libart-gcc10.patch: this fixes the build using gcc-10. There's not + readily available upstream release with fixes yet (there are releases but + the look automatic and don't contain generated autotools files). + +--- New: libart-gcc10.patch Other differences: -- ++ watchman.spec ++ --- /var/tmp/diff_new_pack.wDftc2/_old 2020-06-02 14:43:35.720461414 +0200 +++ /var/tmp/diff_new_pack.wDftc2/_new 2020-06-02 14:43:35.724461426 +0200 @@ -1,7 +1,7 @@ # # spec file for package watchman # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -35,6 +35,7 @@ Patch0: %{name}_4.7.0_makefile-am.diff Patch1: 0001-Replaced-memset-calls-with-appopriate-C-11-init-or-a.patch Patch2: 0002-Re-worked-replacement-of-memset-with-proper-init-to-.patch +Patch3: libart-gcc10.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -101,6 +102,7 @@ %patch0 %patch1 -p1 %patch2 -p1 +%patch3 -p1 # There is some basic support for watchman to run under systemd: # ++ libart-gcc10.patch ++ Index: watchman-4.9.0/thirdparty/libart/src/art-inl.h === --- watchman-4.9.0.orig/thirdparty/libart/src/art-inl.h +++ watchman-4.9.0/thirdparty/libart/src/art-inl.h @@ -58,7 +58,7 @@ inline unsigned char art_tree= 0 && idx <= key_len, +w_assert(idx <= key_len, "key_at: key is %d %.*s and idx is %d, which is out of bounds", key_len, key_len, key, idx); #endif
commit watchman for openSUSE:Factory
Hello community, here is the log from the commit of package watchman for openSUSE:Factory checked in at 2020-01-24 13:09:50 Comparing /work/SRC/openSUSE:Factory/watchman (Old) and /work/SRC/openSUSE:Factory/.watchman.new.26092 (New) Package is "watchman" Fri Jan 24 13:09:50 2020 rev:4 rq:766763 version:unknown Changes: --- /work/SRC/openSUSE:Factory/watchman/watchman.changes2018-06-29 22:29:41.658333749 +0200 +++ /work/SRC/openSUSE:Factory/.watchman.new.26092/watchman.changes 2020-01-24 13:11:47.121448066 +0100 @@ -1,0 +2,18 @@ +Thu Jan 23 14:51:22 UTC 2020 - matthias.gerst...@suse.com + +- add Conflicts to fix + + ``` + found conflict of python3-watchman-1.4.0-20.1.x86_64 with watchman-python-1.3.0-3.6.x86_64 +/usr/bin/watchman-make +/usr/bin/watchman-wait + ``` + +--- +Wed Jan 22 09:25:43 UTC 2020 - Ondřej Súkup + +- spec-cleaned +- removed python2 bindings +- enabled python3 bindings as python3-watchman + +--- Other differences: -- ++ watchman.spec ++ --- /var/tmp/diff_new_pack.es9hgH/_old 2020-01-24 13:11:48.689448696 +0100 +++ /var/tmp/diff_new_pack.es9hgH/_new 2020-01-24 13:11:48.693448698 +0100 @@ -1,7 +1,7 @@ # # spec file for package watchman # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,41 +12,45 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define docdir %{_defaultdocdir}/watchman %define rundir /run/watchman Name: watchman -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: gcc-c++ -BuildRequires: libtool -BuildRequires: openssl-devel -BuildRequires: pcre-devel -BuildRequires: python -BuildRequires: systemd-rpm-macros -Requires: pcre -%{?systemd_requires} Version:4.9.0 Release:0 -Url:https://facebook.github.io/watchman/ Summary:A file watching service # the thirdparty code is partially MIT-licensed or at least some such License:Apache-2.0 AND MIT Group: System/Monitoring -Source0:https://github.com/facebook/watchman/archive/v%version.tar.gz +URL:https://facebook.github.io/watchman/ +Source0:https://github.com/facebook/watchman/archive/v%{version}.tar.gz # tmpfiles.d configuration for statedir Source1:watchman.conf Source2:watchman@.service Source3:watchman@.socket -BuildRoot: %{_tmppath}/%{name}-%{version}-build # prevent the build system overwriting the autotools docdir in a hard-coded way Patch0: %{name}_4.7.0_makefile-am.diff Patch1: 0001-Replaced-memset-calls-with-appopriate-C-11-init-or-a.patch Patch2: 0002-Re-worked-replacement-of-memset-with-proper-init-to-.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: openssl-devel +BuildRequires: pkgconfig +BuildRequires: python3-base +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libpcre16) +BuildRequires: pkgconfig(libpcrecpp) +BuildRequires: pkgconfig(libpcreposix) +Requires: pcre +# TODO: use proper Requires(pre/post/preun/...) PreReq: %fillup_prereq +%{?systemd_requires} %description Watchman exists to watch files and record when they change. It can also trigger @@ -65,20 +69,22 @@ state of the tree * You can subscribe to file changes that occur in a root -%package python +%package -n python3-watchman +Version:1.4.0 +Release:0 Summary:A python package for talking to the watchman service # from python/setup.py -License:MIT +License:BSD-3-Clause Group: System/Monitoring -Version:1.3.0 -Release:0 -Requires: python -BuildRequires: python-devel +BuildRequires: python3-devel +BuildRequires: python3-setuptools +Requires: python3-base +Conflicts: watchman-python < %{version} # NOTE: the additional scripts like watchman-make are written in python. I # guess those scripts don't justify another subpackage, so I add them as a # bargain to the python bindings. -%description python +%description -n python3-watchman Provides Python bindings for directly talking to the
commit watchman for openSUSE:Factory
Hello community, here is the log from the commit of package watchman for openSUSE:Factory checked in at 2018-06-29 22:29:39 Comparing /work/SRC/openSUSE:Factory/watchman (Old) and /work/SRC/openSUSE:Factory/.watchman.new (New) Package is "watchman" Fri Jun 29 22:29:39 2018 rev:3 rq:617742 version:unknown Changes: --- /work/SRC/openSUSE:Factory/watchman/watchman.changes2017-06-21 13:58:05.471756797 +0200 +++ /work/SRC/openSUSE:Factory/.watchman.new/watchman.changes 2018-06-29 22:29:41.658333749 +0200 @@ -1,0 +2,64 @@ +Tue Jun 12 07:37:59 UTC 2018 - matthias.gerst...@suse.com + +- watchman_4.7.0_makefile-am.diff: dropped, included in tarball by now +- 0001-Replaced-memset-calls-with-appopriate-C-11-init-or-a.patch: fix invalid + raw memory accesses of non-POD objects, fixes ppc build. +- 0002-Re-worked-replacement-of-memset-with-proper-init-to-.patch: fix + compiler errors introduced by the above patch ... +- update to version 4.9.0: + - Changes in 4.8.0: +* New command `flush-subscriptions` to synchronize subscriptions associated + with the current session. +* Enforce socket Unix groups more strongly — Watchman will now refuse to start + if it couldn't gain the right group memberships, as can happen for sites that + are experiencing intermittent LDAP connectivity problems. +* pywatchman now officially supports Python 3. pywatchman will return Unicode + strings (possibly with surrogate escapes) by default, but can optionally return + bytestrings. Note that on Python 3, pywatchman requires Watchman 4.8 and above. + The Python 2 interface and requirements remain unchanged. +* Prior to 4.8, methods on the Java WatchmanClient that returned + ListenableFutures would swallow exceptions and hang in an unfinished state + under situations like socket closure or thread death. This has been fixed, and + now ListenableFutures propagate exception conditions immediately. (Note that + this is typically unrecoverable, and users should create a new WatchmanClient + to re-establish communication with Watchman.) See #412. +* The minimum Java version for the Watchman Java client has always been 1.7, + but it was incorrectly described to be 1.6. The Java client's build file has + been fixed accordingly. +* Watchman was converted from C to C++. The conversion exposed several + concurrency bugs, all of which have now been fixed. +* Subscription queries are now executed in the context of the client thread, + which means that subscriptions are dispatched in parallel. Previously, + subscriptions would be serially dispatched and block the disk IO thread. +* Triggers are now dispatched in parallel and waits are managed in their own + threads (one thread per trigger). This improves concurrency and resolves a + couple of waitpid related issues where watchman may not reap spawned children + in a timely fashion, or may spin on CPU until another child is spawned. +* Fixed an object lifecycle management issue that could cause a crash when + aging out old/transient files. +* Implement an upgraded wire protocol, BSERv2, on the server and in pywatchman. + BSERv2 can carry information about string encoding over the wire. This lets + pywatchman convert to Unicode strings on Python 3. Clients and servers know how + to transparently fall back to BSERv1. + - Changes in 4.9.0: +* New field: `content.sha1hex`. This field expands to the SHA1 hash of + the file contents, expressed in hex digits (40 character hex string). + Watchman maintains a cache of the content hashes and can compute the + hash on demand and also heuristically as files are changed. This is + useful for tooling that wants to perform more intelligent cache invalidation + or build artifact fetching from content addressed storage. +* Fixed an issue that resulted in the perf logging thread deadlocking when + `perf_logger_command` is enabled in the global configuration +* Fixed an issue where queries larger than 1MB would likely result in + a PDU error response. +* Reduced lock contention for subscriptions that do no use the advanced + settling (`drop`, `defer`) options. +* Fixed `since` generator behavior when using unix timestamps rather than + the preferred clock string syntax +* Improved the reporting of "new" files in watchman results +* Improved performance of handling changes on case insensitive filesystems +* pywatchman: the python wheel format is used for publishing watchman pypi package +* pywatchman: now watchman path is configurable in python client +* pywatchman: now python client can be used as a context manager +
commit watchman for openSUSE:Factory
Hello community, here is the log from the commit of package watchman for openSUSE:Factory checked in at 2017-06-21 13:58:02 Comparing /work/SRC/openSUSE:Factory/watchman (Old) and /work/SRC/openSUSE:Factory/.watchman.new (New) Package is "watchman" Wed Jun 21 13:58:02 2017 rev:2 rq:505115 version:unknown Changes: --- /work/SRC/openSUSE:Factory/watchman/watchman.changes2016-12-02 16:41:23.0 +0100 +++ /work/SRC/openSUSE:Factory/.watchman.new/watchman.changes 2017-06-21 13:58:05.471756797 +0200 @@ -1,0 +2,5 @@ +Tue Jun 20 15:40:15 UTC 2017 - matthias.gerst...@suse.com + +- fallthrough.diff: fix gcc 7 build issues + +--- New: fallthrough.diff Other differences: -- ++ watchman.spec ++ --- /var/tmp/diff_new_pack.GbVTjV/_old 2017-06-21 13:58:06.263645095 +0200 +++ /var/tmp/diff_new_pack.GbVTjV/_new 2017-06-21 13:58:06.263645095 +0200 @@ -1,7 +1,7 @@ # # spec file for package watchman # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -30,9 +30,9 @@ Release:0 Url:https://facebook.github.io/watchman/ Summary:A file watching service +# the thirdparty code is partially MIT-licensed or at least some such License:Apache-2.0 and MIT Group: System/Monitoring -# the thirdparty code is partially MIT-licensed or at least some such Source0:https://github.com/facebook/watchman/archive/v%version.tar.gz # tmpfiles.d configuration for statedir Source1:watchman.conf @@ -41,6 +41,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build # prevent the build system overwriting the autotools docdir in a hard-coded way Patch0: %{name}_4.7.0_makefile-am.diff +# fix build with gcc 7 regarding switch/case fall through logic +# this is already fixed upstream, but they have no new release and also +# refactored a lot of code, for example hash.c is now hash.cpp, that's why I +# made my own patch against 4.7.0 +Patch1: fallthrough.diff PreReq: %fillup_prereq %description @@ -62,9 +67,9 @@ %package python Summary:A python package for talking to the watchman service +# from python/setup.py License:MIT Group: System/Monitoring -# from python/setup.py Version:1.3.0 Release:0 Requires: python @@ -88,6 +93,7 @@ %prep %setup -q %patch0 +%patch1 -p 1 # There is some basic support for watchman to run under systemd: # ++ fallthrough.diff ++ Index: watchman-4.7.0/hash.c === --- watchman-4.7.0.orig/hash.c +++ watchman-4.7.0/hash.c @@ -225,17 +225,17 @@ uint32_t w_hash_bytes(const void *key, s /* last block: affect all 32 bits of (c) */ switch(length) /* all the case statements fall through */ { - case 12: c+=((uint32_t)k[11])<<24; - case 11: c+=((uint32_t)k[10])<<16; - case 10: c+=((uint32_t)k[9])<<8; - case 9 : c+=k[8]; - case 8 : b+=((uint32_t)k[7])<<24; - case 7 : b+=((uint32_t)k[6])<<16; - case 6 : b+=((uint32_t)k[5])<<8; - case 5 : b+=k[4]; - case 4 : a+=((uint32_t)k[3])<<24; - case 3 : a+=((uint32_t)k[2])<<16; - case 2 : a+=((uint32_t)k[1])<<8; + case 12: c+=((uint32_t)k[11])<<24; /* fall through */ + case 11: c+=((uint32_t)k[10])<<16; /* fall through */ + case 10: c+=((uint32_t)k[9])<<8; /* fall through */ + case 9 : c+=k[8]; /* fall through */ + case 8 : b+=((uint32_t)k[7])<<24; /* fall through */ + case 7 : b+=((uint32_t)k[6])<<16; /* fall through */ + case 6 : b+=((uint32_t)k[5])<<8; /* fall through */ + case 5 : b+=k[4]; /* fall through */ + case 4 : a+=((uint32_t)k[3])<<24; /* fall through */ + case 3 : a+=((uint32_t)k[2])<<16; /* fall through */ + case 2 : a+=((uint32_t)k[1])<<8; /* fall through */ case 1 : a+=k[0]; break; case 0 : return c;
commit watchman for openSUSE:Factory
Hello community, here is the log from the commit of package watchman for openSUSE:Factory checked in at 2016-12-02 16:41:23 Comparing /work/SRC/openSUSE:Factory/watchman (Old) and /work/SRC/openSUSE:Factory/.watchman.new (New) Package is "watchman" Changes: New Changes file: --- /dev/null 2016-10-27 01:54:32.792041256 +0200 +++ /work/SRC/openSUSE:Factory/.watchman.new/watchman.changes 2016-12-02 16:41:23.0 +0100 @@ -0,0 +1,18 @@ +--- +Wed Nov 16 09:58:32 UTC 2016 - jeng...@inai.de + +- Replace %jobs by %_smp_mflags; drop unnecessary %clean section. +- Avoid multiple invocation of %service_*. + +--- +Thu Nov 10 16:55:19 UTC 2016 - matthias.gerst...@suse.com + +- added subpackage for python bindings +- added systemd unit files for service and socket for inetd style spawning of + watchman user instances via systemd + +--- +Tue Nov 8 17:44:27 CET 2016 - mgerst...@suse.de + +- initial version using the buildservice +- no support for systemd, python or ruby bindings yet New: v4.7.0.tar.gz watchman.changes watchman.conf watchman.spec watchman@.service watchman@.socket watchman_4.7.0_makefile-am.diff Other differences: -- ++ watchman.spec ++ # # spec file for package watchman # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define docdir %{_defaultdocdir}/watchman %define rundir /run/watchman Name: watchman BuildRequires: autoconf BuildRequires: automake BuildRequires: pcre-devel BuildRequires: python BuildRequires: systemd-rpm-macros Requires: pcre %{?systemd_requires} Version:4.7.0 Release:0 Url:https://facebook.github.io/watchman/ Summary:A file watching service License:Apache-2.0 and MIT Group: System/Monitoring # the thirdparty code is partially MIT-licensed or at least some such Source0:https://github.com/facebook/watchman/archive/v%version.tar.gz # tmpfiles.d configuration for statedir Source1:watchman.conf Source2:watchman@.service Source3:watchman@.socket BuildRoot: %{_tmppath}/%{name}-%{version}-build # prevent the build system overwriting the autotools docdir in a hard-coded way Patch0: %{name}_4.7.0_makefile-am.diff PreReq: %fillup_prereq %description Watchman exists to watch files and record when they change. It can also trigger actions (such as rebuilding assets) when matching files change. * Watchman can recursively watch one or more directory trees (we call them roots). * Watchman does not follow symlinks. It knows they exist, but they show up the same as any other file in its reporting. * Watchman waits for a root to settle down before it will start to trigger notifications or command execution. * Watchman is conservative, preferring to err on the side of caution; it considers files to be freshly changed when you start to watch them or when it is unsure. * You can query a root for file changes since you last checked, or the current state of the tree * You can subscribe to file changes that occur in a root %package python Summary:A python package for talking to the watchman service License:MIT Group: System/Monitoring # from python/setup.py Version:1.3.0 Release:0 Requires: python BuildRequires: python-devel # NOTE: the additional scripts like watchman-make are written in python. I # guess those scripts don't justify another subpackage, so I add them as a # bargain to the python bindings. %description python Provides Python bindings for directly talking to the watchman service from within Python. Additionally, some Python tools that are part of watchman will be installed. # %%package ruby # There's also a ruby interface included in watchman. # The integration into autotools is done via ruby's bundler. # We can use gem2rpm to create a spec file for it, but it's probably better # not to make it a subpackage but