rpms/sunbird/EL-5 sunbird-0.9-libical.patch, NONE, 1.1 find-external-requires, 1.2, 1.3 sources, 1.3, 1.4 sunbird.spec, 1.5, 1.6 sunbird-0.3.1-link-layout.patch, 1.1, NONE

Lubomir Rintel lkundrak at fedoraproject.org
Mon Oct 27 09:37:54 UTC 2008


Author: lkundrak

Update of /cvs/pkgs/rpms/sunbird/EL-5
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25247

Modified Files:
	find-external-requires sources sunbird.spec 
Added Files:
	sunbird-0.9-libical.patch 
Removed Files:
	sunbird-0.3.1-link-layout.patch 
Log Message:
Merge from devel

sunbird-0.9-libical.patch:

--- NEW FILE sunbird-0.9-libical.patch ---
Link against system libical instead of bundled.
https://bugzilla.redhat.com/show_bug.cgi?id=459923

Lubomir Rintel <lkundrak at v3.sk>

--- mozilla/calendar/base/src/calDateTime.cpp.libical	2008-09-23 17:12:32.000000000 +0200
+++ mozilla/calendar/base/src/calDateTime.cpp	2008-09-23 17:10:35.000000000 +0200
@@ -592,7 +592,7 @@
     }
 
     if (mIsDate || otherIsDate) {
-        *aResult = icaltime_compare_date_only(a, b, cal::getIcalTimezone(mTimezone));
+        *aResult = icaltime_compare_date_only_tz(a, b, cal::getIcalTimezone(mTimezone));
     } else {
         *aResult = icaltime_compare(a, b);
     }
--- mozilla/calendar/base/build/Makefile.in.libical	2007-12-27 11:01:41.000000000 +0100
+++ mozilla/calendar/base/build/Makefile.in	2008-09-23 16:02:42.000000000 +0200
@@ -63,7 +63,6 @@
 	js \
 	xpconnect \
 	string \
-	ical \
 	calbase
 
 CPPSRCS = calBaseModule.cpp \
@@ -74,7 +73,6 @@
 
 SHARED_LIBRARY_LIBS = \
     $(DEPTH)/calendar/base/src/$(LIB_PREFIX)calbase_s.$(LIB_SUFFIX) \
-    $(DEPTH)/calendar/libical/src/libical/$(LIB_PREFIX)mozical.$(LIB_SUFFIX) \
     $(NULL)
 
 ifdef MOZILLA_INTERNAL_API
@@ -94,4 +92,7 @@
 	$(NULL)
 endif
 
+# External libical
+EXTRA_DSO_LDOPTS += -lical
+
 include $(topsrcdir)/config/rules.mk
--- mozilla/calendar/Makefile.in.libical	2008-09-23 17:13:34.000000000 +0200
+++ mozilla/calendar/Makefile.in	2008-09-23 17:07:30.000000000 +0200
@@ -42,7 +42,7 @@
 include $(DEPTH)/config/autoconf.mk
 
 MODULE	= calendar
-DIRS = libical resources base providers import-export locales
+DIRS = resources base providers import-export locales
 
 ifdef ENABLE_TESTS
 DIRS += test
--- mozilla/calendar/lightning/Makefile.in.libical	2008-07-24 03:07:05.000000000 +0200
+++ mozilla/calendar/lightning/Makefile.in	2008-09-23 16:02:42.000000000 +0200
@@ -71,7 +71,7 @@
 endif
 endif
 
-DIRS = ../libical \
+DIRS = \
        ../locales \
        ../base \
        ../providers \
--- /dev/null	2008-09-23 20:44:22.879046487 +0200
+++ mozilla/calendar/base/src/ical.h	2008-09-24 11:28:09.000000000 +0200
@@ -0,0 +1,3 @@
+#pragma GCC visibility push(default)
+#include <libical/ical.h>
+#pragma GCC visibility pop


Index: find-external-requires
===================================================================
RCS file: /cvs/pkgs/rpms/sunbird/EL-5/find-external-requires,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- find-external-requires	11 Apr 2008 11:11:28 -0000	1.2
+++ find-external-requires	27 Oct 2008 09:37:23 -0000	1.3
@@ -1,49 +1,23 @@
 #!/bin/sh
