Bug 357661 (sunbird-review)

Summary: Review Request: sunbird - Mozilla Sunbird Calendar
Product: [Fedora] Fedora Reporter: Aurelien Bompard <gauret>
Component: Package ReviewAssignee: Marek Mahut <mmahut>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: amlau, bjohnson, cheese, davidf, dtimms, fedora-package-review, felix.schwarz, jspaleta, kengert, lightsolphoenix, livinded, lkundrak, mcepl, mmahut, notting, npremji
Target Milestone: ---Flags: mmahut: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-03-25 20:17:23 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:
Attachments:
Description Flags
Fix for FORTIFY_SOURCE abort of sunbird during startup none

Description Aurelien Bompard 2007-10-30 07:26:52 UTC
Spec URL: http://gauret.free.fr/fichiers/rpms/fedora/sunbird/sunbird.spec
SRPM URL: http://gauret.free.fr/fichiers/rpms/fedora/sunbird/sunbird-0.7-3.fc7.src.rpm
Description: 
Mozilla Sunbird™ is a cross-platform calendar application, built upon
Mozilla Toolkit. Our goal is to bring Mozilla-style ease-of-use to your
calendar, without tying you to a particular storage solution.

This package also builds the Thunderbird Lightning extension, and the WCAP addition to this extension.

Packaging extensions for Mozilla products is known to be pretty tricky, so I based my work on the awsome job done by the mugshot packager :
https://www.redhat.com/archives/fedora-devel-list/2007-April/msg00859.html
I've tested many combinations, it seems to work fine.
The script I'm using is very heavily commented, and could be re-used in other extension packages if needed.

Comment 1 Aurelien Bompard 2007-10-30 07:27:56 UTC
*** Bug 249234 has been marked as a duplicate of this bug. ***

Comment 2 Jef Spaleta 2007-11-01 00:57:29 UTC
Okay Im getting a metric buttload of errors from rpmlint associated with jar
file manifests. Since this is the first time I've encountered this error message
I'm gonna have to read up on its context a bit.

example:
sunbird.i386: E: no-jar-manifest /usr/lib/sunbird-0.7/chrome/en-US.jar


Src.rpm rpmlint is just issuing warnings.
rpmlint sunbird-0.7-3.fc7.src.rpm 
sunbird.src: W: strange-permission mozilla-extension-update.sh 0755
sunbird.src: W: strange-permission get-sunbird-source.sh 0755

rpmlint on the debuginfo is pooping out lots of permission workings as well.
example:
sunbird-debuginfo.i386: W: spurious-executable-perm
/usr/src/debug/mozilla/caps/include/nsPrincipal.h

-jef


Comment 3 Aurelien Bompard 2007-11-01 10:14:34 UTC
> no-jar-manifest

Right, I have no idea where this comes from, but firefox has the same, so I'm
not too worried

> strange-permission

that's because I'm made the two scripts executable, I believe it can be ignored.
Only one of them is actually used in the package, and it's installed with
"install -m 755", so there shouldn't be any permission problem.

> debuginfo

Hmm, I have no idea how to fix debuginfo rpm problems. To me it's a black box, I
just make sure it's not empty (that would mean my binaries were stripped on
install), but that's all I know. I can't find much information in the wiki either...

Comment 4 Jef Spaleta 2007-11-01 17:21:29 UTC
Okay basic operation seems to work.. I can add my gmail ical calendar.

One thing though.. on first start up I am getting chrome error dialogs. No idea
what that is from. Can i pass some verbosity argument to sunbird cmdline to find
out?  Subsequent startups do not produce the dialog errors.

Take a look at this screencast to see the error dialogs.
http://people.fedoraproject.org/~jspaleta/reviews/sunbird/sunbird-startup.ogg

-jef

Comment 5 Jef Spaleta 2007-11-02 03:37:13 UTC
Problem...
Extension xpi's will not install as regular user until sunbird is run as root
once.  I'm not sure what's going on but I can definitely reproduce it.  That has
to be something fixable in the packaging.  This maybe the root problem
associated with the chrome error dialogs I'm seeing at first run of sunbird as a
normal user.  

