Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 529485 - Review Request: qjoypad - Gamepad translator software
Summary: Review Request: qjoypad - Gamepad translator software
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2009-10-17 14:18 UTC by Alexander Kahl
Modified: 2016-06-26 15:57 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2016-06-26 15:57:07 UTC

Attachments (Terms of Use)

Description Alexander Kahl 2009-10-17 14:18:12 UTC
Spec URL:
QJoyPad takes input from a gamepad or joystick and translates it into key
strokes or mouse actions, letting you control any XWindows program with your
game controller. This lets you play all those games that for some reason don't
have joystick support with your joystick.

Comment 1 Jason Tibbitts 2010-11-03 18:07:07 UTC
This failed to build for me:

g++ -Wl,-O1 -o qjoypad axis.o axis_edit.o axisw.o button.o button_edit.o buttonw.o event.o flash.o icon.o joypad.o joypadw.o joyslider.o keycode.o layout.o layout_edit.o main.o quickset.o getkey.o trayicon.o trayicon_x11.o moc_axis.o moc_axis_edit.o moc_button.o moc_button_edit.o moc_flash.o moc_icon.o moc_joypad.o moc_joypadw.o moc_keycode.o moc_layout.o moc_getkey.o moc_trayicon.o     -lXtst -lQtGui -lQtCore -lpthread 
/usr/bin/ld: trayicon_x11.o: undefined reference to symbol 'XSetWMHints'
/usr/bin/ld: note: 'XSetWMHints' is defined in DSO /usr/lib64/ so try adding it to the linker command line
/usr/lib64/ could not read symbols: Invalid operation
collect2: ld returned 1 exit status

A scratch build is at

Please clear the Whiteboard if providing packages which build.

Comment 2 Alexander Kahl 2010-11-04 10:12:09 UTC
Spec URL:

- updated spec to latest standards                                                                                                                                                                                                          
- replace occurences of my former corporate email address
- added libX11 to linker list

Comment 3 Alexander Kahl 2010-11-04 10:26:04 UTC
Cleared Whiteboard.

Comment 4 Jason Tibbitts 2010-11-04 12:48:04 UTC
Is there any reason not to update to 4.1?

Comment 5 Alexander Kahl 2010-11-04 13:10:31 UTC
None, my bad - I just didn't bother checking for a new version.

Spec URL:

- update to 4.1.0
- added symbolic link for suitable default icon

Comment 6 Jason Tibbitts 2010-11-04 16:34:21 UTC
FYI, you don't need %clean at all these days.  (F12 was the last Fedora release that needed it, and F12 is closed to new packages, so....)

Unfortunately manipulation of %buildroot in %build is a guideline violation.  rpmlint complains about it:
qjoypad.src:35: W: rpm-buildroot-usage
  %build test -d $RPM_BUILD_ROOT || mkdir -p $RPM_BUILD_ROOT
qjoypad.src:38: W: rpm-buildroot-usage
  %build ./config --prefix=%{_prefix} --install-dir=$RPM_BUILD_ROOT

I believe it suffices to simply call the config script twice; once in %build without --install-dir and again in %install with --install-dir.  This seems to result in an identical package.

I installed and ran the package and it seems to work but I have no joypads (nor can I understand how anyone uses those uncomfortable things).

Comment 7 Alexander Kahl 2010-11-04 17:08:18 UTC
Ha, you're right. Calling config twice did the trick.
I'm quite surprised you consider joypads uncomfortable (I'm mostly a keyboard hacker myself).

Spec URL:


- eliminated %%config altogether
- split up into two config calls in order to prevent breaking the guidelines                                                                                                                                                                
  regarding use of $RPM_BUILD_ROOT

Comment 8 Jason Tibbitts 2010-11-04 23:45:55 UTC
Looks good, thanks.  However, the licensing issue looks a bit bizarre and that may require 

I note that the source code doesn't include any sort of GPL header.  That plus the presense of the generic GPL text implies that any version of the GPL applies, so GPL+ would be the correct license tag.  However, README.txt says:

   Check  out  LICENSE.txt or
   for  details!  The  bare  bones  of  it  is,  this  program is
   distributed  in  open-source  form so that others may share it
   freely,  learn from it, or modify it as they see fit. However,
   under no circumstances can it be sold!

which demonstrates some pretty weak understanding of the GPL; whoever wrote it didn't even read the second paragraph of the preamble.  I would assume that this is merely (rather poor) explanatory text and that it's not attempting to add an additional restriction to the GPL, because that would render the whole undistributable.  However, I'm not a lawyer, so perhaps the legal folks should take a look.

And, finally, there's this:

   This  code  was  written entirely by Nathan Gaylinn (excepting
   the  code used for displaying a tray icon that is adapted from
   the  Psi source []) but is based on the
   idea of xjoypad by Erich Kitzm<FC>ller.

My understanding is that Psi is GPLv2+.  However, I don't know exactly which code came from Psi, or if it's sufficient force GPLv2+ on the whole work.

So, at this point I'd approve this, but we should see what the legal folks have to say.  Or you could perhaps try to obtain clarification from upstream.

* source files match upstream.  sha256sum:
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
X license situation is confusing.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* package builds in mock (f14, x86_64).
* package installs properly.
* debuginfo package looks complete.
* rpmlint has acceptable complaints.
* final provides and requires are sane:
   qjoypad = 4.1.0-2.fc14
   qjoypad(x86-64) = 4.1.0-2.fc14

   qjoypad-debuginfo = 4.1.0-2.fc14
   qjoypad-debuginfo(x86-64) = 4.1.0-2.fc14

* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no generically named files
* code, not content.
* documentation is small, so no -doc subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.
* desktop files valid and installed properly.

Comment 9 Alexander Kahl 2010-11-24 11:56:16 UTC
I've notified the authors and asked for clarification. Let's see what their response is before going any further.

Comment 10 Tom "spot" Callaway 2011-06-30 16:50:48 UTC
Any feedback from upstream?

Comment 11 Jason Tibbitts 2012-05-09 19:40:18 UTC
Well, it's been very nearly 18 months since the authors were notified; is there any chance of making any progress here?

Comment 12 Igor Gnatenko 2016-06-26 15:57:07 UTC
Looks like this is dead.

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