+# Strips requirements that are against the package itself, since we
+# do not autoprovide them (for that we don't override gecko-devel's provides)
 
-# Finds requirements provided outside of the current file set
+# Lubomir Rintel <lkundrak at v3.sk>
 
-FIND_PROVIDES=$(rpm --eval %__find_provides)
+# This should be called with the real build root as argument, so that
+# we will be able to strip dependencies of lightning on what would be
+# provided by sunbird.
 
-# FIXME: for some reason objdump -p doesn't include libxul,
-# thus using the traditional ldd way to craft dependencies
-#FIND_REQUIRES="$(rpm --eval %__find_requires) ldd"
+FIND_PROVIDES="$(rpm --eval %__find_provides)"
 FIND_REQUIRES="$(rpm --eval %__find_requires)"
+RPM_BUILD_ROOT="$1"
 
-filelist=$(sed "s/[]['\"*?{}]/\\\\\&/g")
-provides=$(echo $filelist | $FIND_PROVIDES)
-
-{
-for f in $filelist ; do
-	echo $f | $FIND_REQUIRES | while read req ; do
-		found=0
-
-		# XXX: If a lightning file has a dependency
-		# on some thunderbird file... how to do this
-		# correctly?
-		echo $f | grep -q thunderbird-lightning &&
-			echo $req | egrep -q "($(echo	\
-				libgfxpsshar.so		\
-				libgkgfx.so		\
-				libgtkembedmoz.so	\
-				libgtkxtbin.so		\
-				libldap50.so		\
-				libmozjs.so		\
-				libprldap50.so		\
-				libxpcom.so		\
-				libxpcom_compat.so	\
-				libxpcom_core.so	\
-				libxpistub.so		|
-				sed 's/ /|/g'))" &&
-				found=1
-
-		for p in $provides ; do
-			if [ "$req" = "$p" ]; then
-				found=1
-			fi
-		done
-		if [ "$found" = "0" ]; then
-			echo $req
-		fi
-	done
-done
-} | sort -u
+(
+	# Assume all ur subpackages require everything that all our
+	# subpackages  provide (actually it's not true,
+	# this is just to prevent depending on it), thus print twice
+	find $RPM_BUILD_ROOT |$FIND_PROVIDES |awk '{print; print}'
+	# Add this subpackage's requires
+	$FIND_REQUIRES
+# What wasn't mentioned twice is an external dependency
+) |sort |uniq -u


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/sunbird/EL-5/sources,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- sources	11 Apr 2008 11:11:28 -0000	1.3
+++ sources	27 Oct 2008 09:37:23 -0000	1.4
@@ -1,2 +1,3 @@
-b432234e9a2b04710543df72ed88e383  lightning-sunbird-0.8-source.tar.bz2
-979b858b93225c30f3960c88222ad205  sunbird-langpacks-0.8.tar.gz
+8086ee725f2d3eca17c375a3812c3618  lightning-0.9.linux-i686.xpi
+adcef4eab2cbc14c1534ab80cb684273  sunbird-langpacks-0.9.tar.gz
+ff4ae1e9c1071d8d478504d95d7dabee  lightning-sunbird-0.9-source.tar.bz2


Index: sunbird.spec
===================================================================
RCS file: /cvs/pkgs/rpms/sunbird/EL-5/sunbird.spec,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- sunbird.spec	11 Apr 2008 12:02:24 -0000	1.5
+++ sunbird.spec	27 Oct 2008 09:37:23 -0000	1.6
@@ -1,13 +1,14 @@
-# Use rpmbuild --with xulrunner to enable building against xulrunner
-%define with_xulrunner %{!?_with_xulrunner:0}%{?_with_xulrunner:1}
-
 %define progdir %{_prefix}/%{_lib}/%{name}-%{version}
 %define docs LEGAL LICENSE README.txt
 %{?_with_official:%define official 1}
 
+# This is to filter unwanted provides, that should be provided only by gecko-devel
+%define _use_internal_dependency_generator 0
+%define __find_requires %{SOURCE100} %{buildroot}
+
 Name:           sunbird
-Version:        0.8
-Release:        3%{?dist}.2
+Version:        0.9
+Release:        3%{?dist}
 Summary:        Mozilla Sunbird Calendar
 
 Group:          Applications/Productivity
