Bug 1016508 - Review Request: libfaketime - Report faked system time to programs
Summary: Review Request: libfaketime - Report faked system time to programs
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Björn 'besser82' Esser
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-08 09:57 UTC by Dhiru Kholia
Modified: 2014-03-25 03:44 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-10-15 20:44:01 UTC
Type: ---
Embargoed:
besser82: fedora-review?


Attachments (Terms of Use)

Description Dhiru Kholia 2013-10-08 09:57:35 UTC
Spec URL: https://bitbucket.org/dhiru/packages/raw/master/faketime/faketime.spec
SRPM URL: https://bitbucket.org/dhiru/packages/raw/master/faketime/faketime-0.9.1-1.fc20.src.rpm

Description: 

libfaketime intercepts various system calls which programs use to retrieve the
current date and time. It can then report faked dates and times (as specified
by you, the user) to these programs. This means you can modify the system time
a program sees without having to change the time system-wide.

Fedora Account System Username: halfie

This package is being heavily used for doing reproducible builds.

Koji Task: http://koji.fedoraproject.org/koji/taskinfo?taskID=6035372

This package is called "faketime" because other distributions use the same name ("faketime") and I want to minimize confusion.

Comment 1 Christopher Meng 2013-10-08 10:12:46 UTC
Why not make install?

Comment 2 Dhiru Kholia 2013-10-08 11:23:07 UTC
I tried doing "make install DESTDIR=%{buildroot} ..." but that does not work for this package.

This package uses some hard-coded paths internally.

Comment 3 Susi Lehtola 2013-10-14 17:39:30 UTC
*** Bug 1018626 has been marked as a duplicate of this bug. ***

Comment 4 Patrick Uiterwijk 2013-10-14 18:11:37 UTC
Please note:
1. The upstream name is libfaketime, so as per Packaging Policies, you need to take that name for the package: https://fedoraproject.org/wiki/Packaging:NamingGuidelines#General_Naming

2. Version 0.9.5 has been released, please package the latest version

Comment 6 Paul Wouters 2013-10-14 18:59:49 UTC
I've been closely collaberating with upstream who sent me the 0.9.5 pre-release and we have been looking at various fixes he put in the final 0.9.5. It does not matter to me who owns the package, but see the 32bit work around and the PREFIX and LIBDIRNAME that were added on my request to upstream in the 0.9.5 package.

My spec file is references in the now closed duplicate review ticket (see above)

Comment 7 Paul Wouters 2013-10-14 19:11:45 UTC
I see this spec file installs the libraries in the system path, and not in a separate /usr/lib{64}/faketime directory. I don't think this library belongs in the system path as you never want programs to accidentally pick it up.

Comment 8 Paul Wouters 2013-10-14 20:21:10 UTC
from upstream:

Closer towards 0.9.5, all the dlsym()-based code was re-written and this patch was no longer considered necessary. Therefore, it'd be good to know whether someone found a system that still has this endless loop problem. This would deserve some more attention then.



So I think the patch is a leftover that should be removed from the spec.

Comment 9 Dhiru Kholia 2013-10-14 21:20:13 UTC
(In reply to Paul Wouters from comment #8)
> from upstream:
> 
> Closer towards 0.9.5, all the dlsym()-based code was re-written and this
> patch was no longer considered necessary. Therefore, it'd be good to know
> whether someone found a system that still has this endless loop problem.
> This would deserve some more attention then.

Without this patch, I see segfaults during the "make test" phase on Fedora 20 64-bit. So I guess that this patch is still needed.

Comment 10 Dhiru Kholia 2013-10-14 21:22:44 UTC
(In reply to Paul Wouters from comment #7)
> I see this spec file installs the libraries in the system path, and not in a
> separate /usr/lib{64}/faketime directory. I don't think this library belongs
> in the system path as you never want programs to accidentally pick it up.

I now understand why your .spec used the /usr/lib{64}/faketime directory instead of /usr/lib{64}. I will make the necessary changes in my version. Thanks!

Comment 11 Dhiru Kholia 2013-10-15 04:33:13 UTC
Spec URL: https://bitbucket.org/dhiru/packages/raw/master/faketime/libfaketime.spec
SRPM URL: https://bitbucket.org/dhiru/packages/raw/master/faketime/libfaketime-0.9.5-2.fc20.src.rpm

I have updated the package (to use a separate /usr/lib{64}/faketime directory).

Comment 12 Susi Lehtola 2013-10-15 07:37:52 UTC
(In reply to Patrick Uiterwijk from comment #4)
> Please note:
> 1. The upstream name is libfaketime, so as per Packaging Policies, you need
> to take that name for the package:
> https://fedoraproject.org/wiki/Packaging:NamingGuidelines#General_Naming

Please note thay the third sentence in the paragraph reads
"If this package has been packaged by other distributions/packagers in the past, then you should try to match their name for consistency."

And as was already noted in the submission
(In reply to Dhiru Kholia from comment #0)
> This package is called "faketime" because other distributions use the same
> name ("faketime") and I want to minimize confusion.

the use of the name "faketime" is not totally incorrect.

Comment 13 Dhiru Kholia 2013-10-15 20:44:01 UTC
Hi,

I have joined forces with Paul :-).

So, I am closing this bug. Further work on this package will continue at https://bugzilla.redhat.com/show_bug.cgi?id=1018626 URL.

I will be co-maintaining this package with Paul.


Note You need to log in before you can comment on or make changes to this bug.