Also sunbird extension tools opens firefox when looking for extensions..and then
attempts to install the extension in firefox and not sunbird..leading to failure
to install. To install extensions you have to manually download the xpi and
install from the local filesystem location.  I'm not sure this is a packaging
problem or just a general sunbird issue.

-jef


Comment 6 Aurelien Bompard 2007-11-02 08:47:09 UTC
I get the same startup errors the first time, I'm trying to find out where that
comes from. However, I was able to install the gcalendar provider as my user
without problem (https://addons.mozilla.org/en-US/sunbird/addon/4631). It does
have to be downloaded by hand and imported from the filesystem, true, but I have
no idea how to change that (IIRC it's the same with thunderbird). I tried with
another sunbird extension just to be sure, and it also installs fine, after the
error message about the failed chrome registration (which I'm looking into).

Comment 7 Aurelien Bompard 2007-11-02 13:36:58 UTC
OK, I've fixed the "Chrome Registration Failed" error (missing file). Please
have a look.

* Tue Oct 30 2007 Aurelien Bompard <abompard> 0.7-4
- rename the mozilla-lightning subpackage to thunderbird-lightning
  since it's a thunderbird extension
- create a "chrome.manifest" file to avoir "Chrome Registration Failed" message

http://gauret.free.fr/fichiers/rpms/fedora/sunbird/sunbird-0.7-4.fc7.src.rpm

Comment 8 Jef Spaleta 2007-11-02 17:55:11 UTC
one additional thought here.
The sunbird package essentially carries the full library stack. Just as firefox
and thunderbird do.  A couple of questions. 

Do you have a way to get security notices so as to get a jump of security issues
in the library stack? aka gecko-libs as firefox's virtual provides calls it.

Is sunbird ready to move over to use xulrunner when its available, to avoid
having to provide a duplicate software stack?  Once xulrunner is introduced
there is going to be a lot of pressure to have everything mozilla based use the
common library stack. And it definitely is going to make security issues less of
a hassle.

-jef



Comment 9 Aurelien Bompard 2007-11-05 20:04:46 UTC
Concerning security notices, I plan to follow sunbird's updates as closely as
possible. Usually the Mozilla Foundation updates the product's version when a
security issue is found, so I'll just update at that point.

About XulRunner, I don't know, but I think Sunbird should be able to run off it.
I didn't test it though, but I'm eager to see xulrunner deployed too. In the
meantime, I think the current sunbird package is useful as-is.

Comment 10 Jef Spaleta 2007-11-09 17:18:07 UTC
havent forgot about it.  I should be able to get through the formal items tonite
or tomorrow.

-jef

Comment 11 Bernard Johnson 2007-11-19 08:57:45 UTC
(In reply to comment #3)
> Hmm, I have no idea how to fix debuginfo rpm problems. To me it's a black box, I
> just make sure it's not empty (that would mean my binaries were stripped on
> install), but that's all I know. I can't find much information in the wiki
either...

If you haven't solved this yet... it's usually caused by the source included in
the debuginfo files having non-0644 permissions.

Try running this:

find . -type f -print | xargs chmod a-x

across the source after you unpack it.

(If you need more fine grained control because of scripts in the package, you
might have to add '-name \*\.c -o -name \*\.h' or such)



Comment 12 Matěj Cepl 2007-12-11 10:05:39 UTC
*** Bug 312901 has been marked as a duplicate of this bug. ***

Comment 13 Aurelien Bompard 2007-12-12 09:52:03 UTC
I've fixed the debuginfo problem with the suggested find. I've also switched to
the official tarball, which is now available on the FTP.

http://gauret.free.fr/fichiers/rpms/fedora/sunbird/sunbird-0.7-5.fc8.src.rpm

Comment 14 Kyrre Ness Sjøbæk 2007-12-12 16:54:50 UTC
(In reply to comment #12)
> *** Bug 312901 has been marked as a duplicate of this bug. ***

Ehh.. That bug is about a hardware problem, black screen when returning from
suspend on certain laptops... Number typo?

Comment 15 Lubomir Kundrak 2007-12-19 15:02:47 UTC
I just mock-d on fedora-8-x86_64 and:

$ sunbird 
*** buffer overflow detected ***: /usr/lib64/sunbird-0.7/sunbird-bin terminated
======= Backtrace: =========
/lib64/libc.so.6(__fortify_fail+0x32)[0x3d3a6ea362]
/lib64/libc.so.6[0x3d3a6e8a90]
/lib64/libc.so.6[0x3d3a6e90bb]
/usr/lib64/sunbird-0.7/sunbird-bin[0x4045ed]
/usr/lib64/sunbird-0.7/sunbird-bin[0x40a861]
/usr/lib64/sunbird-0.7/sunbird-bin[0x406703]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x3d3a61e074]
/usr/lib64/sunbird-0.7/sunbird-bin(__gxx_personality_v0+0x1a1)[0x403999]
======= Memory map: ========
...

Anyone else ytried that on 64bit?

Comment 16 Lubomir Kundrak 2007-12-19 20:37:29 UTC
(gdb) bt
#0  0x0000003d3a630ec5 in raise () from /lib64/libc.so.6
#1  0x0000003d3a632970 in abort () from /lib64/libc.so.6
#2  0x0000003d3a66b0db in __libc_message () from /lib64/libc.so.6
#3  0x0000003d3a6ea362 in __fortify_fail () from /lib64/libc.so.6
#4  0x0000003d3a6e8a90 in __chk_fail () from /lib64/libc.so.6
#5  0x0000003d3a6e90bb in __realpath_chk () from /lib64/libc.so.6
#6  0x00000000004045ed in XRE_GetBinaryPath (argv0=0x7169 <Address 0x7169 out of
bounds>, aResult=0x7fff6571d280) at /usr/include/bits/stdlib.h:46
#7  0x000000000040a861 in nsXREDirProvider::Initialize (this=0x7fff6571d490,
aXULAppDir=<value optimized out>) at nsXREDirProvider.cpp:119
#8  0x0000000000406703 in XRE_main (argc=2, argv=0x7fff6571db88,
aAppData=0x618040) at nsAppRunner.cpp:2265
#9  0x0000003d3a61e074 in __libc_start_main () from /lib64/libc.so.6
#10 0x0000000000403999 in _start ()
(gdb) up 6
#6  0x00000000004045ed in XRE_GetBinaryPath (argv0=0x7169 <Address 0x7169 out of
bounds>, aResult=0x7fff6571d280) at /usr/include/bits/stdlib.h:46
46            return __realpath_chk (__name, __resolved, __bos (__resolved));
(gdb) up
#7  0x000000000040a861 in nsXREDirProvider::Initialize (this=0x7fff6571d490,
aXULAppDir=<value optimized out>) at nsXREDirProvider.cpp:119
119       nsresult rv = XRE_GetBinaryPath(gArgv[0], getter_AddRefs(lf));
(gdb) print gA
gActivatedNotification  gAppData                gArgc                   gArgv  
                gAtomTable              
