Hello community, here is the log from the commit of package datefudge for openSUSE:Factory checked in at 2020-02-15 22:21:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/datefudge (Old) and /work/SRC/openSUSE:Factory/.datefudge.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "datefudge" Sat Feb 15 22:21:51 2020 rev:3 rq:774142 version:1.23 Changes: -------- --- /work/SRC/openSUSE:Factory/datefudge/datefudge.changes 2017-11-16 13:57:04.898175396 +0100 +++ /work/SRC/openSUSE:Factory/.datefudge.new.26092/datefudge.changes 2020-02-15 22:21:54.091195573 +0100 @@ -1,0 +2,10 @@ +Wed Feb 12 09:00:14 UTC 2020 - Martin Liška <mli...@suse.cz> + +- Add glibc-2.31-fix.patch in order to fix boo#1162963. + +------------------------------------------------------------------- +Fri Feb 7 12:43:17 UTC 2020 - Dominique Leuenberger <dims...@opensuse.org> + +- Update to version 1.23: no changelog found. + +------------------------------------------------------------------- Old: ---- datefudge_1.22.tar.xz New: ---- datefudge_1.23.tar.xz glibc-2.31-fix.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ datefudge.spec ++++++ --- /var/tmp/diff_new_pack.boeCVn/_old 2020-02-15 22:21:55.187196166 +0100 +++ /var/tmp/diff_new_pack.boeCVn/_new 2020-02-15 22:21:55.187196166 +0100 @@ -1,7 +1,7 @@ # # spec file for package datefudge # -# Copyright (c) 2017 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 @@ -12,21 +12,22 @@ # 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/ # Name: datefudge -Version: 1.22 +Version: 1.23 Release: 0 Summary: A preload library to fake system time # FIXME: use correct group, see "https://en.opensuse.org/openSUSE:Package_group_guidelines" -License: GPL-2.0+ +License: GPL-2.0-or-later Group: Development/Tools -Url: http://packages.qa.debian.org/d/datefudge.html +URL: http://packages.qa.debian.org/d/datefudge.html Source: http://cdn.debian.net/debian/pool/main/d/datefudge/%{name}_%{version}.tar.xz Source2: http://cdn.debian.net/debian/pool/main/d/datefudge/%{name}_%{version}.dsc#/%{name}.asc Source3: https://db.debian.org/fetchkey.cgi?fingerprint=35E876FAB4D3732E93B4D237631DE7553BE8AFD4#/%{name}.keyring +Patch0: glibc-2.31-fix.patch %description This program fakes the system date so that programs think the @@ -39,6 +40,7 @@ echo "`grep -A1 "Checksums-Sha1" %{SOURCE2} | grep %{name}_%{version}.tar.xz | cut -d\ -f2` %{SOURCE0}" | sha1sum -c echo "`grep -A1 "Checksums-Sha256" %{SOURCE2} | grep %{name}_%{version}.tar.xz | cut -d\ -f2` %{SOURCE0}" | sha256sum -c %setup -q +%patch0 -p1 sed "s/VERSION := \$\(.*\)/VERSION := %{version}/g" -i Makefile sed 's/-o root -g root/-p/g' -i Makefile ++++++ datefudge.asc ++++++ --- /var/tmp/diff_new_pack.boeCVn/_old 2020-02-15 22:21:55.211196179 +0100 +++ /var/tmp/diff_new_pack.boeCVn/_new 2020-02-15 22:21:55.211196179 +0100 @@ -5,34 +5,36 @@ Source: datefudge Binary: datefudge Architecture: any -Version: 1.22 +Version: 1.23 Maintainer: Robert Luberda <rob...@debian.org> -Standards-Version: 3.9.8 -Vcs-Browser: https://anonscm.debian.org/cgit/users/robert/datefudge.git/ -Vcs-Git: https://anonscm.debian.org/git/users/robert/datefudge.git -Build-Depends: debhelper (>= 9) +Standards-Version: 4.4.0 +Vcs-Browser: https://salsa.debian.org/debian/datefudge +Vcs-Git: https://salsa.debian.org/debian/datefudge.git +Testsuite: autopkgtest +Testsuite-Triggers: coreutils, perl +Build-Depends: debhelper (>= 12) Package-List: datefudge deb devel optional arch=any Checksums-Sha1: - 1c60c7582bff8dbc5960b48bea76a4d27eaf1b18 12964 datefudge_1.22.tar.xz + 66deb945ea979e707091dcc3020e58a3f7ffb806 13952 datefudge_1.23.tar.xz Checksums-Sha256: - 2dc6e4f8808726339f1c7358f9874128031bd940baac396477ab297b5d7ef445 12964 datefudge_1.22.tar.xz + 3b7668a107145e9d3d47b10520ce623c1b6dc15f571050d6140c2356c1a2d645 13952 datefudge_1.23.tar.xz Files: - c434f7286bfe30ade3d78db42b7b220b 12964 datefudge_1.22.tar.xz + a8da2bf4a7fb29f213b9b44a2a740d2e 13952 datefudge_1.23.tar.xz -----BEGIN PGP SIGNATURE----- -iQIzBAEBCAAdFiEENeh2+rTTcy6TtNI3Yx3nVTvor9QFAliWX6UACgkQYx3nVTvo -r9QGhRAAj6bTj1eIKFUmpgnv5f2MVMrN4vYh5RCaCqYRk9TvR5QoCN2kkHGhmYYQ -OMtznjjjSNwbIz1nwFHxq/f64639qOkq62Cz9YZBgfEjU0KEgUen1+8aEZp22v/d -nosrh51HT3nzc7U0QhH6BHTDtLs6BGQh3xtP0FgrQ+Xg58fqPzP2FxaeuwCZPSur -TCE2q7cg/s6kWMpqeqnpw1u1bG311Vv9krzv4U8A5VuD/1c3mrh6gOv0ZRu7+RIJ -2jpdQNfrp8Bq1HSOC4xzZDOTUmW5V8iXrz3vosXwfGFAYrzGUXCrolFQLDlmntoM -FZyTto/7GBNlc6p7Y8Px8u+oLjM8ixwzUSCaU+tVVj005VCwr1A4bOQMnyl86ELa -eMcQ/x+/R8pTmdZ622/G2onTfevWtRwYCOUT/pD3BMJ8YXNe1WMpCBzx8F58FndF -6tOSFkmzfs03hn+FqaeK+h+AnejtVUOJwX2xmT2jSx5k9/fckAb387foyT4ae1CU -lzM+KYYk1hL7GLflXExRFi7JdM8IcMKDku2J/JlWekfgyttJ3KLlSbg0Z7LO8ck1 -nWAV/ymbDmRbRZzBNUyREH/tn1RbHDmGvGR+s0RG7N6FLVhRjtv7mb+03i16pxlt -yNuBGT48fZbWJrNve3fBevT221qF9+KvzbyFpVoJ2zSlGZnNVmg= -=sSPZ +iQIzBAEBCAAdFiEENeh2+rTTcy6TtNI3Yx3nVTvor9QFAl1EfRcACgkQYx3nVTvo +r9Tk0w//ReZzXJi3i2Z17gkjFpPpZ7fJfIdrBvsi+qjW6YbdCAw2dG+XKcqxkDlE +mKfxvBBrbtAQV5bW42RH+INgapo+YjbLVliXXNgqcvvuY0RMctiGlKv/BZHqf4Q4 +t6KVGQCbgHYbWOap2thzIuaLHDPnBUgzBZ64rZW2+1lgyie97NPkR22h1o5wWCgq +wliISY1F7KmLqkpnk89Haap1gV4mfx9sBcw01HrOXfca/+oZA3cG0K3dST/L/tWf +Ir0DeNnBqCwxo7aI1kDQPQ6mfS2ir9bwPpads2YIC1F+/L7e2KDzT/6otnFEVmcz +bmEFBQNPzzRPVDGRQhF2/ApmC2DMfRTG7UNNL862iGnoUTrRm9NrHz0vaf/urmc4 +4WuIFO3mi6p2qOLiI4lv5O5UTqG+7/fboevSFoJhirbk6BJ6zvaw1W3asmy/OepI +v2iyoyquFqtKXFC7fC0Gj+mcWZ6uVWN5RteC62Ij99klkpBQ74JgT21v3Kl/ji4M +Id1pf5GSUdeOdycKWNabulPhYifq7A/tcT5SgT5ZcX+RnBpCKqN+lQJSWb+ID4Y7 +gUKn0efWgizyZMG/dTg1n84d5tNGAjJJbE2THxYcdEjqwE256FDoQPapUhcTZqrR +xlAf5W/TTDa5VjL6mFKLdMiAXQEDFFZ4D1LsVz/GxuJVUdeUM8U= +=uqq1 -----END PGP SIGNATURE----- ++++++ datefudge_1.22.tar.xz -> datefudge_1.23.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/datefudge-1.22/Makefile new/datefudge-1.23/Makefile --- old/datefudge-1.22/Makefile 2017-02-04 22:59:11.000000000 +0100 +++ new/datefudge-1.23/Makefile 2019-08-02 20:09:51.000000000 +0200 @@ -20,11 +20,11 @@ install: datefudge datefudge.so datefudge.1 install -d $(DESTDIR)$(libdir)/$(libarch)/datefudge - $(INSTALL_PROGRAM) -o root -g root -m 644 datefudge.so $(DESTDIR)$(libdir)/$(libarch)/datefudge/datefudge.so + $(INSTALL_PROGRAM) -m 644 datefudge.so $(DESTDIR)$(libdir)/$(libarch)/datefudge/datefudge.so install -d $(DESTDIR)$(bindir) - $(INSTALL_PROGRAM) -o root -g root -m 755 datefudge $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) -m 755 datefudge $(DESTDIR)$(bindir) install -d $(DESTDIR)$(mandir)/man1 - install -o root -g root -m 644 datefudge.1 $(DESTDIR)$(mandir)/man1 + install -m 644 datefudge.1 $(DESTDIR)$(mandir)/man1 datefudge: datefudge.sh datefudge.1: datefudge.man diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/datefudge-1.22/datefudge.man new/datefudge-1.23/datefudge.man --- old/datefudge-1.22/datefudge.man 2017-02-04 22:59:11.000000000 +0100 +++ new/datefudge-1.23/datefudge.man 2019-08-02 20:09:51.000000000 +0200 @@ -1,9 +1,10 @@ .\" vim:ft=nroff -.TH DATEFUDGE "1" "February 4th, 2017" "datefudge @VERSION@" Debian +.TH DATEFUDGE "1" "August 1th, 2019" "datefudge @VERSION@" Debian .SH NAME datefudge \- pretend the system time is different .SH SYNOPSIS -\fBdatefudge\fR [\fI\-s\fR|\fI\-\-static\fR] \fIat_date program\fR [\fIarguments\fR ...] +\fBdatefudge\fR [\fB\-s\fR|\fB\-\-static\fR] [\fB\-l\fR|\fB\-\-add\-ld\-preload\fR \fIlib\fR] +\fIat_date program\fR [\fIarguments\fR ...] .SH DESCRIPTION .PP \fBdatefudge\fR is a small utility that pretends that the system time is different @@ -16,8 +17,14 @@ .TP \fB\-\-static\fR, \fB\-s\fR Mark the date as a `static' one. The above mentioned system calls will always return -the date given in the \fIat_date\fP argument, regardless of time passing. See EXAMPLES - below. +the date given in the \fIat_date\fP argument, regardless of time passing. See EXAMPLES +below. +.TP +\fB\-\-add\-ld\-preload\fR \fIlib\fR, \fB\-l\fR \fIlib\fR +Prepend \fIlib\fR to \fILD_PRELOAD\fR environment variable before executing given +\fIprogram\fR. This option might be useful for example to inject sanitizer +libraries (e.g. from Address Sanitizer) to the list of preloaded libraries before the +internal \fBdatefudge\fR's library. See EXAMPLES below. .TP \fB\-\-help\fR, \fB\-h\fR Print short usage information and exit. @@ -44,8 +51,19 @@ \fI$ datefudge \fB\-\-static\fI "2007\-04\-01 10:23" sh \-c "\fBsleep 3\fI; date \-R"\fR Sun, 01 Apr 2007 10:23:\fB00\fR +0200 .fi +.SS Prepending LD_PRELOAD example: +.nf +\fI$ datefudge \fB\-\-add\-ld\-preload /path/to/libclang_rt.asan\-x86_64.so\fI "2007\-04\-01 10:23" command\fR + +If the \fIcommand\fR was compiled by 'clang \-fsanitize=address \-shared\-libasan', then the above +command might display some errors, for example: + +==7625==ERROR: AddressSanitizer: heap\-use\-after\-free on address 0x614000000044 at pc .... + +Without the \fB\-\-add\-ld\-preload\fR argument, this would not work at all. +.fi .SH AUTHOR -Written by Matthias Urlichs <sm...@noris.de>. Modified by +Written by Matthias Urlichs <sm...@noris.de>. Modified by Robert Luberda <rob...@debian.org>. .SH BUGS There is no attempt to make this change undetectable by the program. @@ -60,7 +78,7 @@ .SH COPYRIGHT Copyright \(co 2003 by Matthias Urlichs. .br -Copyright \(co 2008-2017 by Robert Luberda. +Copyright \(co 2008-2019 by Robert Luberda. .PP There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of datefudge under the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/datefudge-1.22/datefudge.sh new/datefudge-1.23/datefudge.sh --- old/datefudge-1.22/datefudge.sh 2017-02-04 22:59:11.000000000 +0100 +++ new/datefudge-1.23/datefudge.sh 2019-08-02 20:09:51.000000000 +0200 @@ -1,30 +1,57 @@ #!/bin/sh -# vim:noet:ts=2 +# vim:noet:ts=2:sw=2:et # Fake the system time -dat="$1" +dat="" static=0 +ld_preload_arg="" -if [ "$dat" = "-s" -o "$dat" = "--static" ] ; then - static=1 - shift - dat="$1" -fi -if [ "$dat" = "-v" -o "$dat" = "--version" ] ; then - echo "$0: Version @VERSION@" - echo "" - echo "For usage information, use '$0 --help'." - exit 0 -fi -if [ -z "$dat" -o "$dat" = "-h" -o "$dat" = "-?" -o "$dat" = "--help" ] ; then - echo "Usage: $0 [-s|--static] date program args..." - echo "" - echo "Run 'program' with 'args'." - echo "The program will believe that the current time is 'date'." - if [ -z "$dat" ] ; then exit 1; else exit 0; fi -fi +usage() +{ + if [ "$1" ]; then + exec >&2 + echo "$0: $1" + echo + fi + echo "Usage: $0 [-s|--static] [-l|--add-ld-preload lib] date program args..." + echo + echo "Run 'program' with 'args'." + echo "The program will believe that the current time is 'date'." + echo + [ "$1" ] && exit 1 || exit 0 +} + +while [ "$1" ] && [ -z "$dat" ]; do + case "$1" in + -s|--static) + static=1 + ;; + -l|--add-ld-preload) + [ "$2" ] || usage "Missing argument for the '$1' option" + ld_preload_arg="$2" + shift; + ;; + -v|--version) + echo "$0: Version @VERSION@" + echo "" + echo "For usage information, use '$0 --help'." + exit 0 + ;; + -h|-?|--help) + usage + ;; + -*) + usage "Invalid option '$1'" + ;; + *) + [ "$2" ] || usage "Missing 'program' argument" + dat="$1" + ;; + esac + shift +done -shift +[ "$dat" ] || usage "Missing 'date' argument" # Assume that 'date' already printed an error message sec1=$(date -d "$dat" '+%s') @@ -37,39 +64,40 @@ add_ld_preload() { - export LD_PRELOAD="${1}${LD_PRELOAD:+:}${LD_PRELOAD}" + export LD_PRELOAD="${1}${LD_PRELOAD:+:}${LD_PRELOAD}" } add_ld_library_path() { - export LD_LIBRARY_PATH="${1}${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}" + export LD_LIBRARY_PATH="${1}${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}" } set_ld_environment() { - lib="datefudge.so" - libpath="@LIBDIR@" - set -- "$libpath"@MULTIARCH_PATTERN@"/datefudge/$lib" - if [ ! -e "$1" ]; then - echo "Cannot find $lib in $libpath" >&2 - [ -z "$POSH_VERSION" ] || echo "You might have just encountered posh bug#636601, please try using another shell." >&2 - exit 1; - fi - for path in "$@"; do - add_ld_library_path "${path%/*}" - done - add_ld_preload "$lib" + lib="datefudge.so" + libpath="@LIBDIR@" + set -- "$libpath"@MULTIARCH_PATTERN@"/datefudge/$lib" + if [ ! -e "$1" ]; then + echo "Cannot find $lib in $libpath" >&2 + [ -z "$POSH_VERSION" ] || echo "You might have just encountered posh bug#636601, please try using another shell." >&2 + exit 1; + fi + for path in "$@"; do + add_ld_library_path "${path%/*}" + done + add_ld_preload "$lib" + [ -z "$ld_preload_arg" ] || add_ld_preload "$ld_preload_arg" } set_datefudge_vars() { - if [ "$static" = "1" ]; then - export DATEFUDGE=$sec1 - export DATEFUDGE_DOSTATIC="1" - else - export DATEFUDGE=$sec2 - unset DATEFUDGE_DOSTATIC - fi + if [ "$static" = "1" ]; then + export DATEFUDGE=$sec1 + export DATEFUDGE_DOSTATIC="1" + else + export DATEFUDGE=$sec2 + unset DATEFUDGE_DOSTATIC + fi } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/datefudge-1.22/debian/changelog new/datefudge-1.23/debian/changelog --- old/datefudge-1.22/debian/changelog 2017-02-04 22:59:11.000000000 +0100 +++ new/datefudge-1.23/debian/changelog 2019-08-02 20:09:51.000000000 +0200 @@ -1,3 +1,21 @@ +datefudge (1.23) unstable; urgency=medium + + [ Ondřej Nový ] + * d/control: Set Vcs-* to salsa.debian.org + + [ Robert Luberda ] + * Makefile: No longer require root privileges for installation; + set `Rules-Requires-Root' to `no' in debian/control. + * Build with debhelper v12. + * datefudge.sh: introduce '--add-ld-preload|-l arg' option to prepend + given arg to LD_LPRELOAD variable, what might be useful for Address + Sanitizer and other santizers (closes: #873577). + * datefudge.man: document the above option. + * Add simple tests for autopkgtest. + * Standards-Version: 4.4.0. + + -- Robert Luberda <rob...@debian.org> Fri, 02 Aug 2019 20:09:51 +0200 + datefudge (1.22) unstable; urgency=medium * datefudge.c: Apply the following fixes from Thorsten Glaser diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/datefudge-1.22/debian/compat new/datefudge-1.23/debian/compat --- old/datefudge-1.22/debian/compat 2017-02-04 22:59:11.000000000 +0100 +++ new/datefudge-1.23/debian/compat 2019-08-02 20:09:51.000000000 +0200 @@ -1 +1 @@ -9 +12 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/datefudge-1.22/debian/control new/datefudge-1.23/debian/control --- old/datefudge-1.22/debian/control 2017-02-04 22:59:11.000000000 +0100 +++ new/datefudge-1.23/debian/control 2019-08-02 20:09:51.000000000 +0200 @@ -2,10 +2,11 @@ Section: devel Priority: optional Maintainer: Robert Luberda <rob...@debian.org> -Standards-Version: 3.9.8 -Build-Depends: debhelper (>= 9) -Vcs-Git: https://anonscm.debian.org/git/users/robert/datefudge.git -Vcs-Browser: https://anonscm.debian.org/cgit/users/robert/datefudge.git/ +Standards-Version: 4.4.0 +Build-Depends: debhelper (>= 12) +Rules-Requires-Root: no +Vcs-Git: https://salsa.debian.org/debian/datefudge.git +Vcs-Browser: https://salsa.debian.org/debian/datefudge Package: datefudge Architecture: any diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/datefudge-1.22/debian/tests/control new/datefudge-1.23/debian/tests/control --- old/datefudge-1.22/debian/tests/control 1970-01-01 01:00:00.000000000 +0100 +++ new/datefudge-1.23/debian/tests/control 2019-08-02 20:09:51.000000000 +0200 @@ -0,0 +1,23 @@ +Test-Command: a='2019-07-31 23:01:12'; b=$(datefudge "$a" date '+%F %T'); echo " >> $b"; test "$b" = "$a" +Depends: @, coreutils +Features: test-name=basic-check-with-date + +Test-Command: a='2019-07-31 23:01:12'; b=$(datefudge "$a" sh -c 'sleep 2; date "+%F %T"'); echo " >> $b"; test "$b" = '2019-07-31 23:01:14' +Depends: @, coreutils +Features: test-name=check-with-sleep-date + +Test-Command: a='2019-07-31 23:01:12'; b=$(datefudge -s "$a" sh -c 'sleep 2; date "+%F %T"'); echo " >> $b"; test "$b" = "$a" +Depends: @, coreutils +Features: test-name=check-static-with-sleep-date + +Test-Command: a='2020-02-29 01:02:03'; b=$(datefudge "$a" perl -e 'print scalar(localtime);'); echo " >> $b"; test "$b" = 'Sat Feb 29 01:02:03 2020' +Depends: @, perl +Features: test-name=check-with-perl-localtime + +Test-Command: a='now'; b=$(env -u LD_PRELOAD datefudge "$a" sh -c 'echo $LD_PRELOAD'); echo " >> $b"; test "$b" = 'datefudge.so' +Depends: @, coreutils +Features: test-name=check-default-ld-library-path + +Test-Command: a='now'; b=$(env -u LD_PRELOAD datefudge -l /dev/null "$a" sh -c 'echo $LD_PRELOAD' 2>/dev/null || :); echo " >> $b"; test "$b" = '/dev/null:datefudge.so' +Depends: @, coreutils +Features: test-name=check-prepending-ld-library-path ++++++ glibc-2.31-fix.patch ++++++ diff --git a/datefudge.c b/datefudge.c index fe93ef8..3785563 100644 --- a/datefudge.c +++ b/datefudge.c @@ -66,8 +66,13 @@ time_t time(time_t *x) { #endif +#if __GLIBC_PREREQ (2, 31) +int __gettimeofday(struct timeval *x, void *y) { + static int (*libc_gettimeofday)(struct timeval *, void *) = NULL; +#else int __gettimeofday(struct timeval *x, struct timezone *y) { static int (*libc_gettimeofday)(struct timeval *, struct timezone *) = NULL; +#endif int res; if(!libc_gettimeofday) @@ -78,7 +83,11 @@ int __gettimeofday(struct timeval *x, struct timezone *y) { return 0; } +#if __GLIBC_PREREQ (2, 31) +int gettimeofday(struct timeval *x, void *y) { +#else int gettimeofday(struct timeval *x, struct timezone *y) { +#endif return __gettimeofday(x,y); }