Bug 219932

Summary: Review Request: driconf - A configuration applet for the Direct Rendering Infrastructure
Product: [Fedora] Fedora Reporter: Kevin Fenzi <kevin>
Component: Package ReviewAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-12-21 04:21:55 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: 219961    
Bug Blocks: 163779    

Description Kevin Fenzi 2006-12-17 00:16:04 UTC
Spec URL: http://www.scrye.com/~kevin/fedora-extras/driconf.spec
SRPM URL: http://www.scrye.com/~kevin/fedora-extras/driconf-0.9.1-1.fc7.src.rpm
Description: 

DRIconf is a configuration applet for the Direct Rendering Infrastructure.
It allows customizing performance and visual quality settings of OpenGL
drivers on a per-driver, per-screen and/or per-application level.

The settings are stored in system wide and per-user XML configuration files,
which are parsed by the OpenGL drivers on startup.

DRIConf is written in Python with the python-gtk toolkit bindings.

Comment 1 Mamoru TASAKA 2006-12-17 03:08:30 UTC
I don't know I will review this. however...

I am always annoyed when I have to check the 
requirements for python related packages
(because this is not done automatically by
rpmbuild process). Please
check the requirements for this package and
add proper Requires.

For instance, driconf/driconf.py includes the line:
-----------------------------
import pygtk
-----------------------------
This means this package should have
Requires: pygobject2 (or pygtk2) .

Comment 2 Mamoru TASAKA 2006-12-17 03:20:16 UTC
I also found:
-----------------------------------------
driconf/dri.py:        infopipe = os.popen ("glxinfo " + dpyStr, "r")
-----------------------------------------
I don't know this package well, however, this line
perhaps implies that this package should require
glx-utils as Requires.

Comment 3 Kevin Fenzi 2006-12-17 03:33:59 UTC
In reply to comments #1 and #2: 

