Hello community,

here is the log from the commit of package dateutils for openSUSE:Factory 
checked in at 2015-08-03 17:22:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dateutils (Old)
 and      /work/SRC/openSUSE:Factory/.dateutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dateutils"

Changes:
--------
--- /work/SRC/openSUSE:Factory/dateutils/dateutils.changes      2015-03-09 
10:09:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.dateutils.new/dateutils.changes 2015-08-03 
17:22:13.000000000 +0200
@@ -1,0 +2,28 @@
+Sun Aug  2 15:36:05 UTC 2015 - [email protected]
+
+- Correct previous changelog entries (incorrect patch names)
+
+-------------------------------------------------------------------
+Mon Jun 15 09:02:13 UTC 2015 - [email protected]
+
+- add 0002-fix-dateadd-unix-timestamp-bug.patch
+
+-------------------------------------------------------------------
+Wed Jun 10 14:04:28 UTC 2015 - [email protected]
+
+- bump version 0.3.3, this is a feature release.
+  * Features:
+    - to clarify purpose and avoid name clashes prefix binaries
+      with "date". This results in: dateadd, dateconv, ... etc.
+    - provide compatibilty through configure switch --with-old-names
+    - provide single digit years through %_y
+    - allow rounding of ISO-week dates (ywd) to week numbers
+  * Bugfixes:
+    - dashes behind a date do not count as tz indicator
+    - UTC/TAI/GPS special coordinated zones work on systems without
+      leap second support
+  * See info page examples and/or README 
+- add 0001-fix-build-for-compilers-without-anonymous-struct-ini.patch
+  to support broken compilers (SLE 11, RHEL 6, etc.)
+
+-------------------------------------------------------------------

Old:
----
  dateutils-0.3.2.tar.xz

New:
----
  0001-fix-build-for-compilers-without-anonymous-struct-ini.patch
  0002-fix-dateadd-unix-timestamp-bug.patch
  dateutils-0.3.3.tar.xz

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

Other differences:
------------------
++++++ dateutils.spec ++++++
--- /var/tmp/diff_new_pack.mdJ3zr/_old  2015-08-03 17:22:14.000000000 +0200
+++ /var/tmp/diff_new_pack.mdJ3zr/_new  2015-08-03 17:22:14.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package dateutils
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,7 @@
 #
 
 
-%define xversion 0.3.2
+%define xversion 0.3.3
 
 %define have_octave 0
 
@@ -39,13 +39,15 @@
 %endif
 
 Name:           dateutils
-Version:        0.3.2
+Version:        0.3.3
 Release:        0
 Summary:        Nifty command line date and time utilities
 License:        BSD-3-Clause
 Group:          Productivity/Text/Utilities
 Url:            https://github.com/hroptatyr/dateutils/
 Source:         
https://bitbucket.org/hroptatyr/dateutils/downloads/%{name}-%{version}.tar.xz
+Patch1:         0001-fix-build-for-compilers-without-anonymous-struct-ini.patch
+Patch2:         0002-fix-dateadd-unix-timestamp-bug.patch
 BuildRequires:  pkgconfig
 BuildRequires:  xz
 %if 0%{?suse_version}
@@ -79,6 +81,8 @@
 
 %prep
 %setup -q -n %{name}-%{xversion}
+%patch1 -p1
+%patch2 -p1
 
 %build
 %configure \
@@ -124,6 +128,15 @@
 %{_bindir}/dsort
 %{_bindir}/dtest
 %{_bindir}/dzone
