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