Bug 520278 - Review Request: notify-osd - On-screen-display notification agent
Review Request: notify-osd - On-screen-display notification agent
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
i586 Linux
low Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
:
: 559304 (view as bug list)
Depends On: 520437 520442
Blocks: FE-DEADREVIEW
  Show dependency treegraph
 
Reported: 2009-08-29 23:58 EDT by Heyde Moura
Modified: 2010-11-03 14:51 EDT (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-11-03 11:48:06 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Heyde Moura 2009-08-29 23:58:16 EDT
Spec URL: http://stashbox.org/615883/notify-osd.spec
SRPM URL: http://stashbox.org/615881/notify-osd-0.9.11-1.fc11.src.rpm
Description: Canonical's on-screen-display notification agent, implementing the freedesktop.org Desktop Notifications Specification with semi-transparent click-through bubbles.
Comment 1 Martin Gieseking 2009-08-30 04:37:07 EDT
Hello Heyde,

according to the Fedora Account System you're not yet an approved packager. Thus, you need a sponsor doing the formal review of this package. (see https://fedoraproject.org/wiki/PackageMaintainers/Join#Create_Your_Review_Request)

I had a quick look at your package and noticed a couple of issues.

$ rpmlint notify-osd-0.9.11-1.fc11.src.rpm 
notify-osd.src: E: description-line-too-long Canonical's on-screen-display notification agent, implementing the freedesktop.org Desktop Notifications Specification with semi-transparent click-through bubbles.
notify-osd.src: W: non-standard-group Desktop Environments/GNOME
notify-osd.src:64: E: files-attr-not-set
notify-osd.src:65: E: files-attr-not-set
1 packages and 0 specfiles checked; 3 errors, 1 warnings.

- You should split the %description text to several lines with max. 80 characters per line.

- Choose a proper package group

- move %defattr(-,root,root,-) to the top of the %file section

- The package doesn't build in mock because of a missing BuildRequires: libnotify-devel. Also, BuildRequires and Requires contain many redundant dependencies. It should be sufficient to give:

BuildRequires:	GConf2-devel
BuildRequires:	libwnck-devel
BuildRequires:	dbus-glib-devel
BuildRequires:	glib2-devel
BuildRequires:  libnotify-devel

- Add your email address to the %changelog entry
Comment 2 Heyde Moura 2009-08-30 07:42:44 EDT
I have made the package for a newer version.
Spec URL: http://stashbox.org/616073/notify-osd.spec
SRPM URL: http://stashbox.org/616072/notify-osd-0.9.19-1.fc11.src.rpm

I think that my work arround in the SPEC file should be right now, i've followed your instructions, i'd run:

$ rpmlint notify-osd-0.9.19-1.fc11.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Comment 3 Heyde Moura 2009-08-30 07:48:45 EDT
SPEC URL:http://stashbox.org/616084/notify-osd.spec
SRPM URL: http://stashbox.org/616085/notify-osd-0.9.19-1.fc11.src.rpm

Added Conflicts to Spec file

$ rpmlint notify-osd-0.9.19-1.fc11.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Comment 4 Rahul Sundaram 2009-08-30 07:59:31 EDT
I am not a sponsor, consider this a unofficial quick review:

Your earlier spec was inaccessible. If you don't have a proper place to upload packages, get a Fedora account at 

https://admin.fedoraproject.org/accounts

Apply for fedorabugs group there and I will approve so that you can scp your
files to fedorapeople.org 

https://fedoraproject.org/wiki/Infrastructure/fedorapeople.org

Also, you should avoid using the trademark name "Canonical" 

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

A better summary and description would be 

"On-screen-display notification"

and

"On-screen-display notification agent, implementing the freedesktop.org Desktop
Notifications Specification with semi-transparent click-through bubbles."

There is a typo in your conflicts and also on "initial package". Since notification-daemon is a explicit dependency of many packages, how is a user expected to install this package? 

You don't need to define the buildroot or remove it in %install section anymore. 

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

You shouldn't add explicit requires for libraries unless RPM can't detect it by itself.

https://fedoraproject.org/wiki/Packaging/Guidelines#Requires
Comment 5 Rahul Sundaram 2009-08-30 08:02:43 EDT
Actually, a better description that avoids jargon is in the README:

"The Desktop Notifications framework provides a standard way of doing passive
pop-up notifications on the Linux desktop. These are designed to notify the
user of something without interrupting their work with a dialog box that they
must close. Passive popups can automatically disappear after a short period of
time."
Comment 7 Rahul Sundaram 2009-08-30 09:38:21 EDT
Can you respond to the other suggestions and questions?
Comment 8 Heyde Moura 2009-08-30 09:52:17 EDT
SPEC url: http://heydemoura.fedorapeople.org/rpmbuild/SPECS/notify-osd.spec
SRPM url:
http://heydemoura.fedorapeople.org/rpmbuild/SRPMS/notify-osd-0.9.19-1.fc11.src.rpm

Sorry i forgot to change the description to the one in the README.
Comment 9 Rahul Sundaram 2009-08-30 10:03:10 EDT
You still have missed out a few suggestions and the question on conflicts
Comment 10 Heyde Moura 2009-08-30 10:19:55 EDT
How i can know what dependencies RPM can track automatically or what can't?
Comment 11 Rahul Sundaram 2009-08-30 10:33:13 EDT
As explained in the guidelines, dependencies on libraries can in the general case be tracked by RPM itself directly. You can drop all of them.  Look at the content inside ls /usr/lib/rpm/redhat/find-provides* if you want the specific details.
Comment 12 Heyde Moura 2009-08-30 17:06:25 EDT
SPEC url: http://heydemoura.fedorapeople.org/pkgs/notify-osd/notify-osd.spec
SRPM url: http://heydemoura.fedorapeople.org/pkgs/notify-osd/notify-osd-0.9.19-1.fc11.src.rpm

I've followed your instructions and i removed the libs from .spec requirements,
remove the line that delete the buildroot from %install.
But i don't know how i can install this package without the --force option in rpm command line and you're right the conflicts flag that points to notification-daemon have to disappear in the .spec file, how i can resolve the conflicts between the packages?
Comment 13 Heyde Moura 2009-08-30 18:41:30 EDT
SPEC url: http://heydemoura.fedorapeople.org/pkgs/notify-osd/notify-osd.spec
SRPM url: http://heydemoura.fedorapeople.org/pkgs/notify-osd/notify-osd-0.9.18-1.fc11.src.rpm

Downgraded to version 0.9.18 because in the newer version the notify bubbles are on the middle of the screen and this is motive of various reclamations from notify-osd fans, and is a completely not convenient to the end-user to get notify bubbles at the middle of your screen.

The comment #12 applies here.
Comment 14 Rahul Sundaram 2009-08-31 04:56:07 EDT
When you submit a revised spec, make sure you bump up the release and add a changelog entry explaining the change briefly.  You don't need to define the buildroot anymore. So you can drop, 

"BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)"

Fix the typo in

"Initial Pakcage"

rpmlint shows the changelog as incoherent. Fix that as well.  Instead of using conflicts, the right answer would be to get the packages that directly depend on notification-daemon to use the virtual provides called desktop-notification-daemon instead (a file based dependency can also work but I wouldnt suggest that). You have to file a RFE against them

# repoquery --whatrequires --all  notification-daemon

blueman-0:1.10-4.fc12.i686
notification-daemon-engine-nodoka-0:0.1.0-10.fc12.i686

---
Comment 15 Heyde Moura 2009-08-31 10:21:18 EDT
Another way to resolve the conflicts that i think is to use alternatives to let the user switch between the notification-daemon and notify-osd, chnaging only the file /usr/share/dbus-1/services/org.freedesktop.Notifications.service .

This way the packages that depends on notification-daemon don't need to be rebuild.

But how i can get this feature into the RPM package, any suggestion?
Comment 16 Rahul Sundaram 2009-08-31 11:41:53 EDT
Alternatives is used in GCJ. Spec file is at 

http://cvs.fedoraproject.org/viewvc/rpms/java-1.5.0-gcj/devel/java-1.5.0-gcj.spec?view=markup
Comment 17 Christoph Wickert 2009-09-02 18:38:59 EDT
(In reply to comment #15)
> Another way to resolve the conflicts that i think is to use alternatives to let
> the user switch between the notification-daemon and notify-osd, chnaging only
> the file /usr/share/dbus-1/services/org.freedesktop.Notifications.service .

I don't think alternatives will help here. We need to find a solution for bug # 484945
Comment 18 Michel Alexandre Salim 2009-09-15 01:47:53 EDT
Martin, just to check, you're not a sponsor either? I'll take a look at the discussion later -- getting late here -- but if no one is sponsoring this yet, I can do that pending a complete review.
Comment 19 Martin Gieseking 2009-09-15 02:05:14 EDT
(In reply to comment #18)
> Martin, just to check, you're not a sponsor either?
Right, I'm not a sponsor. So feel free to do the full review. :)
Comment 20 Jason Tibbitts 2010-01-27 12:36:18 EST
*** Bug 559304 has been marked as a duplicate of this bug. ***
Comment 21 Gareth John 2010-04-30 03:22:30 EDT
Firstly just to ping as no movement here.
Secondly I have a spec for notify-osd i will link later on for your benefit Hayde
Thirdly (In reply to comment #15)
> Another way to resolve the conflicts that i think is to use alternatives to let
> the user switch between the notification-daemon and notify-osd, chnaging only
> the file /usr/share/dbus-1/services/org.freedesktop.Notifications.service .
> 
> This way the packages that depends on notification-daemon don't need to be
> rebuild.
> 
> But how i can get this feature into the RPM package, any suggestion?    

You can put the relevant command in the spec to change the files contents on install and uninstall will post more tonight.
Comment 22 Christoph Wickert 2010-04-30 04:10:26 EDT
(In reply to comment #21)
> You can put the relevant command in the spec to change the files contents on
> install and uninstall will post more tonight.    

This means that this package would have to rename /usr/share/dbus-1/services/org.freedesktop.Notifications.service which will break the notification deamon package. This is a no-go for any Fedora package.

We first need to file a bug to rename /usr/share/dbus-1/services/org.freedesktop.Notifications.service to something like /usr/share/dbus-1/services/org.Gnome.Notifications.service to get rid of the file conflict. Then we need to a fix for bug 484945, but I wouldn't necessarily call this a blocker.
Comment 23 Gareth John 2010-04-30 10:39:04 EDT
(In reply to comment #22)
> (In reply to comment #21)
> > You can put the relevant command in the spec to change the files contents on
> > install and uninstall will post more tonight.    
> 
> This means that this package would have to rename
> /usr/share/dbus-1/services/org.freedesktop.Notifications.service which will
> break the notification deamon package. This is a no-go for any Fedora package.
> 
> We first need to file a bug to rename
> /usr/share/dbus-1/services/org.freedesktop.Notifications.service to something
> like /usr/share/dbus-1/services/org.Gnome.Notifications.service to get rid of
> the file conflict. Then we need to a fix for bug 484945, but I wouldn't
> necessarily call this a blocker.    

I would just use sed to do the following (i guess it's breaking rules as notify-osd does not own the file but surely there's an exception, if not I'll have to side with you :D.

* $  su -c "gedit /usr/share/dbus-1/service/org.freedesktop.Notifications.service"
* Change the third line to Exec=/usr/libexec/notify-osd
Comment 24 Gareth John 2010-04-30 16:29:36 EDT
http://gljohn.fedorapeople.org/notify-osd/notify-osd.spec

Here you go!
Comment 25 Christoph Wickert 2010-04-30 19:29:36 EDT
(In reply to comment #23)
> I would just use sed to do the following (i guess it's breaking rules as
> notify-osd does not own the file but surely there's an exception, if not I'll
> have to side with you :D.

Unfortunately there is no exception as it will break rpm -V. We have 3 different notification daemon implementations in Fedora ATM, 4 with notify-osd. Imagine every program would try to sed org.freedesktop.Notifications.service... I think the file will be messed up pretty soon.

We should have different files for each daemon
org.gnome.Notifications.service
org.gnome.notify-osd.service
org.kde.knotify.service
org.xfce.Notifications.service
Comment 26 Gareth John 2010-05-06 06:51:32 EDT
ping Heyde??

Cwickert, do you know the rules on hijacking someone else's review request?
Comment 27 Christoph Wickert 2010-05-06 08:05:27 EDT
Don't hijack it but open a new one instead. Then close this one a duplicate of your request.

Details: https://fedoraproject.org/wiki/Policy_for_stalled_package_review
Comment 28 Chen Lei 2010-05-28 04:03:54 EDT
Someone who want to package notify-osd may be interested in the Ayatana project
from ubuntu. 
See https://launchpad.net/ayatana
Comment 29 Jason Tibbitts 2010-11-03 11:48:06 EDT
No response from the submitter in quite some time, despite pings.  I'm closing this.

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