Hello community,

here is the log from the commit of package telegram-desktop for 
openSUSE:Factory checked in at 2019-06-19 21:06:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/telegram-desktop (Old)
 and      /work/SRC/openSUSE:Factory/.telegram-desktop.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "telegram-desktop"

Wed Jun 19 21:06:59 2019 rev:16 rq:709246 version:1.7.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/telegram-desktop/telegram-desktop.changes        
2019-05-12 11:44:31.291827037 +0200
+++ 
/work/SRC/openSUSE:Factory/.telegram-desktop.new.4811/telegram-desktop.changes  
    2019-06-19 21:09:09.722553725 +0200
@@ -1,0 +2,65 @@
+Mon Jun 10 20:34:17 UTC 2019 - Marcel Kuehlhorn <tu...@opensuse.org>
+
+- Update to 1.7.7
+  * Bug fixes and other minor improvements.
+
+-------------------------------------------------------------------
+Thu Jun  6 16:56:59 UTC 2019 - Marcel Kuehlhorn <tu...@opensuse.org>
+
+- Update to 1.7.6
+  * Bug fixes and other minor improvements.
+- Updated qtlottie
+
+-------------------------------------------------------------------
+Wed Jun  5 22:31:45 UTC 2019 - Marcel Kuehlhorn <tu...@opensuse.org>
+
+- Keep using GCC8 on Tumbleweed until there is a resolution for
+  https://github.com/telegramdesktop/tdesktop/issues/5996
+
+-------------------------------------------------------------------
+Wed Jun  5 20:33:30 UTC 2019 - Marcel Kuehlhorn <tu...@opensuse.org>
+
+- Update to 1.7.5
+  * Download video files while watching them using streaming.
+  * Set EOL for Windows XP / Vista and OS X 10.6 to 10.9
+    at September 1.
+  * Crash fix.
+- Remove gcc7-fix.patch because GCC7 will no longer work due to
+  qtlottie requiring "class-memaccess" option
+
+-------------------------------------------------------------------
+Wed Jun  5 20:07:00 UTC 2019 - Marcel Kuehlhorn <tu...@opensuse.org>
+
+- Update to 1.7.3
+  * Bug fixes and other minor improvements.
+- New 3rd party: rapidjson
+
+-------------------------------------------------------------------
+Sat Jun  1 12:03:16 UTC 2019 - Marcel Kuehlhorn <tu...@opensuse.org>
+
+- Update to 1.7.2
+  * Choose who can see your phone number with granular precision in
+    Privacy & Security settings.
+  * Add group chats to "Always/Never Share" exceptions for any
+    privacy setting. Permissions will update as users leave
+    and join the groups.
+  * Connect a discussion group to your channel, subscribers will
+    see a "Discuss" button.
+  * Integrate bots seamlessly with web services. 
+    For example, see t.me/DiscussThis/1
+  * Use TouchBar on MacBooks Pro to control music playback and
+    switch between pinned chats.
+- New 3rd party: qtlottie
+
+-------------------------------------------------------------------
+Thu May 30 09:46:29 UTC 2019 - Marcel Kuehlhorn <tu...@opensuse.org>
+
+- Updated bundled 3rd party sources to fix gcc9 build failures
+  * breakpad, linux-syscall-support, gyp, crl to current master
+  * libtgvoip to v2.4.4
+  * mapbox-variant to v1.1.6
+  * range-v3 to v0.5.0
+  * xxHash to v0.7.0
+- spec-cleaner: use pkconfig
+
+-------------------------------------------------------------------

Old:
----
  gcc7-fix.patch
  v1.7.0.tar.gz

New:
----
  qtlottie-tdesktop.zip
  rapidjson-master.zip
  v1.7.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ telegram-desktop.spec ++++++
--- /var/tmp/diff_new_pack.AzzVVh/_old  2019-06-19 21:09:15.774559605 +0200
+++ /var/tmp/diff_new_pack.AzzVVh/_new  2019-06-19 21:09:15.778559609 +0200
@@ -16,8 +16,16 @@
 #
 
 
+# temprarily always use gcc8, later add '0%{?suse_version} < 01550 && ' to only
+# use gcc8 on leap
+%if 0%{?is_opensuse}
+%bcond_without  gcc8
+%else
+%bcond_with     gcc8
+%endif
+
 Name:           telegram-desktop