+%{_bindir}/dateadd
+%{_bindir}/dateconv
+%{_bindir}/datediff
+%{_bindir}/dategrep
+%{_bindir}/dateround
+%{_bindir}/dateseq
+%{_bindir}/datesort
+%{_bindir}/datetest
+%{_bindir}/datezone
 %{_bindir}/strptime
 %dir %{_datadir}/dateutils/
 %{_datadir}/dateutils/*.tzmcc
@@ -138,6 +151,15 @@
 %doc %{_mandir}/man1/dsort.1*
 %doc %{_mandir}/man1/dtest.1*
 %doc %{_mandir}/man1/dzone.1*
+%doc %{_mandir}/man1/dateadd.1*
+%doc %{_mandir}/man1/dateconv.1*
+%doc %{_mandir}/man1/datediff.1*
+%doc %{_mandir}/man1/dategrep.1*
+%doc %{_mandir}/man1/dateround.1*
+%doc %{_mandir}/man1/dateseq.1*
+%doc %{_mandir}/man1/datesort.1*
+%doc %{_mandir}/man1/datetest.1*
+%doc %{_mandir}/man1/datezone.1*
 %doc %{_mandir}/man1/strptime.1*
 
 %if %have_octave

++++++ 0001-fix-build-for-compilers-without-anonymous-struct-ini.patch ++++++
>From e1d38700985ebe944554821e4758b03bf011b18f Mon Sep 17 00:00:00 2001
From: Ruediger Meier <[email protected]>
Date: Fri, 12 Jun 2015 12:36:49 +0200
Subject: [PATCH] fix build for compilers without anonymous struct
 initialisation

Signed-off-by: Ruediger Meier <[email protected]>
---
 lib/date-core.h       |  6 ++++++
 lib/dt-core-strpf.c   |  8 ++++++++
 lib/dt-core-tz-glue.c | 16 ++++++++++++++++
 lib/dt-core.c         |  4 ++--
 src/dround.c          | 15 ++++++++++++++-
 src/dseq.c            | 27 ++++++++++-----------------
 test/dtcore-add.c     |  6 +++---
 7 files changed, 59 insertions(+), 23 deletions(-)

diff --git a/lib/date-core.h b/lib/date-core.h
index 5b55154..044d69e 100644
--- a/lib/date-core.h
+++ b/lib/date-core.h
@@ -566,7 +566,13 @@ dt_make_ymcw(unsigned int y, unsigned int m, unsigned int 
c, unsigned int w)
 static inline struct dt_ddur_s
 dt_make_ddur(dt_durtyp_t typ, dt_dur_t d)
 {
+#if defined HAVE_ANON_STRUCTS_INIT
        return (struct dt_ddur_s){typ, .dv = d};
+#else
+       struct dt_ddur_s res = {typ};
+       res.dv = d;
+       return res;
+#endif
 }
 
 static inline dt_bizda_param_t
diff --git a/lib/dt-core-strpf.c b/lib/dt-core-strpf.c
index 9aec1fd..c19ae3a 100644
--- a/lib/dt-core-strpf.c
+++ b/lib/dt-core-strpf.c
@@ -133,7 +133,15 @@ __fixup_zdiff(struct dt_dt_s dt, int32_t zdiff)
 {
 /* apply time zone difference */
        /* reuse dt for result */
+#if defined HAVE_ANON_STRUCTS_INIT
        dt = dt_dtadd(dt, (struct dt_dtdur_s){DT_DURS, .dv = -zdiff});
+#else
+       {
+               struct dt_dtdur_s tmp = {DT_DURS};
+               tmp.dv = -zdiff;
+               dt = dt_dtadd(dt, tmp);
+       }
+#endif
        dt.znfxd = 1;
        return dt;
 }
