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 <[email protected]>
+
+- Update to 1.7.7
+ * Bug fixes and other minor improvements.
+
+-------------------------------------------------------------------
+Thu Jun 6 16:56:59 UTC 2019 - Marcel Kuehlhorn <[email protected]>
+
+- Update to 1.7.6
+ * Bug fixes and other minor improvements.
+- Updated qtlottie
+
+-------------------------------------------------------------------
+Wed Jun 5 22:31:45 UTC 2019 - Marcel Kuehlhorn <[email protected]>
+
+- 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 <[email protected]>
+
+- 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 <[email protected]>
+
+- 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 <[email protected]>
+
+- 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 <[email protected]>
+
+- 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