(gdb) print gArgv[0]
$3 = 0x7fff6571e7a5 "/usr/lib64/sunbird-0.7/sunbird-bin"
(gdb)
Will recompile with more debugging information.

I won't like to pollute this bug -- should I clone it away?

Comment 17 Lubomir Kundrak 2007-12-29 22:08:55 UTC
Actually, the problem exists on i386 as well as on x86_64. Did anyone else spot
this and/or is working on fix or should I?

And some suggestion for the packager: Please disable automatic updates from
mozilla.org.

Comment 18 Aurelien Bompard 2007-12-30 16:04:57 UTC
> And some suggestion for the packager: Please disable automatic updates from
> mozilla.org.

Done: http://gauret.free.fr/fichiers/rpms/fedora/sunbird/sunbird-0.7-6.fc8.src.rpm

Comment 19 Lubomir Kundrak 2007-12-30 16:10:42 UTC
Aurelien: Have you actually tried to build it in mock and run it? If yes, for
which release?

Comment 20 Lubomir Kundrak 2007-12-30 17:12:11 UTC
I am also wondering whether language packs can be included, in a manner similar
to firefox?

Comment 21 Lubomir Kundrak 2007-12-30 18:32:52 UTC
Answering my own question -- I see you the langpacks tarball is actually included.
Aurelien: Downloading the whole srpm 90M srpm over the slow link takes more than
an hour. Would it be possible for you to just post link to the patch and the new
SRPM?

