Bug 253249 - Review Request: classads - a powerful and flexible, semi-structured representation of data
Summary: Review Request: classads - a powerful and flexible, semi-structured represen...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Matthew Farrellee
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-08-17 15:40 UTC by Matthew Farrellee
Modified: 2010-06-30 14:26 UTC (History)
4 users (show)

Fixed In Version: classads-1.0.8-1.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-02-11 20:28:57 UTC
Type: ---
Embargoed:
nsantos: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Matthew Farrellee 2007-08-17 15:40:13 UTC
Spec URL: http://grid.et.redhat.com/files/classads.spec
SRPM URL: http://grid.et.redhat.com/files/classads-1.0-rc2.src.rpm
Description: Classified Advertisements (classads) are the lingua franca of Condor. They are used for describing jobs, workstations, and other resources. They are exchanged by Condor processes to schedule jobs. They are logged to files for statistical and debugging purposes. They are used to enquire about current state of the system. // A classad is a mapping from attribute names to expressions. In the simplest cases, the expressions are simple constants (integer, floating point, or string). A classad is thus a form of property list. Attribute expressions can also be more complicated. There is a protocol for evaluating an attribute expression of a classad vis a vis another ad. For example, the expression "other.size > 3" in one ad evaluates to true if the other ad has an attribute named size and the value of that attribute is (or evaluates to) an integer greater than three. Two classads match if each ad has an attribute requirements that evaluates to true in the context of the other ad. Classad matching is used by the Condor central manager to determine the compatibility of jobs and workstations where they may be run.

NOTES:
 1) This is my first package and I need a sponsor
 2) The license is currently unacceptable, but negotiations are nearly complete for a compatible license

Comment 1 Nicholas Boyle 2007-08-17 19:31:31 UTC
"Release:" number should reflect ONLY the packaging version (IE- the first time
you package= Release: 1, second = Release: 2, etc etc..).  It shouldn't have
anything whatsoever to do with the upstream source version.  This tends to fall
under naming so consult http://fedoraproject.org/wiki/Packaging/NamingGuidelines 

Source0 URL should probably be changed to something like
ftp://ftp.cs.wisc.edu/condor/classad/c++/%{name}-%{version}.tar.gz  I don't know
that it's required, but it'll certainly save you from forgetting to bump up the
version number in Source0: if you ever bump the version of the package.

AFAIK, the CHANGELOG included with the source is only used to reflect changes
made to the upstream source and should not be used to document changes to the
package itself (nor should it be referred to by the packages %changelog
section... I believe the two are to be considered mutually exclusive).

Comment 2 Matthew Farrellee 2007-08-17 20:04:02 UTC
I have fixed the Release Tag to be "0.1.rc2" as per the NamingGuidelines

I'm going to stick with the explicit Source0 because I would not be able to
properly identify the tarball using %name, %version, %release

In the future, I'll properly use the %changelog section, though changes will
likely also be documented in CHANGELOG

New URLs...
Spec: http://grid.et.redhat.com/files/classads.spec
SRPM: http://grid.et.redhat.com/files/classads-1.0-0.1.rc2.src.rpm


Comment 3 Nuno Santos 2007-09-07 18:54:01 UTC
I've done a review of the SRPM provided, here are some comments:

- tarfile matches upstream with the following md5 sum:

$ md5sum classads-1.0rc2.tar.gz 
d3e08a8706b0ad405048192d5f049d28  classads-1.0rc2.tar.gz

- managed to build rpms for i386:

$ sudo rpmbuild -ba classads.spec
error: Failed build dependencies:
        pcre-devel is needed by classads-1.0-0.1.rc2.i386

$ rpm -qa|grep pcre
pcre-6.6-1.1

$ sudo rpmbuild -ba classads.spec --nodeps
[...]
Wrote: /usr/src/redhat/SRPMS/classads-1.0-0.1.rc2.src.rpm
Wrote: /usr/src/redhat/RPMS/i386/classads-1.0-0.1.rc2.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/classads-devel-1.0-0.1.rc2.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/classads-static-1.0-0.1.rc2.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/classads-debuginfo-1.0-0.1.rc2.i386.rpm

Note: pcre was installed but pcre-devel was not; rpmbuild still completed
successfully, so you may want to double check the need for pcre-devel.

- rpmlint gives the following output:

