GNOME as the default desktop (was Re: Fedora Board Meeting Minutes - 2010-12-06)

Bill Nottingham notting at redhat.com
Wed Dec 15 22:31:51 UTC 2010


Christoph Wickert (christoph.wickert at googlemail.com) said: 
> Am Mittwoch, den 15.12.2010, 16:13 -0500 schrieb Bill Nottingham:
> > Christoph Wickert (christoph.wickert at googlemail.com) said: 
> > >       * Removal of the notification area which and the resulting API
> > >         changes in libnotify 0.7.0 breaks all other desktop bug
> > >         gnome-shell.
> > 
> > You could certainly package libnotify06 if you really want; it shouldn't
> > be that complicated.
> 
> I could have done that if I had the time to do it and if the libnotify
> maintainer *properly* announced that change in advance.

It was announced beforehand, with roughly the same delay that most other
announcements are done, with examples of the API changes, pointers to
example patches, and test patches.

And as for time to do it...

Script started on Wed 15 Dec 2010 05:06:39 PM EST
[notting at nostromo: ~/prog/rpms]$ fedpkg clone libnotify
Cloning into libnotify...
remote: Counting objects: 307, done.
remote: Compressing objects:   0% (1/177)

... assorted stuff happens, including me doing it wrong once ...

[notting at nostromo: ~/prog/rpms/libnotify]$ fedpkg local
...
Wrote: /usr/local/prog/rpms/libnotify/libnotify06-0.6.0-2.fc15.src.rpm
Wrote: /usr/local/prog/rpms/libnotify/x86_64/libnotify06-0.6.0-2.fc15.x86_64.rpm
Wrote: /usr/local/prog/rpms/libnotify/x86_64/libnotify06-devel-0.6.0-2.fc15.x86_64.rpm
Wrote: /usr/local/prog/rpms/libnotify/x86_64/libnotify06-debuginfo-0.6.0-2.fc15.x86_64.rpm
...
[root at nostromo x86_64]# rpm -Uvh libnotify06-*
Preparing... ########################################### [100%]
   1:libnotify06           ########################################### [ 33%]
   2:libnotify06-devel     ########################################### [ 67%]
   3:libnotify06-debuginfo ########################################### [100%]

[notting at nostromo: ~/prog/rpms/libnotify]$ git diff -u
diff --git a/libnotify.spec b/libnotify.spec
index ddc2ad9..7000fc0 100644
--- a/libnotify.spec
+++ b/libnotify.spec
@@ -6,11 +6,11 @@
 %define dbus_glib_version      0.70
 
 Summary: Desktop notification library
-Name: libnotify
+Name: libnotify06
 Version: 0.6.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 URL: http://www.galago-project.org/specs/notification/
-Source0: http://www.galago-project.org/files/releases/source/%{name}/%{name}-%{version}.tar.bz2
+Source0: http://www.galago-project.org/files/releases/source/%{name}/libnotify-%{version}.tar.bz2
 License: LGPLv2+
 Group: System Environment/Libraries
 BuildRequires: libtool
@@ -21,6 +21,7 @@ BuildRequires: gtk2-devel >= %{gtk2_version}
 BuildRequires: gtk3-devel
 Requires: glib2 >= %{glib2_version}
 Requires: desktop-notification-daemon
+Patch: libnotify-pkgconfig.patch
 
 %description
 libnotify is a library for sending desktop notifications to a notification
@@ -43,7 +44,8 @@ This package contains libraries and header files needed for
 development of programs using %{name}.
 
 %prep
-%setup -q
+%setup -q -n libnotify-%{version}
+%patch -p1
 
 %build
 %configure
@@ -55,6 +57,15 @@ make install DESTDIR=$RPM_BUILD_ROOT
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
 
+# This will be in the main libnotify package.
+rm -f $RPM_BUILD_ROOT%{_bindir}/notify-send
+rm -rf $RPM_BUILD_ROOT%{_datadir}/gtk-doc
+
+mv $RPM_BUILD_ROOT%{_libdir}/libnotify.so $RPM_BUILD_ROOT%{_libdir}/libnotify-0.6.so
+mkdir -p $RPM_BUILD_ROOT%{_includedir}/libnotify-0.6/include
+mv $RPM_BUILD_ROOT%{_includedir}/libnotify $RPM_BUILD_ROOT%{_includedir}/libnotify-0.6/include/
+mv $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libnotify.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libnotify-0.6.pc
+
 %post -p /sbin/ldconfig
 
 %postun -p /sbin/ldconfig
@@ -62,20 +73,18 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
 %files
 %defattr(-,root,root)
 %doc COPYING NEWS AUTHORS
-
-%{_bindir}/notify-send
 %{_libdir}/libnotify.so.*
 
 %files devel
 %defattr(-,root,root)
-%dir %{_includedir}/libnotify
-%{_includedir}/libnotify/*
-%{_libdir}/libnotify.so
-%{_libdir}/pkgconfig/libnotify.pc
-%dir %{_datadir}/gtk-doc/html/libnotify
-%{_datadir}/gtk-doc/html/libnotify/*
+%{_includedir}/libnotify-0.6
+%{_libdir}/libnotify-0.6.so
+%{_libdir}/pkgconfig/libnotify-0.6.pc
 
 %changelog
+* Wed Dec 14 2010 Bill Nottingham <notting at redhat.com> - 0.6.0-2
+- Create a separate libnotify06 package
+
 * Mon Oct  4 2010 Matthias Clasen <mclasen at redhat.com> - 0.6.0-1
 - Update to 0.6.0
 
[notting at nostromo: ~/prog/rpms/libnotify]$ exit

Script done on Wed 15 Dec 2010 05:18:57 PM EST

http://notting.fedorapeople.org/libnotify06-0.6.0-2.fc15.src.rpm

> Even if I did I
> doubt it would be possible to build against libnotify06 because
> libnotify will be pulled in by the massive dependency chain, will be
> found first and likely make builds fail.

You'd have to require the right version, and possibly patch a few
configure scripts. Again, not hard, and sort of part and parcel of staying
on non-default versions of libraries.

Bill


More information about the advisory-board mailing list