Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 638032 - app-portage/portage-utils-0.64 fails date parsing using uclibc strptime
Summary: app-portage/portage-utils-0.64 fails date parsing using uclibc strptime
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Fabian Groffen
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-18 17:11 UTC by René Rhéaume
Modified: 2018-04-05 19:02 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge-info.txt,6.06 KB, text/plain)
2017-11-18 17:12 UTC, René Rhéaume
Details
build.log (build.log,8.27 KB, text/x-log)
2017-11-18 17:13 UTC, René Rhéaume
Details

Note You need to log in before you can comment on or make changes to this bug.
Description René Rhéaume 2017-11-18 17:11:25 UTC
One of the tests in portage-utils 0.64 fails on my system.

Reproducible: Always

Steps to Reproduce:
1. FEATURES="test" emerge -u1 app-portage/portage-utils
Actual Results:  
|ERROR: app-portage/portage-utils-0.64::gentoo failed (test phase):
|  Make check failed. See above for details.

Expected Results:  
portage-utils updated on system
Comment 1 René Rhéaume 2017-11-18 17:12:12 UTC
Created attachment 504634 [details]
emerge --info
Comment 2 René Rhéaume 2017-11-18 17:13:05 UTC
Created attachment 504636 [details]
build.log
Comment 3 Étienne Buira 2017-12-19 07:36:28 UTC
Check portage is emerged with appropriate PYTHON_TARGET
Comment 4 Fabian Groffen gentoo-dev 2018-03-26 19:34:25 UTC
Is this still an issue with the latest version in the tree?
Comment 5 Fabian Groffen gentoo-dev 2018-03-30 07:21:52 UTC
The actual error:

PASS: qlop -l -f /var/tmp/portage/app-portage/portage-utils-0.64/work/portage-utils-0.64/tests/qlop/../../tests/qlop/sync.log -d 2005-01-01
lop: invalid date: %d%Y%m|01200501
--- list        2017-11-18 17:04:53.649903482 +0000
+++ /var/tmp/portage/app-portage/portage-utils-0.64/work/portage-utils-0.64/tests/qlop/../../tests/qlop/list07.good     2016-11-27 05:20:44.000000000 +0000
@@ -0,0 +1,2 @@
+Thu Jan 27 05:56:39 2005 >>> sys-devel/gcc-config-1.3.9
+Thu Jan 27 06:17:10 2005 >>> sys-devel/gcc-3.4.3-r1
FAIL: output does not match
make[2]: *** [Makefile:7: check] Error 1
make[1]: *** [Makefile:11: qlop_subdir] Error 2
make[1]: *** Waiting for unfinished jobs....
PASS: q file -Cq /bin/bash /bin/XXXXX
PASS: q file -Co /bin/bash /bin/XXXXX
PASS: q file -Co -x bash /bin/bash
PASS: q file -Co -x app-shells/bash /bin/bash
PASS: q file -Co -x bash:0 /bin/bash
PASS: q file -Co -x app-shells/bash:0 /bin/bash
PASS: (cd /bin; q file -Cq bash)
PASS: (cd /; q file -Co bash)
qfile: 8 passes / 0 fails
make: *** [Makefile:90: check] Error 2
 * ERROR: app-portage/portage-utils-0.64::gentoo failed (test phase):
 *   Make check failed. See above for details.
Comment 6 Fabian Groffen gentoo-dev 2018-03-30 07:45:30 UTC
problem here is that the specification, Linux and Solaris manpages mention that "There should be whitespace or other alphanumeric characters between any two field descriptors" or "There must be white-space or other non-alphanumeric characters between any two conversion specifications".  glibc is the only implementation that explicitly mentions that "The glibc implementation does not require whitespace between two field descriptors".

In other words, uclibc strictly adheres to the spec, while most other libc implementations try to match the strftime format, regardless the limitation they document.

I think the best way to make the test run is to change the test to make a SUSv3 compatable test-case, for feature specific behaviour you're reliant on your libc.
Comment 7 Larry the Git Cow gentoo-dev 2018-03-30 07:50:35 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=1320862b141f7a7e4ce7e39e31e80dc5d0900571

commit 1320862b141f7a7e4ce7e39e31e80dc5d0900571
Author:     Fabian Groffen <grobian@gentoo.org>
AuthorDate: 2018-03-30 07:48:14 +0000
Commit:     Fabian Groffen <grobian@gentoo.org>
CommitDate: 2018-03-30 07:48:14 +0000

    tests/qlop: adapt date parsing test to adhere to SUSv3
    
    The strptime function is documented to require whitespace between any
    two conversion specifications, so test like that.
    
    Bug: https://bugs.gentoo.org/638032

 tests/qlop/dotest | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)}
Comment 8 Larry the Git Cow gentoo-dev 2018-04-05 19:02:43 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34b636503cc7dcabe32b9b377c2eb77cb5fd5575

commit 34b636503cc7dcabe32b9b377c2eb77cb5fd5575
Author:     Fabian Groffen <grobian@gentoo.org>
AuthorDate: 2018-04-05 19:02:10 +0000
Commit:     Fabian Groffen <grobian@gentoo.org>
CommitDate: 2018-04-05 19:02:34 +0000

    app-portage/portage-utils: version bump to 0.70
    
    This release fixes multiple bugs lingering around for a while.
    
    Closes: https://bugs.gentoo.org/651546
    Closes: https://bugs.gentoo.org/646310
    Closes: https://bugs.gentoo.org/645554
    Closes: https://bugs.gentoo.org/643820
    Closes: https://bugs.gentoo.org/638032
    Closes: https://bugs.gentoo.org/608960
    Closes: https://bugs.gentoo.org/607498
    Closes: https://bugs.gentoo.org/558306
    Closes: https://bugs.gentoo.org/526596
    Closes: https://bugs.gentoo.org/470168
    Closes: https://bugs.gentoo.org/351100
    Closes: https://bugs.gentoo.org/335453
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 app-portage/portage-utils/Manifest                 |  2 +-
 .../portage-utils/portage-utils-0.62.ebuild        |  2 +-
 .../portage-utils/portage-utils-0.63.ebuild        | 43 ----------------------
 ...ls-0.64-r1.ebuild => portage-utils-0.70.ebuild} | 16 +-------
 4 files changed, 4 insertions(+), 59 deletions(-)