$ rpmlint /usr/src/redhat/SRPMS/classads-1.0-0.1.rc2.src.rpm 
W: classads invalid-license Condor Public License
W: classads strange-permission classads.spec 0600

$ rpmlint  /usr/src/redhat/RPMS/i386/classads-1.0-0.1.rc2.i386.rpm
W: classads invalid-license Condor Public License

$ rpmlint  /usr/src/redhat/RPMS/i386/classads-devel-1.0-0.1.rc2.i386.rpm
W: classads-devel invalid-license Condor Public License

$ rpmlint /usr/src/redhat/RPMS/i386/classads-static-1.0-0.1.rc2.i386.rpm
W: classads-static invalid-license Condor Public License

$ rpmlint  /usr/src/redhat/RPMS/i386/classads-debuginfo-1.0-0.1.rc2.i386.rpm
W: classads-debuginfo invalid-license Condor Public License

I understand the license issue is being worked on, the specfile permissions
should be corrected.

- checked provides of the built binary rpms:

$ rpm -qp /usr/src/redhat/RPMS/i386/classads-1.0-0.1.rc2.i386.rpm --provides
libclassad.so.0  
libclassad_ns.so.0  
classads = 1.0-0.1.rc2

$ rpm -qp /usr/src/redhat/RPMS/i386/classads-devel-1.0-0.1.rc2.i386.rpm --provides
classads-devel = 1.0-0.1.rc2

$ rpm -qp /usr/src/redhat/RPMS/i386/classads-static-1.0-0.1.rc2.i386.rpm --provides
classads-static = 1.0-0.1.rc2

$ rpm -qp /usr/src/redhat/RPMS/i386/classads-debuginfo-1.0-0.1.rc2.i386.rpm
--provides
libclassad.so.0.0.0.debug  
libclassad_ns.so.0.0.0.debug  
classads-debuginfo = 1.0-0.1.rc2


Seems the three remaining issues are dealing with the licensing, fixing the
permissions on the specfile, and confirming or removing the pcre-devel
dependency; everything else looks good.

Nuno


