[mozilla-firetray/f14/master] Spec cleanup + Add workaround for rhbz #646523

Hicham HAOUARI hicham at fedoraproject.org
Thu Oct 28 10:39:03 UTC 2010


commit d3a5cd5ab809c15d362e42d6ff7ffbcb219a0e85
Author: Hicham HAOUARI <hicham.haouari at gmail.com>
Date:   Thu Oct 28 10:38:45 2010 +0000

    Spec cleanup + Add workaround for rhbz #646523

 mozilla-firetray.spec |  116 +++++++++++--------------------------------------
 1 files changed, 26 insertions(+), 90 deletions(-)
---
diff --git a/mozilla-firetray.spec b/mozilla-firetray.spec
index 0ed549a..a34390c 100644
--- a/mozilla-firetray.spec
+++ b/mozilla-firetray.spec
@@ -99,7 +99,7 @@ to use the Firetray extension.
 %package firefox
 Summary:        System tray extension for firefox
 Requires:       firefox 
-Requires:       %{name}-core = %{version}
+Requires:       %{name}-core = %{version}-%{release}
 
 %description firefox
 Firetray is a system tray addon for firefox, current features are :
@@ -115,7 +115,7 @@ Firetray is a system tray addon for firefox, current features are :
 %package thunderbird
 Summary:        System tray extension for thunderbird
 Requires:       thunderbird 
-Requires:       %{name}-core = %{version}
+Requires:       %{name}-core = %{version}-%{release}
 
 %description thunderbird
 Firetray is a system tray addon for thunderbird, current features are :
@@ -129,11 +129,10 @@ Firetray is a system tray addon for thunderbird, current features are :
 - Hotkey for Hide/Unhide
 - Handle mouse scrolls on tray icon
 
-%if %{fedora} >= 12
 %package seamonkey
 Summary:        System tray extension for seamonkey
 Requires:       seamonkey 
-Requires:       %{name}-core = %{version}
+Requires:       %{name}-core = %{version}-%{release}
 
 %description seamonkey
 Firetray is a system tray addon for seamonkey, current features are :
@@ -146,13 +145,11 @@ Firetray is a system tray addon for seamonkey, current features are :
 - Custom tray icon
 - Hotkey for Hide/Unhide
 - Handle mouse scrolls on tray icon
-%endif
-
 
 %package sunbird
 Summary:        System tray extension for sunbird
 Requires:       sunbird 
-Requires:       %{name}-core = %{version}
+Requires:       %{name}-core = %{version}-%{release}
 
 %description sunbird
 Firetray is a system tray addon for sunbird, current features are :
@@ -168,7 +165,7 @@ Firetray is a system tray addon for sunbird, current features are :
 %package chatzilla
 Summary:        System tray extension for chatzilla
 Requires:       chatzilla
-Requires:       %{name}-core = %{version}
+Requires:       %{name}-core = %{version}-%{release}
 
 %description chatzilla
 Firetray is a system tray addon for chatzilla, current features are :
@@ -211,11 +208,10 @@ scons %{upname}.xpi
 %install
 rm -rf $RPM_BUILD_ROOT
 
-mkdir -p $RPM_BUILD_ROOT%{mz_ext_dir}{%{ff_guid}/%{ft_guid},%{tb_guid}/%{ft_guid},%{sb_guid}/%{ft_guid},%{cz_guid}/%{ft_guid},%{ib_guid}/%{ft_guid}}
+mkdir -p $RPM_BUILD_ROOT%{mz_ext_dir}{%{ff_guid},%{tb_guid},%{sm_guid},%{sb_guid},%{cz_guid}}/%{ft_guid}/components
 mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}
 
 unzip %{upname}.xpi -d $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}
-chmod +x $RPM_BUILD_ROOT%{_libdir}/%{name}-%{version}/components/libnptray.so
 
 # rename changes file to ChangeLog
 mv changes ChangeLog
@@ -227,81 +223,16 @@ ln -s %{_datadir}/doc/%{name}-core-%{version}/ChangeLog symdoc/ChangeLog
 
 #now symlink the products extension's directories to the core extension directory
 
