Bug 516782 - Review Request: libcpuset - Processor and memory placement library
Summary: Review Request: libcpuset - Processor and memory placement library
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ivana Varekova
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 516779
Blocks: 516791
TreeView+ depends on / blocked
 
Reported: 2009-08-11 13:57 UTC by Jan Safranek
Modified: 2010-08-17 13:52 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 516791 (view as bug list)
Environment:
Last Closed: 2010-08-17 13:52:29 UTC
Type: ---
Embargoed:
varekova: fedora-review+


Attachments (Terms of Use)
proposed .spec file (1.64 KB, text/plain)
2010-08-17 13:36 UTC, Jan Safranek
no flags Details

Description Jan Safranek 2009-08-11 13:57:49 UTC
Spec URL: http://people.redhat.com/jsafrane/libcpuset/libcpuset.spec
SRPM URL: http://people.redhat.com/jsafrane/libcpuset/libcpuset-1.0-1.fc11.src.rpm
Description: 

Cpusets provide system-wide control of the CPUs on which tasks may execute, and
the memory nodes on which they allocate memory. libcpuset provides a C API
to leverage cpusets.

It uses libbitmask, which goes through review as bug #516779

Comment 1 Ivana Varekova 2009-08-12 07:01:48 UTC
1/ please change BuildRoot: 
to
%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
(recommended one in https://fedoraproject.org/wiki/PackagingGuidelines)

2/ remove empty row:
#Requires:....... 

3/ AUTHORS -file could be add to documentation

that`s all

Comment 2 Jan Safranek 2009-08-12 07:43:34 UTC
1, 2, 3: done

In addition, I moved /usr/share/man/man4/cpuset.4.gz from -devel subpackage to libcpuset.rpm

I uploaded new .spec and .srpm to aforementioned location.

Comment 3 Ivana Varekova 2009-08-12 08:21:37 UTC
Looks ok now.

Comment 4 Ralf Corsepius 2009-08-12 08:37:49 UTC
Not OK:

%build
autoreconf -i
%configure --disable-static --disable-dependency-tracking CFLAGS="$RPM_OPT_FLAGS"
make %{?_smp_mflags}

1. running the autotools during builds is a silly idea.

2. %configure already contain CFLAGS. The explicit CFLAGS= is superflous.

Comment 5 Jan Safranek 2009-08-12 09:44:21 UTC
(In reply to comment #4)
> Not OK:
> 1. running the autotools during builds is a silly idea.

Surprisingly, upstream provides tarball without ./configure and autoreconf is really needed to create one.

> 2. %configure already contain CFLAGS. The explicit CFLAGS= is superflous.

Here you are right. I uploaded new .spec and .srpm

Comment 6 Ralf Corsepius 2009-08-14 03:23:42 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > Not OK:
> > 1. running the autotools during builds is a silly idea.
> 
> Surprisingly, upstream provides tarball without ./configure and autoreconf is
> really needed to create one.

Yes, upstream doesn't package their package properly but ships a crippled package, which doesn't comply to the autotools' working principles.

If you want deterministic builts, you're better off running the autotools in advance to building, generate patches and apply them during builds.

Comment 7 Stepan Kasal 2009-08-20 11:56:58 UTC
Hello,

(In reply to comment #4)
> %configure --disable-static --disable-dependency-tracking
> CFLAGS="$RPM_OPT_FLAGS"
> make %{?_smp_mflags}
[...]
> 2. %configure already contain CFLAGS. The explicit CFLAGS= is superflous.  

... and misplaced; CFLAGS should be set *before* configure is called.

(In reply to comment #6)
> Yes, upstream doesn't package their package properly but ships a [..]
> package, which doesn't comply to the autotools' working principles.

Correct.  Jan, please report that upstream.

> If you want deterministic builts, you're better off running the autotools in
> advance to building, generate patches and apply them during builds.

... and make sure that the timestamps of all the autotools generated files (no 
matter whether they chnaged or not) are in the correct order.
Otherwise, the autotools rebuild rules are triggered.  They do nothing in autotools-free buildroot, but do the rebuild otherwise; that can be confusing.

But getting the timestamps right is often quite tricky.

That's why I recommend calling autoreconf if the changes to autoconfigury are bigger.  I would recommend it in this case as well.

Moreover, the rule "do not run autotools" evolved in times when autotools were much less stable than these days, so the risk that things will break with an update was higher.

Comment 8 Ralf Corsepius 2009-08-20 12:06:01 UTC
(In reply to comment #7)
> Hello,
> 
> (In reply to comment #4)
> > %configure --disable-static --disable-dependency-tracking
> > CFLAGS="$RPM_OPT_FLAGS"
> > make %{?_smp_mflags}
> [...]
> > 2. %configure already contain CFLAGS. The explicit CFLAGS= is superflous.  
> 
> ... and misplaced; CFLAGS should be set *before* configure is called.

Wrong. With modern autoconf (ca. 2.50) CFLAGS should be set after configure.

Comment 9 Jan Safranek 2009-08-20 12:17:22 UTC
CFLAGS are not in the .spec anymore, stay on topic please :).

Regarding autoreconf... I think it's pretty stable and probability of broken builds is pretty low now, so I am going to stick to it as it is now. Of course, I'll report it upstream.

Comment 10 Ralf Corsepius 2009-08-20 12:40:34 UTC
(In reply to comment #9)
> CFLAGS are not in the .spec anymore, stay on topic please :).
> 
> Regarding autoreconf... I think it's pretty stable and probability of broken
> builds is pretty low now,
It's mere random luck.

I guess, you also give a loaded gun to your children to play with?

> so I am going to stick to it as it is now.
Sufficent reason for me, to recommend other reviewers to not approve this package.

Comment 11 Ivana Varekova 2010-08-17 12:41:47 UTC
Are you folks interested in continuing?
This would be closed if there will be no response soon.

Comment 12 Jan Safranek 2010-08-17 13:36:30 UTC
Created attachment 439112 [details]
proposed .spec file

I am not interested in libcpuset in Fedora anymore, feel free to close the review. I'm attaching current .spec file in case someone wants to reopen the review (and maintain the package afterwards).


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