Comment 4 Matthew Farrellee 2007-09-07 20:47:33 UTC
(In reply to comment #3)

> Note: pcre was installed but pcre-devel was not; rpmbuild still completed
> successfully, so you may want to double check the need for pcre-devel.

The code will use POSIX regex (regcomp/regexec) if pcre is not available, and
fall back to no regex support if neither is available. If this is a problem I
could probably change the way configure.ac works to fail if pcre is not
available, and modify the spec to require pcre during configure's run. Though it
might be ok to just not specify --nodeps.

I've updated the SRPM to fix the classads.spec permissions, please re-download.

Comment 5 Nuno Santos 2007-09-07 22:08:36 UTC
Just to clarify, I used --nodeps just to verify the dependency, I'm not
suggesting it should be built that way. I would suggest leaving the
pcre/pcre-devel dependency in, if that results in a better environment for the
program/build.

Just built in mock, all looks good:

$ mock -r fedora-devel-i386.cfg classads-1.0-0.1.rc2.src.rpm
init
clean
prep
This may take a while
create cache
setup
build
ending
done
Results and/or logs in: /var/lib/mock/fedora-development-i386/result

$ ls -alF /var/lib/mock/fedora-development-i386/result
total 4492
drwxr-sr-x 2 nsantos mock    4096 Sep  7 18:06 ./
drwxr-sr-x 5 nsantos mock    4096 Sep  7 18:00 ../
-rw-r--r-- 1 nsantos mock  200735 Sep  7 18:06 build.log
-rw-rw-r-- 1 nsantos mock  458011 Sep  7 18:06 classads-1.0-0.1.rc2.i386.rpm
-rw-rw-r-- 1 nsantos mock  894714 Sep  7 18:02 classads-1.0-0.1.rc2.src.rpm
-rw-rw-r-- 1 nsantos mock 2317851 Sep  7 18:06
classads-debuginfo-1.0-0.1.rc2.i386.rpm
-rw-rw-r-- 1 nsantos mock  100282 Sep  7 18:06 classads-devel-1.0-0.1.rc2.i386.rpm
-rw-rw-r-- 1 nsantos mock  557919 Sep  7 18:06 classads-static-1.0-0.1.rc2.i386.rpm
-rw-r--r-- 1 nsantos mock     165 Sep  7 18:00 mockconfig.log
-rw-r--r-- 1 nsantos mock   19295 Sep  7 18:06 root.log

$ rpmlint /var/lib/mock/fedora-development-i386/result/*.rpm
W: classads invalid-license Condor Public License
W: classads invalid-license Condor Public License
W: classads-debuginfo invalid-license Condor Public License
W: classads-devel invalid-license Condor Public License
W: classads-static invalid-license Condor Public License


Comment 6 Matthew Farrellee 2008-01-24 20:43:58 UTC
The license issue has been resolved.

Spec URL: http://grid.et.redhat.com/files/classads.spec
SRPM URL: http://grid.et.redhat.com/files/classads-1.0-0.1.rc3.src.rpm


Comment 7 Matthew Farrellee 2008-02-09 23:51:36 UTC
Build issues on F9 resolved (gcc 4.3.0 is strict wrt headers)
Test failures necessitated ExcludeArch for ppc, ppc64 and x86_64, with BZs filed
that are ready to be assigned to a classads component and block relevant
FE-ExcludeArch-* tickets

Spec URL: http://grid.et.redhat.com/files/classads.spec
SRPM URL: http://grid.et.redhat.com/files/classads-1.0-0.2.rc3.src.rpm

Comment 8 Nuno Santos 2008-02-11 16:35:21 UTC
Built the latest version:

$ mock -r fedora-devel-i386.cfg classads-1.0-0.2.rc3.src.rpm 
init
clean
prep
This may take a while
unpack cache
setup
build
ending
done
Results and/or logs in: /var/lib/mock/fedora-development-i386/result

$ d  /var/lib/mock/fedora-development-i386/result
total 4124
drwxr-sr-x 2 nsantos mock    4096 Feb 11 11:20 ./
drwxr-sr-x 5 nsantos mock    4096 Feb 11 11:11 ../
-rw-r--r-- 1 nsantos mock  293364 Feb 11 11:20 build.log
-rw-r--r-- 1 nsantos mock  447566 Feb 11 11:20 classads-1.0-0.2.rc3.i386.rpm
-rw-r--r-- 1 nsantos mock  515001 Feb 11 11:15 classads-1.0-0.2.rc3.src.rpm
-rw-r--r-- 1 nsantos mock 2234000 Feb 11 11:20
classads-debuginfo-1.0-0.2.rc3.i386.rpm
-rw-r--r-- 1 nsantos mock  105224 Feb 11 11:20 classads-devel-1.0-0.2.rc3.i386.rpm
-rw-r--r-- 1 nsantos mock  526831 Feb 11 11:20 classads-static-1.0-0.2.rc3.i386.rpm
-rw-r--r-- 1 nsantos mock     165 Feb 11 11:11 mockconfig.log
-rw-r--r-- 1 nsantos mock   11824 Feb 11 11:20 root.log

$ rpmlint /var/lib/mock/fedora-development-i386/result/*.rpm
$ 

Looks good, marking as fedora-review+


Comment 9 Matthew Farrellee 2008-02-11 17:09:17 UTC
New Package CVS Request
=======================
Package Name: classads
Short Description: a powerful and flexible, semi-structure representation of data
Owners: matt
Branches: 
InitialCC: 
Cvsextras Commits: Yes

Comment 10 Kevin Fenzi 2008-02-11 17:43:47 UTC
cvs done.

NEEDSPONSOR removed. 

Comment 11 Steve Traylen 2010-06-10 13:24:34 UTC
Package Change Request
======================
Package Name: classads
New Branches: EL-4 EL-5 EL-6
Owners: matt stevetraylen

I've been in touch with Matt in Bug #599144 and he is happy to co-maintain 
classads with me in EPEL.

Steve.

Comment 12 Kevin Fenzi 2010-06-11 04:31:30 UTC
cvs done.

Comment 13 Fedora Update System 2010-06-11 06:22:25 UTC
classads-1.0.8-1.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/classads-1.0.8-1.el5

Comment 14 Fedora Update System 2010-06-11 06:22:34 UTC
classads-1.0.8-1.el4 has been submitted as an update for Fedora EPEL 4.
http://admin.fedoraproject.org/updates/classads-1.0.8-1.el4

Comment 15 Fedora Update System 2010-06-30 14:23:47 UTC
classads-1.0.8-1.el4 has been pushed to the Fedora EPEL 4 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2010-06-30 14:26:47 UTC
classads-1.0.8-1.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.


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