Firefox on Fedora: No longer funny

Thomas Spura tomspur at fedoraproject.org
Tue Oct 11 18:32:28 UTC 2011


On Tue, 11 Oct 2011 12:01:00 -0400
David Michael wrote:

> Hi,
> 
> On Tue, Oct 11, 2011 at 10:45 AM, Thomas Spura
> <tomspur at fedoraproject.org> wrote:
> > The automatic requires proposed in bug #745038, does this:
> >
> >        Requires: firefox >= 3.0
> >        Requires: firefox <= 10.0a1
> >
> > and seems to work fine here so far. When a newer firefox-11.0 is
> > installed, yum should complain about it, I guess.
> 
> About two months ago I started looking into Mozilla extension
> packaging guidelines.  The draft I found as a base[1] suggests not
> using dependencies on applications, and I agree with the idea among,
> among others listed.  (I.e. if a user wants HTTPS-Everywhere for
> Seamonkey, they should not be forced to install Firefox.)

+1

> Would you mind reading over the draft and considering the points where
> it conflicts with your script?  If you think there is value in
> pursuing similar Mozilla extension guidelines, I can also try to get
> my additions uploaded to the wiki.  If not, perhaps some of the files
> I have been using locally (such as a spec template or a script to
> create directories for all supported applications in the install.rdf)
> could still be of use in the mozilla-build package.

I'm using it partly. The draft suggests to install anything
into /usr/share/mozilla/extensions/common and then symlink to all
browsers supported in Fedora, e.g.
into /usr/share/mozilla/extensions/$browser_id/$extension_id

(But I do it manually, this seems to be a new draft, but I like the
xpi_unpack cmds etc, that could be easy integrated into the
mozilla-build package.)

The main *BIG* difference is, that draft symlinks the extension
*directory* and the script expects a install.rdf file below that.
This means, the symlinking needs to happen one step below that, so that
all files inside of the extension_id folder are symlinked, but the
install.rdf still needs to be a real copy, so it can be opened at build
time.

Rationale: A directory symlink can't be resolved at build time, so we
cannot follow that symlink on build time.

When that's changed, the scripts are working fine along each other.


About "no dependency using" from above:
	The dependencies will be added automatic with the scripts, so
	to avoid pulling in e.g. seamonkey, when you only want to have
	the firefox extension, there need to be one package for each
	extension, which owns 
	/usr/share/mozilla/extensions/$browser_id/$extension_id.

This way e.g. firefox-$extension would automaticalls require the
correct firefox versions but no seahorse, because that has to be owned
by seahorse-$extension - just as an example, but it would make sense.

Kalev, does this make sense? Can this be integrated into the drafts?
I'll try to add those macros proposed there
into /usr/lib/rpm/macros.mozilla and see if they really work out.

	-Tom

P.S. A working example is uploaded to fedorapeople at [1], which has
this outputs in the end with rpmbuild:  :)

Processing files: firefox-noscript-2.1.4-1.fc15.noarch
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: firefox <= 10.0a1 firefox >= 3.0
Processing files: seamonkey-noscript-2.1.4-1.fc15.noarch
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: seamonkey >= 2.0 seamonkey <= 2.7a1

[1] http://tomspur.fedorapeople.org/moz_draft/


More information about the devel mailing list