Comment 22 Lubomir Kundrak 2007-12-30 19:02:54 UTC
Created attachment 290555 [details]
Fix for FORTIFY_SOURCE abort of sunbird during startup

This is the fix for problem described in comment #15

Comment 23 Lubomir Kundrak 2007-12-30 19:05:16 UTC
Also, please change the description in the desktop file from "Sunbird" to
"Sunbird Calendar".

Comment 24 Christopher Aillon 2007-12-31 20:49:22 UTC
I'd strongly encourage requiring this package to build against xulrunner before
allowing it into rawhide.

Also, if this package provides any .sos that the gecko-devel environment also
provides (such as libxpcom.so etc), it may cause apps to break that require the
.so if those are not manually stripped from the auto provides generator, ala
find-external-requires from the firefox rpm.

Comment 25 Lubomir Kundrak 2008-01-03 16:05:52 UTC
Builds fine for EL-5/i386 and F-8/x86_64

I rolled a new revision (sunbird-0.7-7) that includes the changes I proposed in
comment #23 and comment #22.

New and changed SPEC and SOURCES are available here:
http://people.redhat.com/lkundrak/patches/sunbird/

Comment 26 Lubomir Kundrak 2008-01-03 16:09:17 UTC
RPMlint:

sunbird.i386: W: symlink-should-be-relative
/usr/share/icons/hicolor/128x128/apps/sunbird.png
/usr/lib/sunbird-0.7/icons/mozicon128.png

Comment 27 Lubomir Kundrak 2008-01-03 16:37:58 UTC
The language packs don't work for me (It might be as well an upstream issue):

1.) There's no GUI way to configure the language
2.) I can force the language by changing "general.useragent.locale" to the
locale name
3.) because of 1.) sunbird should use the system's locale. I believe this is
done by setting "intl.locale.matchOS" to true. It doesn't work either.

I believe 3.) should be done the way firefox does it -- by supplying the default
prefs file:
http://cvs.fedoraproject.org/viewcvs/*checkout*/rpms/firefox/F-8/firefox-redhat-default-prefs.js

Possibly other preferences are interesting (the Vendor string would apply when
loading calendars from http/WebDAV).

Comment 28 Lubomir Kundrak 2008-01-03 16:40:50 UTC
Also i see wearnings like this in the error console
("chrome://navigator-region/locale/region.properties" is the default value of
"general.useragent.contentlocale"):

No chrome package registered for
chrome://navigator-region/locale/region.properties .

Comment 29 Aurelien Bompard 2008-01-08 20:28:46 UTC
Guys, I'm very sorry but due to a policy change at work, I won't be able to
maintain sunbird for Fedora in the long run. So I'd better stop now. But please
feel free to reuse my srpm for future improvements if you feel like it.
Sorry again.

Comment 30 Lubomir Kundrak 2008-01-10 07:57:32 UTC
Aurelien: I am very sorry to heard that. Unless anyone else wants to, I will
take over the package and also try to build the xulrunner version for Fedora 9,
though it might take me some time.

Comment 31 Huzaifa S. Sidhpurwala 2008-01-10 08:10:58 UTC
Lubomir, We are maintaining lightning extension internally in Red Hat,
This package is really interesting,
Can we take this package over jointly?


Comment 32 Lubomir Kundrak 2008-01-10 08:48:55 UTC
Huziafa, yes, I kind of knew that, but this did not come to my mind as I do not
use Thunderbird at all. I'd take the formal responsibility to roll srpms for
review, apply for cvs and import it, and will gladly accept all improvements,
especially in the lightning part and also results of testing. With pkgdb package
can have multiple people being in initial bugzilla cc and receiving cvs
notifications, and there's no reason for not having cvsextras commits allowed.
Thanks in advance!