-# firefox
-pushd $RPM_BUILD_ROOT%{mz_ext_dir}%{ff_guid}/%{ft_guid}
-    #more symlink vodoo for firefox since it crashes after the first start when using a whole symlinked extension directory
-    ln -s ../../../../%{name}-%{version}/install.rdf install.rdf
-    ln -s ../../../../%{name}-%{version}/chrome.manifest chrome.manifest
-    ln -s ../../../../%{name}-%{version}/chrome chrome
-    ln -s ../../../../%{name}-%{version}/defaults defaults
-
-    mkdir components
-    cd components
-        ln -s ../../../../../%{name}-%{version}/components/nsMinimize.js nsMinimize.js
-        ln -s ../../../../../%{name}-%{version}/components/nsITray.xpt nsITray.xpt
-        ln -s ../../../../../%{name}-%{version}/components/nsIMinimize.xpt nsIMinimize.xpt
-        ln -s ../../../../../%{name}-%{version}/components/libnptray.so libnptray.so
-    cd ..
-popd
-
-# thunderbird
-#more symlink vodoo for thunderbird since it crashes after the first start when using a whole symlinked extension directory
-pushd $RPM_BUILD_ROOT%{mz_ext_dir}%{tb_guid}/%{ft_guid}
-    ln -s ../../../../%{name}-%{version}/install.rdf install.rdf
-    ln -s ../../../../%{name}-%{version}/chrome.manifest chrome.manifest
-    ln -s ../../../../%{name}-%{version}/chrome chrome
-    ln -s ../../../../%{name}-%{version}/defaults defaults
-
-    mkdir components
-    cd components
-        ln -s ../../../../../%{name}-%{version}/components/nsMinimize.js nsMinimize.js
-        ln -s ../../../../../%{name}-%{version}/components/nsITray.xpt nsITray.xpt
-        ln -s ../../../../../%{name}-%{version}/components/nsIMinimize.xpt nsIMinimize.xpt
-        ln -s ../../../../../%{name}-%{version}/components/libnptray.so libnptray.so
-    cd ..
-popd
-
-%if %{fedora} >= 12
-#seamonkey
-mkdir -p $RPM_BUILD_ROOT%{mz_ext_dir}%{sm_guid}
-pushd $RPM_BUILD_ROOT%{mz_ext_dir}%{sm_guid}
-    ln -s %{_libdir}/%{name}-%{version} %{ft_guid}
-popd
-%endif
-
-#sunbird
-#more symlink vodoo for sunbird since it crashes after the first start when using a whole symlinked extension directory
-pushd $RPM_BUILD_ROOT%{mz_ext_dir}%{sb_guid}/%{ft_guid}
-    ln -s ../../../../%{name}-%{version}/install.rdf install.rdf
-    ln -s ../../../../%{name}-%{version}/chrome.manifest chrome.manifest
-    ln -s ../../../../%{name}-%{version}/chrome chrome
-    ln -s ../../../../%{name}-%{version}/defaults defaults
-
-    mkdir components
-    cd components
-        ln -s ../../../../../%{name}-%{version}/components/nsMinimize.js nsMinimize.js
-        ln -s ../../../../../%{name}-%{version}/components/nsITray.xpt nsITray.xpt
-        ln -s ../../../../../%{name}-%{version}/components/nsIMinimize.xpt nsIMinimize.xpt
-        ln -s ../../../../../%{name}-%{version}/components/libnptray.so libnptray.so
-    cd ..
-popd
-
-# chatzilla
-pushd $RPM_BUILD_ROOT%{mz_ext_dir}%{cz_guid}/%{ft_guid}
-    #more symlink vodoo for chatzilla also since it crashes after the first start when using a whole symlinked extension directory
-    ln -s ../../../../%{name}-%{version}/install.rdf install.rdf
-    ln -s ../../../../%{name}-%{version}/chrome.manifest chrome.manifest
-    ln -s ../../../../%{name}-%{version}/chrome chrome
-    ln -s ../../../../%{name}-%{version}/defaults defaults
-
-    mkdir components
-    cd components
-        ln -s ../../../../../%{name}-%{version}/components/nsMinimize.js nsMinimize.js
-        ln -s ../../../../../%{name}-%{version}/components/nsITray.xpt nsITray.xpt
-        ln -s ../../../../../%{name}-%{version}/components/nsIMinimize.xpt nsIMinimize.xpt
-        ln -s ../../../../../%{name}-%{version}/components/libnptray.so libnptray.so
-    cd ..
-popd
+for i in {%{ff_guid},%{tb_guid},%{sm_guid},%{sb_guid},%{cz_guid}};do
+  pushd $RPM_BUILD_ROOT%{mz_ext_dir}$i/%{ft_guid}
+    for j in {install.rdf,chrome.manifest,chrome,defaults};do
+      ln -s %{_libdir}/%{name}-%{version}/$j $j
+    done
+    for j in components/{nsMinimize.js,nsITray.xpt,nsIMinimize.xpt,libnptray.so};do
+      ln -s %{_libdir}/%{name}-%{version}/$j $j
+    done
+  popd
+done
 
 # Install the newmail icon
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
@@ -310,6 +241,14 @@ install -Dpm 644 newmail.xpm $RPM_BUILD_ROOT%{_datadir}/%{name}
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+# workaround for rhbz #646523
+%pretrans sunbird -p <lua>
+st=posix.stat("%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
+if st and st.type == "link" then
+  os.remove("%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
+  posix.mkdir("%{mz_ext_dir}%{sb_guid}/%{ft_guid}")
+end
+
 %files core
 %defattr(-,root,root,-)
 %doc symdoc/COPYING ChangeLog
@@ -326,12 +265,10 @@ rm -rf $RPM_BUILD_ROOT
 %doc symdoc/COPYING symdoc/ChangeLog
 %{mz_ext_dir}%{tb_guid}/%{ft_guid}
 
-%if %{fedora} >= 12
 %files seamonkey
 %defattr(-,root,root,-)
 %doc symdoc/COPYING symdoc/ChangeLog
 %{mz_ext_dir}%{sm_guid}/%{ft_guid}
-%endif
 
 %files sunbird
 %defattr(-,root,root,-)
@@ -348,9 +285,8 @@ rm -rf $RPM_BUILD_ROOT
 * Sun Oct 24 2010 Hicham HAOUARI <hicham.haouari at gmail.com> - 0.2.8-3
 - Symlink the extension's directory for sunbird the same way of the
   other applications using gecko >= 1.9.2, fixes rhbz #646185
-- Change symlinking for all applications to use relative symlinks targets
-  instead of absolute ones ( fixes a weird conflict issue between -core
-  and the other packages ).  
+- Add workaround for rhbz #646523
+- Spec cleanup
 
 * Wed Sep 29 2010 jkeating - 0.2.8-2.1
 - Rebuilt for gcc bug 634757


More information about the scm-commits mailing list