diff --git a/lib/dt-core-tz-glue.c b/lib/dt-core-tz-glue.c
index ee7d5cd..cb1314d 100644
--- a/lib/dt-core-tz-glue.c
+++ b/lib/dt-core-tz-glue.c
@@ -74,7 +74,15 @@ dtz_forgetz(struct dt_dt_s d, zif_t zone)
        d_unix = zif_utc_time(zone, d_locl);
        if (LIKELY((zdiff = d_unix - d_locl))) {
                /* let dt_dtadd() do the magic */
+#if defined HAVE_ANON_STRUCTS_INIT
                d = dt_dtadd(d, (struct dt_dtdur_s){DT_DURS, .dv = zdiff});
+#else
+               {
+                       struct dt_dtdur_s tmp = {DT_DURS};
+                       tmp.dv = zdiff;
+                       d = dt_dtadd(d, tmp);
+               }
+#endif
                d.znfxd = 1;
                if (zdiff > 0) {
                        d.neg = 1;
@@ -108,7 +116,15 @@ dtz_enrichz(struct dt_dt_s d, zif_t zone)
        d_locl = zif_local_time(zone, d_unix);
        if (LIKELY((zdiff = d_locl - d_unix))) {
                /* let dt_dtadd() do the magic */
+#if defined HAVE_ANON_STRUCTS_INIT
                d = dt_dtadd(d, (struct dt_dtdur_s){DT_DURS, .dv = zdiff});
+#else
+               {
+                       struct dt_dtdur_s tmp = {DT_DURS};
+                       tmp.dv = zdiff;
+                       d = dt_dtadd(d, tmp);
+               }
+#endif
                if (zdiff > 0) {
                        d.zdiff = (uint16_t)(zdiff / ZDIFF_RES);
                } else if (zdiff < 0) {
diff --git a/lib/dt-core.c b/lib/dt-core.c
index 76a78fe..99a0169 100644
--- a/lib/dt-core.c
+++ b/lib/dt-core.c
@@ -906,7 +906,7 @@ DEFUN struct dt_dtdur_s
 dt_strpdtdur(const char *str, char **ep)
 {
 /* at the moment we allow only one format */
-       struct dt_dtdur_s res = {.durtyp = (dt_dtdurtyp_t)DT_DURUNK};
+       struct dt_dtdur_s res = {(dt_dtdurtyp_t)DT_DURUNK};
        const char *sp;
        long int tmp;
 
@@ -1503,7 +1503,7 @@ dt_dtadd(struct dt_dt_s d, struct dt_dtdur_s dur)
 DEFUN struct dt_dtdur_s
 dt_dtdiff(dt_dtdurtyp_t tgttyp, struct dt_dt_s d1, struct dt_dt_s d2)
 {
-       struct dt_dtdur_s res = {.durtyp = (dt_dtdurtyp_t)DT_DURUNK};
+       struct dt_dtdur_s res = {(dt_dtdurtyp_t)DT_DURUNK};
        int dt = 0;
 
        if (!dt_sandwich_only_d_p(d1) && !dt_sandwich_only_d_p(d2)) {
diff --git a/src/dround.c b/src/dround.c
index 623aaf3..1142164 100644
--- a/src/dround.c
+++ b/src/dround.c
@@ -500,7 +500,7 @@ dt_io_strpdtrnd(struct __strpdtdur_st_s *st, const char 
*str)
        char *sp = NULL;
        struct strpd_s d = strpd_initialiser();
        struct dt_spec_s s = spec_initialiser();
-       struct dt_dtdur_s payload = {.durtyp = (dt_dtdurtyp_t)DT_DURUNK};
+       struct dt_dtdur_s payload = {(dt_dtdurtyp_t)DT_DURUNK};
        bool negp = false;
        bool coclp = true;
 
@@ -525,12 +525,19 @@ dt_io_strpdtrnd(struct __strpdtdur_st_s *st, const char 
*str)
        s.spfl = DT_SPFL_S_WDAY;
        s.abbr = DT_SPMOD_NORM;
        if (__strpd_card(&d, str, s, &sp) >= 0) {
+#if defined HAVE_ANON_STRUCTS_INIT
                payload.d = (struct dt_ddur_s){
                        DT_DURYMCW,
                        .neg = negp,
                        .cocl = coclp,
                        .ymcw.w = d.w,
                };
+#else
+               payload.d.durtyp = DT_DURYMCW;
+               payload.d.neg = negp;
+               payload.d.cocl = coclp;
+               payload.d.ymcw.w = d.w;
+#endif
                goto out;
        }
 
@@ -538,11 +545,17 @@ dt_io_strpdtrnd(struct __strpdtdur_st_s *st, const char 
*str)
        s.spfl = DT_SPFL_S_MON;
        s.abbr = DT_SPMOD_NORM;
        if (__strpd_card(&d, str, s, &sp) >= 0) {
+#if defined HAVE_ANON_STRUCTS_INIT
                payload.d = (struct dt_ddur_s){
                        DT_DURYMD,
                        .neg = negp,
                        .ymd.m = d.m,
                };
+#else
+               payload.d.durtyp = DT_DURYMD;
+               payload.d.neg = negp;
+               payload.d.ymd.m = d.m;
+#endif
                goto out;
        }
 
diff --git a/src/dseq.c b/src/dseq.c
index b4bf405..9dc58f1 100644
--- a/src/dseq.c
+++ b/src/dseq.c
@@ -426,29 +426,22 @@ __fixup_fst(struct dseq_clo_s *clo)
 static struct dt_dtdur_s
 tseq_guess_ite(struct dt_t_s beg, struct dt_t_s end)
 {
+       struct dt_dtdur_s res = {0};
+
        if (beg.hms.h != end.hms.h &&
-           beg.hms.m == 0 && end.hms.m == 0&&
+           beg.hms.m == 0 && end.hms.m == 0 &&
            beg.hms.s == 0 && end.hms.s == 0) {
-               if (beg.u < end.u) {
-                       return (struct dt_dtdur_s){DT_DURH, .dv = 1};
-               } else {
-                       return (struct dt_dtdur_s){DT_DURH, .dv = -1};
-               }
+               res.durtyp = DT_DURH;
+               res.dv = (beg.u < end.u) ? 1 : -1;
        } else if (beg.hms.m != end.hms.m &&
                   beg.hms.s == 0 && end.hms.s == 0) {
-               if (beg.u < end.u) {
-                       return (struct dt_dtdur_s){DT_DURM, .dv = 1};
-               } else {
-                       return (struct dt_dtdur_s){DT_DURM, .dv = -1};
-               }
+               res.durtyp = DT_DURM;
+               res.dv = (beg.u < end.u) ? 1 : -1;
        } else {
-               if (beg.u < end.u) {
-                       return (struct dt_dtdur_s){DT_DURS, .dv = 1};
-               } else {
-                       return (struct dt_dtdur_s){DT_DURS, .dv = -1};
-               }
+               res.durtyp = DT_DURS;
+               res.dv = (beg.u < end.u) ? 1 : -1;
        }
-       /* no reach */
+       return res;
 }
 
 
diff --git a/test/dtcore-add.c b/test/dtcore-add.c
index bfdea28..ff0c49e 100644
--- a/test/dtcore-add.c
+++ b/test/dtcore-add.c
@@ -67,7 +67,7 @@ add_t_only(void)
 {
        static const char str[] = "12:34:56";
        struct dt_dt_s d;
-       struct dt_dtdur_s dur = {.durtyp = (dt_dtdurtyp_t)DT_DURUNK};
+       struct dt_dtdur_s dur = {(dt_dtdurtyp_t)DT_DURUNK};
        int res = 0;
 
        /* 2012-03-28 (using no format) */
@@ -166,7 +166,7 @@ dt_add_t(void)
 {
        static const char str[] = "2012-03-28T23:12:01";
        struct dt_dt_s d;
-       struct dt_dtdur_s dur = {.durtyp = (dt_dtdurtyp_t)DT_DURUNK};
+       struct dt_dtdur_s dur = {(dt_dtdurtyp_t)DT_DURUNK};
        int res = 0;
 
        fprintf(stderr, "testing %s +1h ...\n", str);
@@ -221,7 +221,7 @@ dt_add_dt(void)
 {
        static const char str[] = "2012-03-28T23:55:55";
        struct dt_dt_s d;
-       struct dt_dtdur_s dur = {.durtyp = (dt_dtdurtyp_t)DT_DURUNK};
+       struct dt_dtdur_s dur = {(dt_dtdurtyp_t)DT_DURUNK};
        int res = 0;
 
        fprintf(stderr, "testing %s +1d1h ...\n", str);
-- 
1.8.4.5

++++++ 0002-fix-dateadd-unix-timestamp-bug.patch ++++++
>From 6bf090ff595eb6e8da2a3be4812ddad3411d70ee Mon Sep 17 00:00:00 2001
From: Ruediger Meier <[email protected]>
Date: Mon, 15 Jun 2015 10:56:42 +0200
Subject: [PATCH] fix dateadd unix timestamp bug

Squashed commit of the following:

commit c9f4ec3ad2c3272387b25718b9f8d421537d2d6a
Author: Sebastian Freundt <[email protected]>
Date:   Mon Jun 15 08:07:12 2015 +0000

    fix, PEBKAC, actually add hours and minutes if requested to sexy date/times

commit 8bc0fd838e782b8c24a2024d33da39c544aaa345
Author: Sebastian Freundt <[email protected]>
Date:   Mon Jun 15 07:34:02 2015 +0000

    test, add regression tests for dateadd(1) +2m bug

Signed-off-by: Ruediger Meier <[email protected]>
---
 lib/dt-core.c       | 13 ++++++++-----
 test/Makefile.am    |  2 ++
 test/dtadd.049.clit |  6 ++++++
 test/dtadd.050.clit |  5 +++++
 4 files changed, 21 insertions(+), 5 deletions(-)
 create mode 100644 test/dtadd.049.clit
 create mode 100644 test/dtadd.050.clit

diff --git a/lib/dt-core.c b/lib/dt-core.c
index 99a0169..17afb90 100644
--- a/lib/dt-core.c
+++ b/lib/dt-core.c
@@ -249,26 +249,29 @@ __sexy_add(dt_sexy_t sx, struct dt_dtdur_s dur)
 /* sexy add
  * only works for continuous types (DAISY, etc.)
  * we need to take leap seconds into account here */
-       signed int delta = 0;
+       dt_ssexy_t dv = dur.dv;
 
        switch (dur.durtyp) {
        case DT_DURH:
+               dv *= MINS_PER_HOUR;
        case DT_DURM:
+               dv *= SECS_PER_MIN;
        case DT_DURS:
+               break;
        case DT_DURNANO:
-               delta = dur.dv;
+               dv /= NANOS_PER_SEC;
                break;
        case DT_DURD:
        case DT_DURBD:
-               delta = dur.d.dv * SECS_PER_DAY;
+               dv = dur.d.dv * SECS_PER_DAY;
                /*@fallthrough@*/
        case DT_DURUNK:
-               delta += dur.t.sdur;
+               dv += dur.t.sdur;
        default:
                break;
        }
        /* just go through with it */
-       return sx + delta;
+       return sx + dv;
 }
 
 #if defined WITH_LEAP_SECONDS && defined SKIP_LEAP_ARITH
diff --git a/test/Makefile.am b/test/Makefile.am
index 83acebb..11ac574 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -686,6 +686,8 @@ dt_tests += dtadd.045.clit
 dt_tests += dtadd.046.clit
 dt_tests += dtadd.047.clit
 dt_tests += dtadd.048.clit
+dt_tests += dtadd.049.clit
+dt_tests += dtadd.050.clit
 
 dt_tests += dtgrep.001.clit
 dt_tests += dtgrep.002.clit
diff --git a/test/dtadd.049.clit b/test/dtadd.049.clit
new file mode 100644
index 0000000..d8300d0
--- /dev/null
+++ b/test/dtadd.049.clit
@@ -0,0 +1,6 @@
+#!/usr/bin/clitoris  ## -*- shell-script -*-
+
+$ dadd -z "Europe/Berlin" "2015-06-13T00:18:20" "+2m" -f "%Y%m%d %T 
Europe/Berlin" 
+20150613 02:20:20 Europe/Berlin
+$
+ 
diff --git a/test/dtadd.050.clit b/test/dtadd.050.clit
new file mode 100644
index 0000000..36ae2cd
--- /dev/null
+++ b/test/dtadd.050.clit
@@ -0,0 +1,5 @@
+#!/usr/bin/clitoris  ## -*- shell-script -*-
+
+$ dadd -z "Europe/Berlin" "@1434147500" "+2m" -f "%Y%m%d %T Europe/Berlin" 
+20150613 00:20:20 Europe/Berlin
+$
-- 
1.8.4.5

++++++ dateutils-0.3.2.tar.xz -> dateutils-0.3.3.tar.xz ++++++
++++ 16485 lines of diff (skipped)


Reply via email to