Bug 984312

Summary: Review Request: libclc - An open source implementation of the OpenCL 1.1 library requirements
Product: [Fedora] Fedora Reporter: Fabian Deutsch <fabian.deutsch>
Component: Package ReviewAssignee: Adam Jackson <ajax>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: airlied, ajax, fdeutsch, i, mario.blaettermann, notting
Target Milestone: ---Flags: airlied: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-19 12:07:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 887628    

Description Fabian Deutsch 2013-07-14 19:14:51 UTC
Spec URL: https://github.com/fabiand/libclc-spec/blob/master/libclc.spec
SRPM URL: http://fabiand.fedorapeople.org/libclc/libclc-0.0.1-0.0.20130714git5217211.fc19.src.rpm
Description:
libclc is an open source, BSD licensed implementation of the library
requirements of the OpenCL C programming language, as specified by the
OpenCL 1.1 Specification. The following sections of the specification
impose library requirements:

Fedora Account System Username: fabiand

Comment 1 Fabian Deutsch 2013-07-14 19:15:52 UTC
rpmlint:
$ rpmlint -v libclc.spec /home/fabiand/rpmbuild/SRPMS/libclc-0.0.1-0.20130714git5217211.fc19.src.rpm /home/fabiand/rpmbuild/RPMS/x86_64/libclc-0.0.1-0.20130714git5217211.fc19.x86_64.rpm /home/fabiand/rpmbuild/RPMS/x86_64/libclc-devel-0.0.1-0.20130714git5217211.fc19.x86_64.rpm
libclc.spec:61: W: configure-without-libdir-spec
libclc.spec: W: invalid-url Source0: libclc-20130714git5217211.tar.xz
libclc.src: I: checking
libclc.src: W: spelling-error %description -l en_US typen -> type, types, typed
libclc.src: W: spelling-error %description -l en_US Preprocessor -> Processor, Predecessor, Process's
libclc.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
libclc.src: I: checking-url http://libclc.llvm.org/ (timeout 10 seconds)
libclc.src:61: W: configure-without-libdir-spec

^^ configure.py doesn't take libdir

libclc.src: W: invalid-url Source0: libclc-20130714git5217211.tar.xz
libclc.x86_64: I: checking
libclc.x86_64: W: spelling-error %description -l en_US typen -> type, types, typed
libclc.x86_64: W: spelling-error %description -l en_US Preprocessor -> Processor, Predecessor, Process's
libclc.x86_64: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
libclc.x86_64: W: incoherent-version-in-changelog 0.0.1 ['0.0.1-0.20130714git5217211.fc19', '0.0.1-0.20130714git5217211']
libclc.x86_64: I: checking-url http://libclc.llvm.org/ (timeout 10 seconds)
libclc.x86_64: E: no-binary
libclc-devel.x86_64: I: checking
libclc-devel.x86_64: I: checking-url http://libclc.llvm.org/ (timeout 10 seconds)
libclc-devel.x86_64: W: no-documentation
3 packages and 1 specfiles checked; 1 errors, 12 warnings.

Comment 2 Fabian Deutsch 2013-07-14 19:21:14 UTC
A koji build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=5606828

Comment 3 Christopher Meng 2013-07-14 23:46:53 UTC
An open source implementation of the library OpenCL 1.1 library requirements

2 same library words, maybe it can be more clear?