-Version:        1.7.0
+Version:        1.7.7
 Release:        0
 Summary:        Messaging application with a focus on speed and security
 License:        GPL-3.0-only
@@ -43,52 +51,42 @@
 Source9:        range-v3-master.zip
 # curl https://codeload.github.com/telegramdesktop/crl/zip/master -o 
crl-master.zip
 Source10:       crl-master.zip
-# curl https://codeload.github.com/Cyan4973/xxHash/zip/master -o crl-master.zip
-Source11:       xxHash-master.zip
-
+# curl https://codeload.github.com/telegramdesktop/qtlottie/zip/tdesktop -o 
qtlottie-tdesktop.zip
+Source11:       qtlottie-tdesktop.zip
+# curl https://codeload.github.com/Cyan4973/xxHash/zip/master -o 
xxHash-master.zip
+Source12:       xxHash-master.zip
+# curl https://codeload.github.com/Tencent/rapidjson/zip/master -o 
rapidjson-master.zip
+Source13:       rapidjson-master.zip
 Patch0:         tdesktop.patch
-Patch1:         gcc7-fix.patch
 BuildRequires:  chrpath
 BuildRequires:  cmake
 BuildRequires:  desktop-file-utils
 BuildRequires:  ffmpeg-devel
-BuildRequires:  fontconfig-devel
 BuildRequires:  freetype-devel
+%if %{with gcc8}
+BuildRequires:  gcc8-c++
+%else
 BuildRequires:  gcc-c++
+%endif
 BuildRequires:  glibc-devel
 BuildRequires:  libQt5Core-private-headers-devel
-BuildRequires:  libQt5DBus-devel
 BuildRequires:  libQt5Gui-private-headers-devel
-BuildRequires:  libQt5Network-devel
-BuildRequires:  libQt5Widgets-devel
-BuildRequires:  libXfixes-devel
-BuildRequires:  libexpat-devel
 BuildRequires:  libjpeg-devel
-BuildRequires:  libmng-devel
-BuildRequires:  libopus-devel
-BuildRequires:  libproxy-devel
 BuildRequires:  libqt5-qtbase-common-devel
 BuildRequires:  libqt5-qtimageformats-devel
-BuildRequires:  libtiff-devel
-BuildRequires:  minizip-devel
-BuildRequires:  openal-soft-devel
-BuildRequires:  opusfile-devel
-BuildRequires:  pcre-devel
 BuildRequires:  pkgconfig
-BuildRequires:  portaudio-devel
 # python2-base is required for gyp, Auto pulled in for Tumbleweed, but need 
for Leap 15.
 BuildRequires:  python2-base
 BuildRequires:  python3
 BuildRequires:  unzip
-BuildRequires:  xcb-util-image-devel
-BuildRequires:  xcb-util-keysyms-devel
-BuildRequires:  xcb-util-renderutil-devel
-BuildRequires:  xcb-util-wm-devel
 BuildRequires:  xorg-x11-devel
 BuildRequires:  xz
-BuildRequires:  zlib-devel
+BuildRequires:  pkgconfig(Qt5DBus)
+BuildRequires:  pkgconfig(Qt5Network)
+BuildRequires:  pkgconfig(Qt5Widgets)
 BuildRequires:  pkgconfig(alsa)
 BuildRequires:  pkgconfig(appindicator-0.1)
+BuildRequires:  pkgconfig(expat)
 BuildRequires:  pkgconfig(fontconfig)
 BuildRequires:  pkgconfig(freetype2)
 BuildRequires:  pkgconfig(glib-2.0)
@@ -101,18 +99,39 @@
 BuildRequires:  pkgconfig(libavutil)
 BuildRequires:  pkgconfig(libcrypto)
 BuildRequires:  pkgconfig(liblzma)
+BuildRequires:  pkgconfig(libmng)
+BuildRequires:  pkgconfig(libpcre)
+BuildRequires:  pkgconfig(libpcre16)
+BuildRequires:  pkgconfig(libpcrecpp)
+BuildRequires:  pkgconfig(libpcreposix)
 BuildRequires:  pkgconfig(libpng)
+BuildRequires:  pkgconfig(libproxy-1.0)
 BuildRequires:  pkgconfig(libpulse)
+BuildRequires:  pkgconfig(libtiff-4)
 BuildRequires:  pkgconfig(libva)
 BuildRequires:  pkgconfig(libva-glx)
 BuildRequires:  pkgconfig(libva-x11)
 BuildRequires:  pkgconfig(libwebp)