@@ -15,17 +16,20 @@
 URL:            http://www.mozilla.org/projects/calendar/sunbird/
 Source0:        http://releases.mozilla.org/pub/mozilla.org/calendar/sunbird/releases/%{version}/source/lightning-sunbird-%{version}-source.tar.bz2
 Source1:        sunbird.desktop
-Source2:        sunbird-langpacks-0.8.tar.gz
+Source2:        sunbird-langpacks-%{version}.tar.gz
 Source3:        mozilla-extension-update.sh
+# This is used just for langpacks.
+# TODO: build them!
+Source4:        http://releases.mozilla.org/pub/mozilla.org/calendar/lightning/releases/%{version}/lightning-%{version}.linux-i686.xpi
 Source100:      find-external-requires
+Patch0:         sunbird-0.9-libical.patch
 
-Patch1:         sunbird-0.3.1-link-layout.patch
+# build patches
 Patch2:         sunbird-0.7-path.patch
 Patch3:         sunbird-0.7-uilocale.patch
    
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
-BuildRequires:  zip unzip
 BuildRequires:  libIDL-devel
 BuildRequires:  desktop-file-utils
 BuildRequires:  libgnomeui-devel
@@ -34,15 +38,15 @@
 BuildRequires:  freetype-devel >= 2.1.9
 BuildRequires:  libXt-devel
 BuildRequires:  desktop-file-utils
-%if %{with_xulrunner}
-BuildRequires:  xulrunner-devel
-%endif
+BuildRequires:  nss-devel
+BuildRequires:  nspr-devel
+BuildRequires:  libical-devel
+BuildRequires:  zip
 
-Requires(pre):  desktop-file-utils
+Requires(post):  desktop-file-utils
+Requires(postun):  desktop-file-utils
 
 AutoProv: 0
-%define _use_internal_dependency_generator 0
-%define __find_requires %{SOURCE100}
 
 %description
 Mozilla Sunbirdâ„¢ is a cross-platform calendar application, built upon
@@ -52,9 +56,10 @@
 %package -n thunderbird-lightning
 Summary:        The calendar extension to Thunderbird
 Group:          Applications/Productivity
-Requires:       thunderbird
+Requires:       thunderbird >= 2
 Obsoletes:      thunderbird-lightning-wcap <= 0.8
 Provides:       thunderbird-lightning-wcap = %{version}-%{release}
+AutoProv: 0
 
 %description -n thunderbird-lightning
 Lightning brings the Sunbird calendar to the popular email client,
@@ -76,7 +81,7 @@
 
 %prep
 %setup -q -n mozilla
-%patch1 -p1 -b .link-layout
+%patch0 -p1 -b .libical
 %patch2 -p1 -b .path
 %patch3 -p1 -b .uilocale
 # Fix source perms to avoid errors in the debuginfo RPM (bug 357661)
@@ -96,6 +101,7 @@
 mk_add_options BUILD_OFFICIAL=1
 ac_add_options --enable-official-branding
 %endif
+mk_add_options MOZ_MAKE_FLAGS=%{?_smp_mflags}
 ac_add_options --enable-application=calendar
 ac_add_options --prefix=%{_prefix}
 ac_add_options --libdir=%{_libdir}
@@ -121,11 +127,8 @@
 ac_add_options --enable-extensions=default,lightning
 ac_add_options --disable-updater
 ac_add_options --disable-crashreporter
-%if %{with_xulrunner}
-ac_add_options --with-libxul-sdk="$(pkg-config --variable=sdkdir libxul)"
-%endif
 EOF
-make -f client.mk build
+make -f client.mk MOZ_CAIRO_LIBS='-lcairo -lX11 -lXrender' build
 # make package directory
 make -C xpinstall/packager STRIP=/bin/true
 
@@ -141,11 +144,13 @@
 rm -rf $RPM_BUILD_ROOT
 # The make install does not work (it tries to build additional stuff that break)
 #make install DESTDIR=$RPM_BUILD_ROOT