Comment 4 Fabian Deutsch 2013-07-15 07:42:14 UTC
(In reply to Christopher Meng from comment #3)
> An open source implementation of the library OpenCL 1.1 library requirements
> 
> 2 same library words, maybe it can be more clear?

Thanks. Changed it to:
Summary:        An open source implementation of the OpenCL 1.1 library requirements

Comment 5 Mario Blättermann 2013-07-15 17:51:56 UTC
Fabian, please provide a *downloadable* link:
https://raw.github.com/fabiand/libclc-spec/master/libclc.spec
Your spec file link points to the website, not to the raw file.

Comment 6 Fabian Deutsch 2013-07-15 21:15:52 UTC
(In reply to Mario Blättermann from comment #5)
> Fabian, please provide a *downloadable* link:
> https://raw.github.com/fabiand/libclc-spec/master/libclc.spec
> Your spec file link points to the website, not to the raw file.

Hey Mario,

thanks for that hint. You were right, I should have provided the raw link.
But is it generally fine to point to the plain-text/downloadable file hosted in some "rcs"? (so pointing to the raw file link at github?)

Comment 7 Mario Blättermann 2013-07-16 14:07:29 UTC
(In reply to Fabian Deutsch from comment #6)
> But is it generally fine to point to the plain-text/downloadable file hosted
> in some "rcs"? (so pointing to the raw file link at github?)

Yes, if possible. Well, I cannot speak for other reviewers, but I like to download both spec and srpm to a local folder and have a look at them. And if someone wants to view the file online, a browser should also be able to display plain text correctly. Github in particular (and probably some other VCS web viewers) doesn't have syntax highlighting, so there's no advantage of viewing it in the browser.

Comment 8 Fabian Deutsch 2013-07-16 14:44:04 UTC
(In reply to Mario Blättermann from comment #7)
> (In reply to Fabian Deutsch from comment #6)
> > But is it generally fine to point to the plain-text/downloadable file hosted
> > in some "rcs"? (so pointing to the raw file link at github?)
> 
> Yes, if possible. Well, I cannot speak for other reviewers, but I like to
> download both spec and srpm to a local folder and have a look at them. And
> if someone wants to view the file online, a browser should also be able to
> display plain text correctly. Github in particular (and probably some other
> VCS web viewers) doesn't have syntax highlighting, so there's no advantage
> of viewing it in the browser.

Ack.

So, what can I do to improve the spec? :)

One thing I'll do is update it to the latest upstream and adjust the Changelog entry accordingly.

Comment 9 Fabian Deutsch 2013-07-19 13:03:04 UTC
Updated the spec to:
- Use a corret release field for pre-releases
- Update to latest upstream release

SPEC:
https://raw.github.com/fabiand/libclc-spec/0.0.1-0.1/libclc.spec

SRPM:
http://fabiand.fedorapeople.org/libclc/libclc-0.0.1-0.1.20130719git2e8fa9f.fc19.src.rpm



$ rpmlint -v /home/fabiand/rpmbuild/SRPMS/libclc-0.0.1-0.1.20130719git2e8fa9f.fc19.src.rpm /home/fabiand/rpmbuild/RPMS/x86_64/libclc-0.0.1-0.1.20130719git2e8fa9f.fc19.x86_64.rpm /home/fabiand/rpmbuild/RPMS/x86_64/libclc-devel-0.0.1-0.1.20130719git2e8fa9f.fc19.x86_64.rpm /home/fabiand/rpmbuild/RPMS/x86_64/libclc-debuginfo-0.0.1-0.1.20130719git2e8fa9f.fc19.x86_64.rpm libclc.spec libclc
libclc.src: I: checking
libclc.src: W: spelling-error %description -l en_US typen -> type, types, typed
libclc.src: W: spelling-error %description -l en_US Preprocessor -> Processor, Predecessor, Process's
libclc.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
libclc.src: I: checking-url http://libclc.llvm.org/ (timeout 10 seconds)

libclc.src:61: W: configure-without-libdir-spec
configure.py doesn't take a libdir

libclc.src: W: invalid-url Source0: libclc-20130719git2e8fa9f.tar.xz
There is currently no public gitweb or comparable and also now downloadable tarballs.

libclc.x86_64: I: checking
libclc.x86_64: W: spelling-error %description -l en_US typen -> type, types, typed
libclc.x86_64: W: spelling-error %description -l en_US Preprocessor -> Processor, Predecessor, Process's
libclc.x86_64: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
libclc.x86_64: I: checking-url http://libclc.llvm.org/ (timeout 10 seconds)
libclc.x86_64: E: no-binary
The package consist of a couple of bytecode files, now executable.

libclc-devel.x86_64: I: checking
libclc-devel.x86_64: I: checking-url http://libclc.llvm.org/ (timeout 10 seconds)
libclc-devel.x86_64: W: no-documentation
The docs are in the main package

libclc-debuginfo.x86_64: I: checking
libclc-debuginfo.x86_64: I: checking-url http://libclc.llvm.org/ (timeout 10 seconds)
libclc-debuginfo.x86_64: E: empty-debuginfo-package
I suppose this because there are only .bc files, and no real libraries.

libclc.spec:61: W: configure-without-libdir-spec
libclc.spec: W: invalid-url Source0: libclc-20130719git2e8fa9f.tar.xz
libclc.x86_64: I: checking
libclc.x86_64: W: spelling-error %description -l en_US typen -> type, types, typed
libclc.x86_64: W: spelling-error %description -l en_US Preprocessor -> Processor, Predecessor, Process's
libclc.x86_64: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
libclc.x86_64: I: checking-url http://libclc.llvm.org/ (timeout 10 seconds)
libclc.x86_64: E: no-binary
5 packages and 1 specfiles checked; 3 errors, 14 warnings.

Comment 10 Adam Jackson 2013-07-19 20:36:08 UTC
This is missing the actual ICD library, it seems to only be installing radeon bytecode files.  That's probably not what we want.

Comment 11 Fabian Deutsch 2013-07-19 21:00:41 UTC
(In reply to Adam Jackson from comment #10)
> This is missing the actual ICD library, it seems to only be installing
> radeon bytecode files.  That's probably not what we want.

Isn't ICD provided by https://forge.imag.fr/projects/ocl-icd/ ?

and libclc just providing some opencl functions defined by the spec?

Comment 12 Fabian Deutsch 2013-07-19 21:12:13 UTC
Looking at [0] it seems as if libclc is needed to build mesa with opencl.

Looking at [1] we can probably use ocl-icd with mesa


[0] http://dri.freedesktop.org/wiki/GalliumCompute/#index3h3
[1] http://lists.freedesktop.org/archives/mesa-dev/2013-July/041689.html

Comment 13 Fabian Deutsch 2013-08-01 13:57:23 UTC
I just checked with tstellar and he confirms that libclc is only providing bytecode files.

Comment 14 Fabian Deutsch 2013-08-07 10:36:27 UTC
Any comments?

Comment 15 Dave Airlie 2013-08-09 08:33:12 UTC
undoing ajax's review- since this is packaging what we want to build mesa, the icd comes from the already packages ocl-icd, and mesa still doesn't work so well with it yet.

Comment 16 Fabian Deutsch 2013-08-19 06:54:18 UTC
New Package SCM Request
=======================
Package Name: libclc
Short Description: An open source implementation of the OpenCL 1.1 library requirements
Owners: fabiand
Branches: f19 f20
InitialCC:

Comment 17 Gwyn Ciesla 2013-08-19 12:00:18 UTC
Git done (by process-git-requests).

Comment 18 Fabian Deutsch 2013-08-19 12:07:02 UTC
Thanks. Closing this.