+BuildRequires:  pkgconfig(minizip)
 BuildRequires:  pkgconfig(mtdev)
+BuildRequires:  pkgconfig(openal)
 BuildRequires:  pkgconfig(openssl)
+BuildRequires:  pkgconfig(opus)
+BuildRequires:  pkgconfig(opusfile)
+BuildRequires:  pkgconfig(opusurl)
+BuildRequires:  pkgconfig(portaudio-2.0)
+BuildRequires:  pkgconfig(portaudiocpp)
 BuildRequires:  pkgconfig(tslib)
+BuildRequires:  pkgconfig(xcb-ewmh)
+BuildRequires:  pkgconfig(xcb-icccm)
+BuildRequires:  pkgconfig(xcb-image)
+BuildRequires:  pkgconfig(xcb-keysyms)
+BuildRequires:  pkgconfig(xcb-renderutil)
 BuildRequires:  pkgconfig(xcb-util)
+BuildRequires:  pkgconfig(xfixes)
 BuildRequires:  pkgconfig(xkbcommon)
 BuildRequires:  pkgconfig(xkbcommon-x11)
+BuildRequires:  pkgconfig(zlib)
 # Runtime requirements
 Requires:       ffmpeg
 Requires:       hicolor-icon-theme
@@ -156,6 +175,14 @@
 mv crl-master crl
 mv crl %{_builddir}/tdesktop-%{version}/Telegram/ThirdParty/
 
+cp %{_sourcedir}/qtlottie-tdesktop.zip . && unzip qtlottie-tdesktop.zip
+mv qtlottie-tdesktop qtlottie
+mv qtlottie %{_builddir}/tdesktop-%{version}/Telegram/ThirdParty/
+
+cp %{_sourcedir}/rapidjson-master.zip . && unzip rapidjson-master.zip
+mv rapidjson-master rapidjson
+mv rapidjson %{_builddir}/tdesktop-%{version}/Telegram/ThirdParty/
+
 cp %{_sourcedir}/xxHash-master.zip . && unzip xxHash-master.zip
 mv xxHash-master xxHash
 mv xxHash %{_builddir}/tdesktop-%{version}/Telegram/ThirdParty/
@@ -163,9 +190,6 @@
 cp %{_sourcedir}/tdesktop.patch %{_builddir}/tdesktop-%{version}
 cd %{_builddir}/tdesktop-%{version}
 %patch0 -p1
-%if 0%{?sle_version} == 150000 && 0%{?is_opensuse}
-%patch1 -p1
-%endif
 
 cp %{_sourcedir}/patch.py . && python3 ./patch.py
 cp %{_sourcedir}/catch.hpp ./Telegram/SourceFiles/
@@ -175,6 +199,11 @@
 %setup -q -T -c -n gyp -a 3
 
 %build
+%if %{with gcc8}
+export CC=/usr/bin/gcc-8
+export CXX=/usr/bin/g++-8
+%endif
+
 mv %{_builddir}/tdesktop-%{version} %{_builddir}/tdesktop
 
 # patch gyp
@@ -189,7 +218,7 @@
 ln -s %{_builddir}/breakpad-lss src/third_party/lss
 %configure
 %make_build
-make install DESTDIR=%{_builddir}/Libraries/breakpad
+make %{?_smp_mflags} install DESTDIR=%{_builddir}/Libraries/breakpad
 
 cd %{_builddir}/tdesktop/Telegram/gyp
 # patch qt.gypi to change libxkbcommon path


++++++ breakpad-master.tar.gz ++++++
++++ 7264 lines of diff (skipped)

++++++ crl-master.zip ++++++
Binary files /var/tmp/diff_new_pack.AzzVVh/_old and 
/var/tmp/diff_new_pack.AzzVVh/_new differ

++++++ gyp-master.tar.gz ++++++
++++ 7734 lines of diff (skipped)

++++++ libtgvoip.zip ++++++
Binary files /var/tmp/diff_new_pack.AzzVVh/_old and 
/var/tmp/diff_new_pack.AzzVVh/_new differ

++++++ linux-syscall-support-refs-heads-master.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2019-05-30 07:38:50.000000000 +0200
@@ -0,0 +1,3 @@
+*.o
+
+core
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2018-05-25 07:03:52.000000000 +0200
+++ new/README.md       2019-05-30 07:38:50.000000000 +0200
@@ -108,20 +108,23 @@
 ### Review
 
 You get your change reviewed, you can upload it to
