Bug 854670

Summary: Review Request: turbojpeg - TurboJPEG library
Product: [Fedora] Fedora EPEL Reporter: Gary Gatling <gsgatlin>
Component: Package ReviewAssignee: Orion Poplawski <orion>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: el6CC: notting, orion, package-review, rdieter, volker27
Target Milestone: ---Flags: orion: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: turbojpeg-1.2.1-2.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-24 21:05:13 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:

Description Gary Gatling 2012-09-05 14:05:07 UTC
Spec URL: http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/rhel6/spec/1/libjpeg-turbo.spec
SRPM URL: http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/rhel6/SRPMS/libjpeg-turbo-1.2.1-1.el6.src.rpm
Description: The libjpeg-turbo package contains a library of functions for manipulating JPEG images.
Fedora Account System Username: gsgatlin

Comment 1 Volker Fröhlich 2012-09-05 14:09:52 UTC
I think you don't need a review for this package. The package exists and is maintained in Fedora -- there's just no EPEL branch.

http://fedoraproject.org/wiki/EPEL/FAQ#How_do_I_request_a_EPEL_branch_for_an_existing_Fedora_package.3F

Comment 2 Rex Dieter 2012-09-05 14:45:42 UTC
Having an epel-6 pkg Obsoletes the core/system libjpeg is not acceptable, and I'm not sure if this can be made parallel-installable with libjpeg either

You might want to mention your motivation and justification for wanting this in epel-6.

Comment 3 Gary Gatling 2012-09-05 14:50:51 UTC
Hello. Was hoping there can be a el6 branch for VirtualGL. VirtualGL review request is bugzilla 834127. VirtualGL has a BuildRequires: for turbojpeg-devel

Comment 4 Orion Poplawski 2012-09-05 14:57:36 UTC
Gray, you are going to have to just package the turbojpeg{,-devel} components.

Comment 5 Gary Gatling 2012-09-05 16:30:13 UTC
Ok. Working on building and testing a turbojpeg{,-devel} pkg out of this package. Will post the urls when its ready. Thanks a lot.

Comment 6 Orion Poplawski 2012-10-17 04:13:59 UTC
Gary - any progress here?

Comment 7 Gary Gatling 2012-10-22 00:35:48 UTC
Hello. Attempt #2 here:

http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/rhel6/spec/2/turbojpeg.spec

http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/rhel6/SRPMS/turbojpeg-1.2.1-1.el6.src.rpm

So sorry for the delay in getting this submitted. I am able to work on this now that I am recovering from surgery. Please let me know if I should change anything with this rpm package. Thanks.

Comment 8 Orion Poplawski 2013-04-23 20:40:16 UTC
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Development (unversioned) .so files in -devel subpackage, if present.
  Note: Unversioned so-files directly in %_libdir.
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages

This is okay - upstream in unversioned.

- Remove %defattr()
- Remove %clean
- -devel requires needs to be %{name}%{?_isa} = %{version}-%{release}
- License is not correct (I don't think)
- Drop BuildRoot

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[!]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in turbojpeg-
     devel
[x]: Package complies to the Packaging Guidelines
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated", "zlib/libpng". 2 files have unknown license.
     Detailed output of licensecheck in
     /export/home/orion/redhat/turbojpeg-1.2.1/854670-turbojpeg/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 20480 bytes in 1 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).

===== SHOULD items =====

Generic:
[!]: Buildroot is not present
     Note: Invalid buildroot found: %{_tmppath}/libjpeg-
     turbo-%{version}-%{release}-root-%(%{__id_u} -n)
[!]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: %clean present but not required
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Scriptlets must be sane, if used.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: turbojpeg-1.2.1-1.el6.x86_64.rpm
          turbojpeg-devel-1.2.1-1.el6.x86_64.rpm
turbojpeg.x86_64: W: name-repeated-in-summary C TurboJPEG
turbojpeg.x86_64: E: invalid-soname /usr/lib64/libturbojpeg.so libturbojpeg.so
turbojpeg.x86_64: W: shared-lib-calls-exit /usr/lib64/libturbojpeg.so exit.5
turbojpeg-devel.x86_64: W: no-documentation
2 packages and 0 specfiles checked; 1 errors, 3 warnings.


Requires
--------
turbojpeg-devel (rpmlib, GLIBC filtered):
    libjpeg-turbo(x86-64)