+# TODO: Is the above still true? Recheck!
+
 # copy tree into RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT%{progdir}
 cp -rf $RPM_BUILD_DIR/mozilla/dist/%{name}/* $RPM_BUILD_ROOT%{progdir}
 mkdir $RPM_BUILD_ROOT%{_bindir}
-ln -sf ../..%{progdir}/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
+mv $RPM_BUILD_ROOT%{progdir}/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
 
 
 desktop-file-install --vendor="fedora"                  \
@@ -163,7 +168,7 @@
 
 # Icon
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps
-ln -s %{progdir}/icons/mozicon128.png \
+cp $RPM_BUILD_ROOT%{progdir}/icons/mozicon128.png \
   $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
 
 # Docs in %%doc
@@ -180,7 +185,7 @@
   language=$(basename $langpack .xpi)
   extensiondir=$RPM_BUILD_ROOT%{progdir}/extensions/langpack-$language at sunbird.mozilla.org
   mkdir -p $extensiondir
-  unzip $langpack -d $extensiondir
+  unzip -qod $extensiondir $langpack
   find $extensiondir -type f -print0 |xargs -0 chmod 644
   # Fix #441500
   sed 's/\r//g' $extensiondir/install.rdf |awk '/^$/ {next} {print}' >lala
@@ -188,12 +193,22 @@
 done
 
 # Lightning
-unzip -d $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning dist/xpi-stage/lightning.xpi
+unzip -qod $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning dist/xpi-stage/lightning.xpi
 install -p -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning/mozilla-extension-update.sh
 # Fix some permissions
 chmod -x $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning/js/calAlarmMonitor.js \
   $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning/js/calFreeBusyService.js
 
+# Unpack lightning language packs, except en_US
+unzip -l %{SOURCE4} '*.jar'                                     |
+  awk '/-[^\/]*\.jar/ && !/en-US/ {print $4}'                   |
+  xargs unzip -qod $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning %{SOURCE4}
+# Register them
+ls $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning/chrome       |
+  sed -n '/en-US/n;s/\(\([^-]*\)-\(.*\)\.jar\)/locale \2 \3 jar:chrome\/\1!\/locale\/\3\/\2\//p' \
+  >> $RPM_BUILD_ROOT%{_libdir}/thunderbird-lightning/chrome.manifest
+# ^^^ I'm going to burn in hell for this ^^^
+
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -262,12 +277,34 @@
 
 
 %changelog
-* Fri Apr 11 2008 Lubomir Kundrak <lkundrak at redhat.com> 0.8-3.2
-- Disable parallel make again
+* Thu Oct 2 2008 Lubomir Rintel <lkundrak at v3.sk> 0.9-3
+- Attempt to fix the libical patch's timezone problem
+
+* Wed Sep 24 2008 Lubomir Rintel <lkundrak at v3.sk> 0.9-2
+- Fix problem with symbol visibility and newer gcc I introduced with libical patch
+
+* Tue Sep 23 2008 Lubomir Rintel <lkundrak at v3.sk> 0.9-1
+- 0.9 GOLD
+- Fix use of system nss and nspr4
+- Link against system libical (#459923)
+- Add language packs for lightning (#449770)
+
+* Sun Aug 24 2008 Lubomir Rintel <lkundrak at v3.sk> 0.9-0.3.20080824cvs
+- Newer snapshot closer to RC
+- New langpacks
+- Fix install root path
+
+* Mon Aug 11 2008 Lubomir Rintel <lkundrak at v3.sk> 0.9-0.2.20080807cvs
+- Get rid of relative symlinks
+- Remove lignthing's libcalbasecomps.so provide
+- Fix dependencies of scriptlets
+
+* Sun Aug 10 2008 Lubomir Rintel <lkundrak at v3.sk> 0.9-0.1.20080807cvs
+- First attempt at 0.9, CVS snapshot close to first RC
+- Rewrite the requires generation, for it suffered bitrot
 
-* Fri Apr 11 2008 Lubomir Kundrak <lkundrak at redhat.com> 0.8-3.1
-- Linking against libxul is kind of useless for us until thunderbird uses it
-- Fix BuildRequires for RHEL
+* Mon May 19 2008 Lubomir Rintel <lkundrak at v3.sk> 0.8-4
+- Rebuild for new hunspell
 
 * Tue Apr 08 2008 Lubomir Kundrak <lkundrak at redhat.com> 0.8-3
 - Really fix lightning dependencies (#441340)


--- sunbird-0.3.1-link-layout.patch DELETED ---




More information about the scm-commits mailing list