Comment 33 Lubomir Kundrak 2008-01-22 09:09:12 UTC
A new revision:
http://people.redhat.com/lkundrak/sunbird-0.7-8.fc8/
(I omited the lightning-sunbird-0.7-source.tar.bz2 file -- please get it from
upstream if you do not have it -- it's huge and I'm not going to upload it anywhere)

* Mon Jan 21 2008 Lubomir Kundrak <lkundrak> 0.7-8
- Streamlined BuildRequires a bit
- Do not provide stuff that has to be provided by firefox
- Do not require what's in our fileset
- Removed redundant and useless Source0 without upstream

By sanitizing the provides/requires I believe all blockers to be sloved for
pre-xulrunner releases. The good news is that sunbird seems to build with
xulrunner sdk rather nicely, so there's no need to worry about Fedora 9. This
won't do any harm in F9 though.

One outstanding issue is use of system language, which I believe to be an
upstream bug. I'll investigate that a bit.

Marek: Could you please have a look at the package?
Huzaifa: I'd appreciate if you find time to look at the thunderbird plugin, I
gave it no testing at all. I'm especially interested if local languages work.

Comment 34 Felix Schwarz 2008-01-27 14:24:56 UTC
I compiled the SRPM on Fedora 8 (x86_64) successfully. Unfortunately, local
languages (at least German) do not work in Thunderbird/Lightning. I can't even
install de.xpi from the language pack manually due to an "unknown error" (-203).
I can provide the detailed log message from error console if necessary.

Comment 35 Lubomir Kundrak 2008-01-31 08:55:06 UTC
Felix: The langpack issue with sunbird is an upstream issue. I suspect it might
be  the case with lightning too. Could you please check?

I'll search for a fix or file an upstream bug once my vacation is over
(2008-02-06). I'd do it now if I hadn't trouble typing due to a kind of a stupid
injury of a hand.

Comment 36 Felix Schwarz 2008-01-31 21:20:12 UTC
Lubomir: Okay, I found that using 'sunbird -uilocale de' will start sunbird with
German localization as expected. The Fedora Firefox start script in /usr/bin
does some hacks to pass the correct locale to Firefox. Maybe this should be the
same for sunbird?

Lightning seems to be different, though: First off all, its UI is English, too.
But I noticed that I don't see an langpacks for Lightning when I look in the
Add-ons menu. The thunderbird-lightning rpm does not contain any jars which do
contain localizations. Upstream lightning xpi files contain localizations as
calendar-$LANG.jar in the /chrome folder.



Comment 37 Marek Mahut 2008-02-18 20:29:55 UTC
Latest package is working fine, spec file looks sane and rpmlint output is
adequate. Please, don't forgot to implement the wrapper for language issue.

APPROVED.

Comment 38 Lubomir Kundrak 2008-02-18 21:47:20 UTC
New Package CVS Request
=======================
Package Name: sunbird
Short Description: Mozilla Sunbird Calendar
Owners: lkundrak
Branches: F-8 EL-5
Cvsextras Commits: yes

Comment 39 Kevin Fenzi 2008-02-19 17:25:53 UTC
cvs done.

Comment 40 Lubomir Kundrak 2008-02-19 17:48:20 UTC
Huzaifa: I forgot to request creation of the ACLs for you. Now your action is
needed to create them --  Please add yourself here[ [1] and check all ACLs.

[1] https://admin.fedoraproject.org/pkgdb/packages/name/sunbird

Importing to CVS now.

Comment 41 Jakub 'Livio' Rusinek 2008-02-21 16:03:24 UTC
Any sense in putting Sunbird into repo?
Thunderbird 3 will bring same functionality.

Comment 42 Lubomir Kundrak 2008-02-21 16:11:58 UTC
Jakub: Nonexistent applications are generally poor replacement over existing ones :)

Comment 43 Lubomir Kundrak 2008-03-30 15:03:08 UTC
*** Bug 237137 has been marked as a duplicate of this bug. ***