turbojpeg (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    rtld(GNU_HASH)



Provides
--------
turbojpeg-devel:
    turbojpeg-devel
    turbojpeg-devel(x86-64)

turbojpeg:
    libturbojpeg.so()(64bit)
    libturbojpeg.so(TURBOJPEG_1.0)(64bit)
    libturbojpeg.so(TURBOJPEG_1.1)(64bit)
    libturbojpeg.so(TURBOJPEG_1.2)(64bit)
    turbojpeg
    turbojpeg(x86-64)



Unversioned so-files
--------------------
turbojpeg: /usr/lib64/libturbojpeg.so

MD5-sum check
-------------
http://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-1.2.1.tar.gz :
  CHECKSUM(SHA256) this package     : cb3323f054a02cedad193bd0ca418d46934447f995d19e678ea64f78e4903770
  CHECKSUM(SHA256) upstream package : cb3323f054a02cedad193bd0ca418d46934447f995d19e678ea64f78e4903770


Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29
Buildroot used: epel-6-x86_64
Command line :/usr/bin/fedora-review -b 854670 -m epel-6-x86_64

Comment 9 Orion Poplawski 2013-05-15 03:21:40 UTC
Gary - ping?

Comment 10 Gary Gatling 2013-05-15 10:48:44 UTC
Sorry. I got busy with BZ923961. But I should be able to work on this issue this weekend. Sorry for the delay.

Comment 11 Gary Gatling 2013-05-19 21:29:10 UTC
Greetings. Attempt #3 here:

http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/rhel6/spec/3/turbojpeg.spec

http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/rhel6/SRPMS/turbojpeg-1.2.1-2.el6.src.rpm

Thank you so much for your help and sorry for the delay in trying to fix up this package.

Comment 12 Gary Gatling 2013-05-19 21:38:25 UTC
Oh, one other thing.. I think it is BSD license due to this conversation:

http://sourceforge.net/p/libjpeg-turbo/discussion/1086868/thread/a2806781/

It seems like it has to be either BSD or wxWidgets. But I'm guessing its BSD.

Comment 13 Orion Poplawski 2013-05-20 16:10:05 UTC
Yeah, BSD works for me.  APPROVED.

Comment 14 Gary Gatling 2013-05-27 19:16:40 UTC
New Package SCM Request
=======================
Package Name: turbojpeg
Short Description: TurboJPEG library
Owners: gsgatlin
Branches: el6
InitialCC:

Comment 15 Gwyn Ciesla 2013-05-28 15:07:34 UTC
Requested package name turbojpeg doesn't match bug summary libjpeg-turbo,
please correct.

Comment 16 Gary Gatling 2013-05-28 15:17:23 UTC
I'm sorry. We couldn't use the whole libjpeg-turbo package because it obsoletes the core/system libjpeg. Should I submit a new review request? in fedora, turbojpeg is a subpackage of libjpeg-turbo but I gather in EPEL to follow the guidelines it must be a stand alone package. (I did not know this when the review request was submitted which is why the names differ...)

Sorry for the trouble this has caused.

Comment 17 Orion Poplawski 2013-05-29 15:31:00 UTC
Fixed the bug summary.

Comment 18 Gwyn Ciesla 2013-05-29 15:35:45 UTC
Git done (by process-git-requests).

Comment 19 Fedora Update System 2013-05-30 14:07:07 UTC
turbojpeg-1.2.1-2.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/turbojpeg-1.2.1-2.el6

Comment 20 Gary Gatling 2013-05-31 12:54:35 UTC
Got this email this morning:

turbojpeg has broken dependencies in the rawhide tree:
On x86_64:
        turbojpeg-devel-1.2.1-2.fc20.i686 requires turbojpeg(x86-32) = 0:1.2.1-2.fc20
Please resolve this as soon as possible.


Any ideas how I can fix that?

Thanks a lot.

Comment 21 Rex Dieter 2013-05-31 13:01:30 UTC
I thought this was supposed to be a package for EPEL only?  why is this even built for rawhide?

Comment 22 Gary Gatling 2013-05-31 13:03:38 UTC
Sorry. I made a mistake. So I guess I need to delete this package from master then. I'll try to find some documentation on that.

Comment 23 Rex Dieter 2013-05-31 13:07:46 UTC
just untag the build is probably enough.

koji untag-pkg f20 turbojpeg-1.2.1-2.fc20


That all said, doesn't answer the question why there was a multilib dep problem in the repo... it may well also occur for any EPEL builds too.  ??

Comment 24 Gary Gatling 2013-05-31 13:18:02 UTC
Thank you. That command succeeded.

I'm not sure. There were no errors I could see in the fedpkg build command output. But that doesn't mean anything with this error I guess since I didn't see errors when I mistakenly built this for rawhide.

In the spec file there is this section:

%ifarch %{ix86} x86_64
BuildRequires:  nasm
%endif

and also in package devel:

Requires:       %{name}%{?_isa} = %{version}-%{release}

Could one of those sections be the issue I wonder. Will we get emails for broken dependencies in the el6 tree?

Comment 25 Orion Poplawski 2013-05-31 14:59:17 UTC
Gary - you should still delete the files in the master branch and put a note indicating that this is an EPEL only package.

I'm fairly confident that the broken dep was due to interaction with the turbojpeg packages in rawhide that come from libjpeg-turbo (which is at a different version).  We'll find out shortly anyway.

Comment 26 Fedora Update System 2013-05-31 17:54:09 UTC
turbojpeg-1.2.1-2.el6 has been pushed to the Fedora EPEL 6 testing repository.

Comment 27 Fedora Update System 2013-06-24 21:05:13 UTC
turbojpeg-1.2.1-2.el6 has been pushed to the Fedora EPEL 6 stable repository.