-[Rietveld](https://codereview.chromium.org)
+[Gerrit](https://chromium-review.googlesource.com/q/project:linux-syscall-support+status:open)
 using `git cl upload` from
-[Chromium's 
depot-tools](http://dev.chromium.org/developers/how-tos/depottools).
+[Chromium's 
depot-tools](https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html).
 
 ### Testing
 
-Unfortunately, LSS has no automated test suite.
+Tests are found in the [tests/](./tests/) subdirectory.  It does not (yet) 
offer
+100% coverage, but should grow over time.
 
-You can test LSS by patching it into Chromium, building Chromium, and running
-Chromium's tests.
+New commits that update/change/add syscall wrappers should include tests for
+them too.  Consult the [test documentation](./tests/README.md) for more 
details.
 
-You can compile-test LSS by running:
+To run, just run `make` inside the tests directory.  It will compile & execute
+the tests locally.
 
-    gcc -Wall -Wextra -Wstrict-prototypes -c linux_syscall_support.h
+There is some limited cross-compile coverage available if you run `make cross`.
+It only compiles things (does not execute at all).
 
 ### Rolling into Chromium
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux_syscall_support.h new/linux_syscall_support.h
--- old/linux_syscall_support.h 2018-05-25 07:03:52.000000000 +0200
+++ new/linux_syscall_support.h 2019-05-30 07:38:50.000000000 +0200
@@ -1964,7 +1964,7 @@
         __asm__ volatile(LSS_ENTRYPOINT                                       \
                          : "=a" (__res)                                       \
                          : "0" (__NR_##name)                                  \
-                         : "esp", "memory");                                  \
+                         : "memory");                                         \
         LSS_RETURN(type,__res);                                               \
       }
     #undef  _syscall1
@@ -2405,7 +2405,7 @@
                                "d"(LSS_SYSCALL_ARG(parent_tidptr)),
                                "r"(LSS_SYSCALL_ARG(newtls)),
                                "r"(LSS_SYSCALL_ARG(child_tidptr))
-                             : "rsp", "memory", "r8", "r10", "r11", "rcx");
+                             : "memory", "r8", "r10", "r11", "rcx");
       }
       LSS_RETURN(int, __res);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/.gitignore new/tests/.gitignore
