Bug 987204 - Review Request: libevdev - Kernel Evdev Device Wrapper Library
Review Request: libevdev - Kernel Evdev Device Wrapper Library
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Christopher Meng
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-22 20:24 EDT by Peter Hutterer
Modified: 2013-08-23 20:01 EDT (History)
4 users (show)

See Also:
Fixed In Version: libevdev-0.3-1.fc19
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-08-09 20:00:14 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
i: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Peter Hutterer 2013-07-22 20:24:29 EDT
Spec URL: http://people.freedesktop.org/~whot/libevdev.spec
SRPM URL: http://people.freedesktop.org/~whot/libevdev-0.2-1.fc19.src.rpm
Description: libevdev is a library to wrap kernel evdev devices and provide a proper API to interact with those devices.
Fedora Account System Username: whot
Comment 1 Christopher Meng 2013-07-22 23:56:59 EDT
Mock failed:

checking for i686-redhat-linux-gnu-pkg-config... /usr/bin/i686-redhat-linux-gnu-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for CHECK... no
configure: error: Package requirements (check) were not met:
No package 'check' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables CHECK_CFLAGS
and CHECK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
error: Bad exit status from /var/tmp/rpm-tmp.2bU8cH (%build)
    Bad exit status from /var/tmp/rpm-tmp.2bU8cH (%build)
RPM build errors:
Child return code was: 1
EXCEPTION: Command failed. See logs for output.
Comment 2 Peter Hutterer 2013-07-23 01:54:55 EDT
oops. can't believe I forgot the scratch build. Sorry about that.

spec and rpm updated, same URL as before. Changes are BuildRequires for check-devel an python.
Comment 3 Christopher Meng 2013-07-23 04:32:43 EDT
Package is fine.

APPROVED.
Comment 4 Michael Schwendt 2013-07-23 05:24:25 EDT
> %package devel
> Requires:       %{name} = %{version}-%{release}

https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package


> Requires:       pkgconfig

For EL5? Else there are automatic Requires/Provides.


> %files devel
> %doc COPYING

It's not necessary to duplicate the file here.
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Subpackage_Licensing


> libevdev-0.2/doc/*

Documentation that could be generated with Doxygen.


> BuildRequires:  check-devel

If one executes "make check", in GNOME Shell the "Oh no! Something has gone wrong" screen appears" briefly.


> /usr/lib64/pkgconfig/libevdev.pc

There's an undefined Version in that file, which makes pkgconfig version checks impossible. The defined Name doesn't match the file name, btw.
Comment 5 Peter Hutterer 2013-07-23 17:42:38 EDT
(In reply to Michael Schwendt from comment #4)
> > %package devel
> > Requires:       %{name} = %{version}-%{release}
> 
> https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package

thanks, will be fixed.

> > Requires:       pkgconfig
> 
> For EL5? Else there are automatic Requires/Provides.

Do you have a reference there? I can find sources that say I'd have to change this to BuildRequires: pkgconfig instead and (one from 2006) that states I need the above line. I'd be interested to find what the official stance is atm, I've got quite a few packages with this line (this spec file was copied from another one, which was copied from another, which...)

> > %files devel
> > %doc COPYING
> 
> It's not necessary to duplicate the file here.
> https://fedoraproject.org/wiki/Packaging:
> LicensingGuidelines#Subpackage_Licensing

ACK

> > libevdev-0.2/doc/*
> 
> Documentation that could be generated with Doxygen.

I've intentionally not packaged this as a -doc packge. the source is available online which I think is a better approach here.
http://www.freedesktop.org/software/libevdev/doc/

> > BuildRequires:  check-devel
> 
> If one executes "make check", in GNOME Shell the "Oh no! Something has gone
> wrong" screen appears" briefly.

that's a bug in mutter and gnome-shell that I haven't fixed yet. the tests create a lot of test devices very quickly, mutter simply can't handle that. unrelated to this package though, you'd get the same issue if you're really fast at unplugging USB devices :)

> > /usr/lib64/pkgconfig/libevdev.pc
> 
> There's an undefined Version in that file, which makes pkgconfig version
> checks impossible. The defined Name doesn't match the file name, btw.

whoah, good catch. fixed locally, will upload the new versions asap once upstream is released with those fixes.
Comment 6 Michael Schwendt 2013-07-24 03:19:22 EDT
Automatic pkg-config deps have been enabled several years ago (2008):
https://bugzilla.redhat.com/465377

For a package that includes a .pc file, you get an automatic "Requires: /usr/bin/pkg-config" as well as versioned "pkgconfig(…)" Provides/Requires for the .pc file inter-dependencies:

  $ repoquery --whatrequires /usr/bin/pkg-config|wc -l
  3694
  $ repoquery --whatrequires 'pkgconfig(glib-2.0)'|wc -l
  466
  $ repoquery --whatprovides 'pkgconfig(glib-2.0)'
  glib2-devel-0:2.36.3-2.fc19.i686
  glib2-devel-0:2.36.3-2.fc19.x86_64

There are packagers, who rely on these automatic pkgconfig(…) Provides even for their BuildRequires tags (instead of -devel package names).

> I can find sources that say I'd have to change this to
> BuildRequires: pkgconfig instead

"BuildRequires: pkgconfig" is what you would add, if your src.rpm uses pkg-config directly. (or if a build requirement uses it and is missing such a dep for reasons to examine)


> the official stance

When I posted the comment, I've searched a bit, but I'm at a loss why this has not been added to the guidelines by the FPC.
Comment 7 Peter Hutterer 2013-07-24 19:29:21 EDT
Spec URL: http://people.freedesktop.org/~whot/libevdev.spec
SRPM URL: http://people.freedesktop.org/~whot/libevdev-0.2.1-1.fc19.src.rpm

Note that the second URL changed (new version for the pkgconfig changes), the first remains the same.


Changes to previous version:
- pkg-config changes are now fixed upstream
- Requires: pkgconfig is now gone, I'm trusting rpm to handle that now :)
- devel package has {?_isa} added to Requires
- devel package dropped COPYING


remaining:
- no doc package, this is intentional
- make check crashes mutter - external fix
- rpmlint complains about "evdev". No, I did not mean "evade" :)
Comment 8 Peter Hutterer 2013-08-07 23:23:11 EDT
Michael, do you have any other comments here? Otherwise I'll take Christopher's review+ as final.
Comment 9 Michael Schwendt 2013-08-08 07:08:24 EDT
Package should be fine now.
Comment 10 Peter Hutterer 2013-08-08 21:34:26 EDT
New Package SCM Request
=======================
Package Name: libevdev
Short Description: Kernel Evdev Device Wrapper Library 
Owners: whot
Branches: f19
Comment 11 Gwyn Ciesla 2013-08-09 08:38:06 EDT
Git done (by process-git-requests).
Comment 12 Peter Hutterer 2013-08-09 20:00:14 EDT
libevdev-0.2.1-1.fc20 is available in koji. Thanks.
Comment 13 Fedora Update System 2013-08-09 20:01:44 EDT
libevdev-0.2.1-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/libevdev-0.2.1-1.fc19
Comment 14 Fedora Update System 2013-08-12 17:24:09 EDT
libevdev-0.3-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/libevdev-0.3-1.fc19
Comment 15 Fedora Update System 2013-08-23 20:01:15 EDT
libevdev-0.3-1.fc19 has been pushed to the Fedora 19 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.