Quite right. :( Sorry I missed those... new version with those requirements added: 

New -2 packages at the same urls:
Spec URL: http://www.scrye.com/~kevin/fedora-extras/driconf.spec
SRPM URL: http://www.scrye.com/~kevin/fedora-extras/driconf-0.9.1-2.fc7.src.rpm

diff of spec from previous version: 

5c5
< Release:        2%{?dist}
---
> Release:        1%{?dist}
17,18d16
< Requires:     pygtk2
< Requires:     glx-utils
74,76d71
< * Sat Dec 16 2006 Kevin Fenzi <kevin> - 0.9.1-2
< - Added Requires for pygtk2 and glx-utils
< 


Comment 4 Mamoru TASAKA 2006-12-18 05:51:08 UTC
Well, two issues.

* For BuildRequires:
  - BuildRequires:  pygtk2-devel
    python-devel (for FC-devel) is sufficient. And, IMO this package
    should need no BuildRequires apart from minimum build environment
    (please check bug 219961)
* For desktop file
  - This is a GUI application so providing a desktop file is
    generally recommended.

Comment 5 Kevin Fenzi 2006-12-18 19:57:59 UTC
Both issues fixed. 

Spec URL: http://www.scrye.com/~kevin/fedora-extras/driconf.spec
SRPM URL: http://www.scrye.com/~kevin/fedora-extras/driconf-0.9.1-3.fc7.src.rpm

diff of spec: 

--- driconf.spec-2      2006-12-16 20:31:44.000000000 -0700
+++ driconf.spec        2006-12-18 12:55:27.000000000 -0700
@@ -2,7 +2,7 @@
 
 Name:           driconf
 Version:        0.9.1
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        A configuration applet for the Direct Rendering Infrastructure
 
 Group:          User Interface/X
@@ -12,7 +12,8 @@
 Patch1:         driconf-0.9.1-setup.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-BuildRequires:  pygtk2-devel
+BuildRequires:  python-devel
+BuildRequires:  desktop-file-utils
 BuildArch:      noarch
 Requires:      pygtk2
 Requires:      glx-utils
@@ -40,9 +41,29 @@
 
 %find_lang driconf
 
+cat << EOF > %{name}.desktop
+[Desktop Entry]
+Name=Driconf
+Comment=configuration applet for the Direct Rendering Infrastructure
+Exec=/usr/bin/driconf
+Icon=/usr/share/driconf/driconf-icon.png
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Application;X-Fedora;
+EOF
+
+desktop-file-install --vendor fedora \
+        --dir $RPM_BUILD_ROOT/%{_datadir}/applications/ %{name}.desktop
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post
+update-desktop-database > /dev/null 2>&1 || :
+
+%postun
+update-desktop-database > /dev/null 2>&1 || :
 
 %files -f driconf.lang
 %defattr(-,root,root,-)
@@ -69,8 +90,13 @@
 %{_datadir}/driconf/screen.png
 %{_datadir}/driconf/screencard.png
 %{_datadir}/driconf/driconf-icon.png
+%{_datadir}/applications/*.desktop
 
 %changelog
+* Mon Dec 18 2006 Kevin Fenzi <kevin> - 0.9.1-3
+- Changed pygtk2-devel BuildRequires to python-devel
+- Added desktop file. 
+
 * Sat Dec 16 2006 Kevin Fenzi <kevin> - 0.9.1-2
 - Added Requires for pygtk2 and glx-utils


Comment 6 Mamoru TASAKA 2006-12-19 13:34:25 UTC
Well, Categories entry is a problem because now both categories 
"Application" "X-Fedora" are deprecated

For Application:
https://www.redhat.com/archives/fedora-extras-list/2006-October/msg00723.html
And for X-Fedora:
https://www.redhat.com/archives/fedora-packaging/2006-October/msg00188.html
Both started from me...
https://www.redhat.com/archives/fedora-extras-list/2006-October/msg00698.html

Comment 7 Kevin Fenzi 2006-12-19 17:56:45 UTC
Well, I was looking at: 
http://fedoraproject.org/wiki/Packaging/Guidelines#head-254ddf07aae20a23ced8cecc219d8f73926e9755

What do you suggest instead of Application? The example above uses Application. 

For vendor the above says: 
"If upstream uses <vendor_id>, leave it intact, otherwise use fedora as
<vendor_id>." 

Since there is no desktop file from upstream, I used 'fedora' as the vendor id.

Or are you talking about: 
Categories=Application;X-Fedora;

What would you suggest there? Is there some place that has a list of available 
categories? 

Comment 8 Mamoru TASAKA 2006-12-19 18:20:26 UTC
(In reply to comment #7)
> Well, I was looking at: 
>
http://fedoraproject.org/wiki/Packaging/Guidelines#head-254ddf07aae20a23ced8cecc219d8f73926e9755
> 
> What do you suggest instead of Application? 
> The example above uses Application. 

Yes, however Category "Application" is now deprecated.
It seems that this application deals with DRI settings so
I recommend:
------------------------------------------
Categories=Settings;
------------------------------------------

> For vendor the above says: 
> "If upstream uses <vendor_id>, leave it intact, otherwise use fedora as
> <vendor_id>." 
> 
> Since there is no desktop file from upstream, 
> I used 'fedora' as the vendor id.
I didn't mention about vendor tag. Only Categories entry is
a problem.
 
> What would you suggest there? Is there some place that has a list of available 
> categories? 

From desktop-file-valiate warning:
-----------------------------------------------------
Categories values must be one of "AudioVideo", "Audio", "Video", "Development",
"Education", "Game", "Graphics", "Network", "Office", "Settings", "System",
"Utility", "Building", "Debugger", "IDE", "GUIDesigner", "Profiling",
"RevisionControl", "Translation", "Calendar", "ContactManagement", "Database",
"Dictionary", "Chart", "Email", "Finance", "FlowChart", "PDA",
"ProjectManagement", "Presentation", "Spreadsheet", "WordProcessor",
"2DGraphics", "VectorGraphics", "RasterGraphics", "3DGraphics", "Scanning",
"OCR", "Photography", "Viewer", "DesktopSettings", "HardwareSettings",
"PackageManager", "Dialup", "InstantMessaging", "IRCClient", "FileTransfer",
"HamRadio", "News", "P2P", "RemoteAccess", "Telephony", "WebBrowser",
"WebDevelopment", "Midi", "Mixer", "Sequencer", "Tuner", "TV",
"AudioVideoEditing", "Player", "Recorder", "DiscBurning", "ActionGame",
"AdventureGame", "ArcadeGame", "BoardGame", "BlocksGame", "CardGame",
"KidsGame", "LogicGame", "RolePlaying", "Simulation", "SportsGame",
"StrategyGame", "Art", "Construction", "Music", "Languages", "Science",
"Astronomy", "Biology", "Chemistry", "Geology", "Math", "MedicalSoftware",
"Physics", "Amusement", "Archiving", "Electronics", "Emulator", "Engineering",
"FileManager", "TerminalEmulator", "Filesystem", "Monitor", "Security",
"Accessibility", "Calculator", "Clock", "TextEditor", "Core", "KDE", "GNOME",
"GTK", "Qt", "Motif", "Java", "ConsoleOnly", "Screensaver", "TrayIcon",
"Applet", "Shell"
-----------------------------------------------------

Comment 9 Kevin Fenzi 2006-12-20 00:22:54 UTC
wow... I could see this applying to any of:  
Video, Graphics, Settings, 3DGraphics, DesktopSettings, HardwareSettings

I guess Settings makes as much sense as any...I'm not sure if it should be any
of the others above. 

Spec URL: http://www.scrye.com/~kevin/fedora-extras/driconf.spec
SRPM URL: http://www.scrye.com/~kevin/fedora-extras/driconf-0.9.1-4.fc7.src.rpm

--- driconf.spec-3      2006-12-19 17:18:36.000000000 -0700
+++ driconf.spec        2006-12-19 17:19:16.000000000 -0700
@@ -2,7 +2,7 @@
 
 Name:           driconf
 Version:        0.9.1
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        A configuration applet for the Direct Rendering Infrastructure
 
 Group:          User Interface/X
@@ -50,7 +50,7 @@
 Terminal=false
 Type=Application
 Encoding=UTF-8
-Categories=Application;X-Fedora;
+Categories=Settings;
 EOF
 
 desktop-file-install --vendor fedora \
@@ -93,6 +93,9 @@
 %{_datadir}/applications/*.desktop
 
 %changelog
+* Tue Dec 19 2006 Kevin Fenzi <kevin> - 0.9.1-4
+- Changed desktop category to Settings. 
+
 * Mon Dec 18 2006 Kevin Fenzi <kevin> - 0.9.1-3
 - Changed pygtk2-devel BuildRequires to python-devel
 - Added desktop file. 




Comment 10 Mamoru TASAKA 2006-12-20 16:41:02 UTC
Well,
* The last thing:
-------------------------------------------
%post
update-desktop-database > /dev/null 2>&1 || :

%postun
update-desktop-database > /dev/null 2>&1 || :
-------------------------------------------
Both scriptlets are not necessary because the desktop file
in this package does not contain mimetype description.

Other things are okay.
-------------------------------------------------
   This package (driconf) is APPROVED by me.


Comment 11 Kevin Fenzi 2006-12-21 04:21:55 UTC
Thanks. Removed those scriptlets before import. 

Package imported and built for devel. 
fc5/fc6 branches requested. 

Thanks for the review!