commit watchman for openSUSE:Factory

2020-06-02 Thread root
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

2020-01-24 Thread root
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

2018-06-29 Thread root
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

2017-06-21 Thread root
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

2016-12-02 Thread h_root
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