--- old/tests/.gitignore        1970-01-01 01:00:00.000000000 +0100
+++ new/tests/.gitignore        2019-05-30 07:38:50.000000000 +0200
@@ -0,0 +1,4 @@
+/*_test
+
+# Some tests create temp files.
+/tempfile.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/Makefile new/tests/Makefile
--- old/tests/Makefile  1970-01-01 01:00:00.000000000 +0100
+++ new/tests/Makefile  2019-05-30 07:38:50.000000000 +0200
@@ -0,0 +1,129 @@
+# Copyright 2018, Google Inc.  All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+#     * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+#     * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+top_srcdir ?= ..
+
+DEF_FLAGS = -g -pipe
+DEF_WFLAGS = -Wall
+CFLAGS ?= $(DEF_FLAGS)
+CXXFLAGS ?= $(DEF_FLAGS)
+CFLAGS += $(DEF_WFLAGS) -Wstrict-prototypes
+CXXFLAGS += $(DEF_WFLAGS)
+CPPFLAGS += -I$(top_srcdir)
+# We use static linking here so that if people run through qemu/etc... by hand,
+# it's a lot easier to run/debug.  Same for strace output.
+LDFLAGS += -static
+
+TESTS = \
+       unlink \
+
+all: check
+
+%_test: %.c test_skel.h $(top_srcdir)/linux_syscall_support.h
+       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $<
+
+%_test: %.cc test_skel.h $(top_srcdir)/linux_syscall_support.h
+       $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $<
+
+%_run: %_test
+       @t=$(@:_run=_test); \
+       echo "./$$t"; \
+       if ! env -i ./$$t; then \
+               env -i strace -f -v ./$$t; \
+               echo "TRY: gdb -q -ex r -ex bt ./$$t"; \
+               exit 1; \
+       fi
+
+ALL_TEST_TARGETS = $(TESTS:=_test)
+compile_tests: $(ALL_TEST_TARGETS)
+
+ALL_RUN_TARGETS = $(TESTS:=_run)
+check: $(ALL_RUN_TARGETS)
+
+# The "tempfile" targets are the names we use with temp files.
+# Clean them out in case some tests crashed in the middle.
+clean:
+       rm -f *~ *.o tempfile.* a.out core $(ALL_TEST_TARGETS)
+
+.SUFFIXES:
+.PHONY: all check clean compile_tests
+.SECONDARY: $(ALL_TEST_TARGETS)
+
+# Try to cross-compile the tests for all our supported arches.  We test with
+# both gcc and clang.  We don't support execution (yet?), but just compiling
+# & linking helps catch common bugs.
+.PHONY: cross compile_cross
+cross_compile:
+       @echo "Running: $(MAKE) $@ CC='$(CC)' CXX='$(CXX)'"; \
+       if (echo '#include <stdio.h>' | $(CC) -x c -c -o /dev/null -) 
2>/dev/null; then \
+               $(MAKE) -s clean; \
+               $(MAKE) -k --no-print-directory compile_tests; \
+       else \
+               echo "Skipping $(CC) test: not installed"; \
+       fi; \
+       echo
+
+# The names here are a best effort.  Not easy to probe for.
+cross:
+       @for cc in \
+               "x86_64-pc-linux-gnu-gcc" \
+               "i686-pc-linux-gnu-gcc" \
+               "x86_64-pc-linux-gnu-gcc -mx32" \
+               "armv7a-unknown-linux-gnueabi-gcc -marm -mhard-float" \
+               "armv7a-unknown-linux-gnueabi-gcc -mthumb -mhard-float" \
+               "powerpc-unknown-linux-gnu-gcc" \
+               "aarch64-unknown-linux-gnu-gcc" \
+               "mips64-unknown-linux-gnu-gcc -mabi=64" \
+               "mips64-unknown-linux-gnu-gcc -mabi=32" \
+               "mips64-unknown-linux-gnu-gcc -mabi=n32" \
+               "s390-ibm-linux-gnu-gcc" \
+               "s390x-ibm-linux-gnu-gcc" \
+       ; do \
+               cxx=`echo "$$cc" | sed 's:-gcc:-g++:'`; \
+               $(MAKE) --no-print-directory CC="$$cc" CXX="$$cxx" 
cross_compile; \
+               \
+               sysroot=`$$cc --print-sysroot 2>/dev/null`; \
+               gccdir=`$$cc -print-file-name=libgcc.a 2>/dev/null`; \
+               gccdir=`dirname "$$gccdir"`; \
+               : Skip building for clang for mips/o32 and s390/31-bit until it 
works.; \
+               case $$cc in \
+                       mips64*-mabi=32) continue;; \
+                       s390-*) continue;; \
+               esac; \
+               set -- $$cc; \
+               tuple=$${1%-gcc}; \
+               shift; \
+               cc="clang -target $$tuple $$*"; \
+               : Assume the build system is x86_64 based, so ignore the 
sysroot.; \
+               case $$tuple in \
+                       x86_64*) ;; \
+                       *) cc="$$cc --sysroot $$sysroot -B$$gccdir 
-L$$gccdir";; \
+               esac; \
+               cxx=`echo "$$cc" | sed 's:^clang:clang++:'`; \
+               $(MAKE) --no-print-directory CC="$$cc" CXX="$$cxx" 
cross_compile; \
+       done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/README.md new/tests/README.md
--- old/tests/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/tests/README.md 2019-05-30 07:38:50.000000000 +0200
@@ -0,0 +1,52 @@
+# LSS Tests
+
+## Source Layout
+
+The general layout of the tests:
+* [test_skel.h]: Test helpers for common checks/etc...
+* xxx.c: Unittest for the xxx syscall (e.g. `open.c`).
+* [Makefile]: New tests should be registered in the `TESTS` variable.
+
+## Test Guidelines
+
+The unittest itself generally follows the conventions:
+* Written in C (unless a very specific language behavior is needed).
+* You should only need to `#include "test_skel.h"`.  For new system headers, 
try
+  to add them here rather than copying to exact unittest (if possible).
+  It might slow compilation down slightly, but makes the code easier to manage.
+  Make sure it is included first.
+* Use `assert()` on everything to check return values.
+* Use `sys_xxx()` to access the syscall via LSS (compared to `xxx()` which 
tends
+  to come from the C library).
+* If you need a tempfile, use `tempfile.XXXXXX` for templates with helpers like
+  `mkstemp`.  Try to clean them up when you're done with them.
+  These will be created in the cwd, but that's fine.
+* Don't worry about trying to verify the kernel/C library API and various edge
+  cases.  The goal of LSS is to make sure that we pass args along correctly to
+  the syscall only.
+* Make sure to leave comments in the test so it's clear what behavior you're
+  trying to verify (and how).
+
+Feel free to extend [test_skel.h] with more helpers if they're useful to more
+than one test.
+
+If you're looking for a simple example, start with [unlink.c](./unlink.c).
+You should be able to copy this over and replace the content of `main()`.
+
+## Running The Tests
+
+Simply run `make`.  This will compile & execute all the tests on your local
+system.  A standard `make clean` will clean up all the objects.
+
+If you need to debug something, then the programs are simply named `xxx_test`
+and can easily be thrown into `gdb ./xxx_test`.
+
+We have rudimentary cross-compile testing via gcc and clang.  Try running
+`make cross` -- for any toolchains you don't have available, it should skip
+things automatically.  This only verifies the compilation & linking stages
+though.
+
+The cross-compilers can be created using <http://crosstool-ng.github.io/>.
+
+[Makefile]: ./Makefile
+[test_skel.h]: ./test_skel.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/test_skel.h new/tests/test_skel.h
--- old/tests/test_skel.h       1970-01-01 01:00:00.000000000 +0100
+++ new/tests/test_skel.h       2019-05-30 07:38:50.000000000 +0200
@@ -0,0 +1,70 @@
+/* Copyright 2018, Google Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Make sure it's defined before including anything else.  A number of syscalls
+ * are GNU extensions and rely on being exported by glibc.
+ */
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
+/*
+ * Make sure the assert checks aren't removed as all the unittests are based
+ * on them.
+ */
+#undef NDEBUG
+
+#include <assert.h>
+#include <fcntl.h>
+#include <sched.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/mman.h>
+#include <sys/prctl.h>
+#include <sys/stat.h>
+#include <sys/vfs.h>
+#include <sys/wait.h>
+
+#include <linux/capability.h>
+
+#include "linux_syscall_support.h"
+
+void assert_buffers_eq_len(const void *buf1, const void *buf2, size_t len) {
+  const uint8_t *u8_1 = (const uint8_t *)buf1;
+  const uint8_t *u8_2 = (const uint8_t *)buf2;
+  size_t i;
+
+  for (i = 0; i < len; ++i) {
+    if (u8_1[i] != u8_2[i])
+      printf("offset %zu: %02x != %02x\n", i, u8_1[i], u8_2[i]);
+  }
+}
+#define assert_buffers_eq(obj1, obj2) assert_buffers_eq_len(obj1, obj2, 
sizeof(*obj1))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tests/unlink.c new/tests/unlink.c
--- old/tests/unlink.c  1970-01-01 01:00:00.000000000 +0100
+++ new/tests/unlink.c  2019-05-30 07:38:50.000000000 +0200
@@ -0,0 +1,48 @@
+/* Copyright 2018, Google Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "test_skel.h"
+
+int main(int argc, char *argv[]) {
+  // Get a unique path to play with.
+  char foo[] = "tempfile.XXXXXX";
+  int fd = mkstemp(foo);
+  assert(fd != -1);
+
+  // Make sure it exists.
+  assert(access(foo, F_OK) == 0);
+
+  // Then delete it.
+  assert(sys_unlink(foo) == 0);
+
+  // Make sure it's gone.
+  assert(access(foo, F_OK) != 0);
+
+  return 0;
+}

++++++ range-v3-master.zip ++++++
Binary files /var/tmp/diff_new_pack.AzzVVh/_old and 
/var/tmp/diff_new_pack.AzzVVh/_new differ

++++++ v1.7.0.tar.gz -> v1.7.7.tar.gz ++++++
/work/SRC/openSUSE:Factory/telegram-desktop/v1.7.0.tar.gz 
/work/SRC/openSUSE:Factory/.telegram-desktop.new.4811/v1.7.7.tar.gz differ: 
char 13, line 1

++++++ variant-master.zip ++++++
Binary files /var/tmp/diff_new_pack.AzzVVh/_old and 
/var/tmp/diff_new_pack.AzzVVh/_new differ

++++++ xxHash-master.zip ++++++
Binary files /var/tmp/diff_new_pack.AzzVVh/_old and 
/var/tmp/diff_new_pack.AzzVVh/_new differ


Reply via email to