Raising the bar on Linux

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Raising the bar on Linux

Mike Connor-4
Posted previously to my blog/planet, reposting to newsgroups to get  
wider communication, please follow up to dev-planning.

I’ve been having discussions with various Linux distro vendors around  
updating our runtime requirements to newer/more stable versions.  We  
have been building binaries that work across a large range of  
runtimes and with a fairly aggressive backwards compatibility story.  
We were still working with Red Hat 8.2 until sometime after Gecko  
1.8, IIRC.  However, this has resulted in a lot of workarounds and  
ugly hacks to keep going, especially as we start to use pango and  
other newer libraries.

As a result, we’ve looked at how other apps interact with distros,  
and I’ve spoke to Chris Aillon of Red Hat/Fedora, and Alexander Sack  
of Ubuntu for their opinions.  What we’ve come up with, based  
primarily on Chris and Alexander’s input, is a set of fairly current  
runtime requirements that we will commit to supporting for Firefox  
3.  Older distros will be able to have build-time support/workarounds  
as necessary, but Mozilla will not ship or test builds for older  
platforms.  This is still a proposal, but it seems as if everyone is  
very much on the same page, so I am hoping to make this final very  
soon.  Please direct any feedback to  the discussion page on the  
wiki, or to this newsgroup.

http://wiki.mozilla.org/Linux/Runtime_Requirements has the current  
set, which we expect to adopt fairly soon.

-- Mike
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Robert Kaiser
> http://wiki.mozilla.org/Linux/Runtime_Requirements has the current set,
> which we expect to adopt fairly soon.

The current doc talks about GNOME - would it make sense to list what
subpackages of this we really do require? We surely don't need all of
GNOME to be installed, and we might want to tell
KDE/Xcfe/whatever-desktop-environment users what parts of it they really
have to install.

This is not about changing the requirements you pointed out, just
defining them a bit more clearly in this area.

Robert Kaiser
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

dolphinling-2
In reply to this post by Mike Connor-4
Just for the information: Gentoo meets all of those requirements, although HAL
was at 0.5.7 until two days ago (June 15 2007). Gentoo users are usually quick
to update, but 3 months (to beta2) might not be enough.

0.5.7 had been the stable version since July '06.

I don't know how feasible it would be to drop the requirement down to 0.5.7, but
note that minefield *currently* works fine with it...

--
dolphinling
<http://dolphinling.net/>
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Akkana Peck
In reply to this post by Robert Kaiser
Robert Kaiser writes:
> > http://wiki.mozilla.org/Linux/Runtime_Requirements has the current set,
> > which we expect to adopt fairly soon.
>
> The current doc talks about GNOME - would it make sense to list what
> subpackages of this we really do require? We surely don't need all of
> GNOME to be installed, and we might want to tell
> KDE/Xcfe/whatever-desktop-environment users what parts of it they really
> have to install.

Are these actually runtime requirements (everything listed there
must be present in order to run mozilla-based apps)? Or just a
list of the versions Mozilla will use if they're present?

I hope Mozilla isn't going to start requiring hal and gnome.
Why does it need them? I'm sure there are mozilla-based apps
which could benefit from notifications from services like that,
but neither one ought to be needed for a web browser.

--
    ...Akkana
    "Beginning GIMP: From Novice to Professional": http://gimpbook.com
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Wolfgang Rosenauer-2
In reply to this post by Robert Kaiser
Akkana Peck schrieb:

> Robert Kaiser writes:
>>> http://wiki.mozilla.org/Linux/Runtime_Requirements has the current set,
>>> which we expect to adopt fairly soon.
>> The current doc talks about GNOME - would it make sense to list what
>> subpackages of this we really do require? We surely don't need all of
>> GNOME to be installed, and we might want to tell
>> KDE/Xcfe/whatever-desktop-environment users what parts of it they really
>> have to install.
>
> Are these actually runtime requirements (everything listed there
> must be present in order to run mozilla-based apps)? Or just a
> list of the versions Mozilla will use if they're present?
>
> I hope Mozilla isn't going to start requiring hal and gnome.
> Why does it need them? I'm sure there are mozilla-based apps
> which could benefit from notifications from services like that,
> but neither one ought to be needed for a web browser.

I would expect/hope that most of the requirements will be optional. For
example dbus will only work with (fill whatever version here) and the
module is available but firefox doesn't fail if the module can't be
loaded. The user just has less features available.
I'm not sure what will happen e.g. for the libstartup-notification
dependency when it gets turned on. At first glance the library has to be
available with the current implementation but I'm not completely sure.

As soon as some dependency is something like a freedesktop.org standard
it could be made mandatory as soon as most distributions are prepared
for that. I hope that this will be taken into account for decisions what
to make mandatory and what optional.

Wolfgang
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Manuel Reimer-6
Wolfgang Rosenauer wrote:
> I would expect/hope that most of the requirements will be optional. For
> example dbus will only work with (fill whatever version here) and the
> module is available but firefox doesn't fail if the module can't be
> loaded. The user just has less features available.

Why should a browser need hal or dbus? I don't want a browser to do
anything if I plug in any hardware!

CU

Manuel

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Wolfgang Rosenauer-2
Manuel Reimer wrote:
> Wolfgang Rosenauer wrote:
>> I would expect/hope that most of the requirements will be optional. For
>> example dbus will only work with (fill whatever version here) and the
>> module is available but firefox doesn't fail if the module can't be
>> loaded. The user just has less features available.
>
> Why should a browser need hal or dbus? I don't want a browser to do
> anything if I plug in any hardware!

For example DBUS is used to check the online status. DBUS makes perfect
sense for desktop interprocess communication but atm I don't know for
what HAL would be usable.

Wolfgang
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Manuel Reimer-6
Wolfgang Rosenauer wrote:
> For example DBUS is used to check the online status. DBUS makes perfect
> sense for desktop interprocess communication but atm I don't know for
> what HAL would be usable.

To check the online status, just try to fetch the URL, the user typed in
the address bar. If this worked, then you are online. How would dbus
detect if the URL, I try to receive, is located on my local machine or
on LAN?

CU

Manuel

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Axel Hecht-2
Manuel Reimer wrote:

> Wolfgang Rosenauer wrote:
>> For example DBUS is used to check the online status. DBUS makes perfect
>> sense for desktop interprocess communication but atm I don't know for
>> what HAL would be usable.
>
> To check the online status, just try to fetch the URL, the user typed in
> the address bar. If this worked, then you are online. How would dbus
> detect if the URL, I try to receive, is located on my local machine or
> on LAN?
>

Manuel, please check the offline apps support. Like it or not, we're
doing more these days than lynx does.

Axel
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Boris Zbarsky
In reply to this post by Manuel Reimer-6
Manuel Reimer wrote:
> To check the online status, just try to fetch the URL, the user typed in
> the address bar.

You're making the assumptions that:

1)  Being offline can be told apart from other failures (e.g. server down)
2)  There's a URL being typed into a URL bar.

Both are false.

 > How would dbus detect if the URL, I try to receive,

Who said there is one?

-Boris

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Manuel Reimer-6
In reply to this post by Axel Hecht-2
Axel Hecht wrote:
> Manuel, please check the offline apps support.

How may I do so?

> Like it or not, we're
> doing more these days than lynx does.

But where is the difference between "I'm on LAN" and "I'm on LAN, but
I've disconnectet the DSL wire from my router"

I still don't see the point, why you want to force people to use dbus or
hal. I definetly know, that I won't have one of them on one of my linux
systems. hal/dbus is a big beast, just to find the online status. There
has to be an easier way to do this.

CU

Manuel

--
Privatsphäre bald Geschichte? Vorratsdatenspeicherung, Bundestrojaner, ...
Informieren, bevor es zu spät ist! Es sind auch deine Rechte!
www.vorratsdatenspeicherung.de www.der-bundestrojaner.de
www.againsttcpa.com www.privatkopie.net www.foebud.org
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Boris Zbarsky
Manuel Reimer wrote:
> But where is the difference between "I'm on LAN" and "I'm on LAN, but
> I've disconnectet the DSL wire from my router"

There isn't much of one, true.  Nor between those and "backhoe cut the phone
cable to my building".  The aim is to go for something that works as much as
possible in common cases.

>  hal/dbus is a big beast, just to find the online status. There
> has to be an easier way to do this.

If there is, we'd love to know.

-Boris


_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Christopher Aillon
In reply to this post by Manuel Reimer-6
Manuel Reimer wrote:
> Wolfgang Rosenauer wrote:
>> I would expect/hope that most of the requirements will be optional. For
>> example dbus will only work with (fill whatever version here) and the
>> module is available but firefox doesn't fail if the module can't be
>> loaded. The user just has less features available.
>
> Why should a browser need hal or dbus? I don't want a browser to do
> anything if I plug in any hardware!

If you lose the active network device/disconnect a signal can be sent to
the browser.  It can then for example start using it's cache instead of
trying and failing to connect to the website, and putting up an error
message.  If going online, maybe it can check your RSS feeds for
updates.  Another good use case is for mail: if going online, start
retrieving new messages.

But either way, they will both be optional components from the build.  I
believe distros are going to start enabling these though as it makes
sense for a general use case.
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Christopher Aillon
In reply to this post by Manuel Reimer-6
Manuel Reimer wrote:
> I still don't see the point, why you want to force people to use dbus or
> hal.

We aren't.  They will be optional.  Distributions have the option though
to enable them, and my feeling is that pretty much all of them will.

> I definetly know, that I won't have one of them on one of my linux
> systems. hal/dbus is a big beast, just to find the online status. There
> has to be an easier way to do this.

On most linux desktops these days, this is not a factor because they are
already installed.  They are already finding the online status for many
other applications as well, and have additional benefits to the desktop
as a whole, such as not making a user manually mount a USB drive that
they might want to download a file to.

Also, if you're that concerned about disk space, Firefox isn't exactly
tiny either.  Just saying...
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Manuel Reimer-6
In reply to this post by Boris Zbarsky
Boris Zbarsky wrote:
>>  hal/dbus is a big beast, just to find the online status. There
>> has to be an easier way to do this.

> If there is, we'd love to know.

What about doing the same stuff, ifconfig does if it gets called without
parameter?

If there is any LAN device available, we should be online. This catches
all common cases like PPP (Modem, ISDN) and LAN (Cable, DSL).

I think it should be possible to find the required info in the ifconfig
sourcecode.

CU

Manuel

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Boris Zbarsky
Manuel Reimer wrote:
> What about doing the same stuff, ifconfig does if it gets called without
> parameter?

It's easy to check whether the computer is online.  What we need is a way to be
notified when the online status changes.

One could poll or something like that, but that gets pretty complicated pretty
fast... and a little silly.

-Boris

_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Christopher Aillon
Boris Zbarsky wrote:
> Manuel Reimer wrote:
>> What about doing the same stuff, ifconfig does if it gets called without
>> parameter?
>
> It's easy to check whether the computer is online.  What we need is a way to be
> notified when the online status changes.
>
> One could poll or something like that, but that gets pretty complicated pretty
> fast... and a little silly.

...and wakes up the computer too much, wasting cycles, which is not
feasible in the situation where online state changes most often:
laptops.  I get crappy enough battery life as it is.
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Akkana Peck-3
In reply to this post by Boris Zbarsky
Boris Zbarsky writes:
> It's easy to check whether the computer is online.  What we need is a way to be
> notified when the online status changes.
>
> One could poll or something like that, but that gets pretty complicated pretty
> fast... and a little silly.

Unfortunately, polling is how hal manages that trick -- at least for
storage, though I suspect it's true for networking too. Of course,
having Firefox doing its own polling in addition to hal's would be
even worse, so using hal if it's available makes sense. But I'm glad
to hear that hal and dbus won't be required.

Christopher Aillon writes:
> On most linux desktops these days, this is not a factor because they are
> already installed.  

Indeed. But folks who want to save their laptop batteries by cutting
down on polling may want the option of removing them.

        ...Akkana
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Mook-4
In reply to this post by Mike Connor-4
Mike Connor wrote:
> Posted previously to my blog/planet, reposting to newsgroups to get
> wider communication, please follow up to dev-planning.
>
<snip - why the list>

>
> As a result, we’ve looked at how other apps interact with distros, and
> I’ve spoke to Chris Aillon of Red Hat/Fedora, and Alexander Sack of
> Ubuntu for their opinions.  What we’ve come up with, based primarily on
> Chris and Alexander’s input, is a set of fairly current runtime
> requirements that we will commit to supporting for Firefox 3.  Older
> distros will be able to have build-time support/workarounds as
> necessary, but Mozilla will not ship or test builds for older
> platforms.  This is still a proposal, but it seems as if everyone is
> very much on the same page, so I am hoping to make this final very
> soon.  Please direct any feedback to  the discussion page on the wiki,
> or to this newsgroup.
>
> http://wiki.mozilla.org/Linux/Runtime_Requirements has the current set,
> which we expect to adopt fairly soon.
>
> -- Mike

Reading this thread, I'm a little confused - what requirement is this
list specifying?  Is this:

1 Minimum libraries needed to build Firefox, regardless of what
mozconfig settings you use
2 Minimum libraries needed to build Firefox using the default mozconfig
3 Libraries mozilla.org builds will be made against
4 Libraries that may be required with some custom mozconfig

Note that 2 and 3 are probably the same.  They would probably be
considered the Tier 1 config.

callion says that DBUS/HAL is optional at build time (i.e. this isn't
the first option). [1]

The wording makes it sound like this is about 2/3, but not absolutely
clear...

Furthermore - Wolfgang mentions that there will be some sort of runtime
detection [2], so this is a list of... build time requirements, but not
necessarily runtime?

[1] [hidden email]
[2] [hidden email]
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
Reply | Threaded
Open this post in threaded view
|

Re: Raising the bar on Linux

Tony Mechelynck
Mook wrote:

> Mike Connor wrote:
>> Posted previously to my blog/planet, reposting to newsgroups to get
>> wider communication, please follow up to dev-planning.
>>
> <snip - why the list>
>>
>> As a result, we’ve looked at how other apps interact with distros, and
>> I’ve spoke to Chris Aillon of Red Hat/Fedora, and Alexander Sack of
>> Ubuntu for their opinions.  What we’ve come up with, based primarily
>> on Chris and Alexander’s input, is a set of fairly current runtime
>> requirements that we will commit to supporting for Firefox 3.  Older
>> distros will be able to have build-time support/workarounds as
>> necessary, but Mozilla will not ship or test builds for older
>> platforms.  This is still a proposal, but it seems as if everyone is
>> very much on the same page, so I am hoping to make this final very
>> soon.  Please direct any feedback to  the discussion page on the wiki,
>> or to this newsgroup.
>>
>> http://wiki.mozilla.org/Linux/Runtime_Requirements has the current
>> set, which we expect to adopt fairly soon.
>>
>> -- Mike
>
> Reading this thread, I'm a little confused - what requirement is this
> list specifying?  Is this:
>
> 1 Minimum libraries needed to build Firefox, regardless of what
> mozconfig settings you use
> 2 Minimum libraries needed to build Firefox using the default mozconfig
> 3 Libraries mozilla.org builds will be made against
> 4 Libraries that may be required with some custom mozconfig
>
> Note that 2 and 3 are probably the same.  They would probably be
> considered the Tier 1 config.

I think it is listing "minimum libraries required to *run* mozilla.org builds,
which is (IIUC) the same as (3) above, except that in order to *build* the
programs you need much more to be installed (usually known as "development"
packages, and including such things as e.g. header files for C and C++).

>
> callion says that DBUS/HAL is optional at build time (i.e. this isn't
> the first option). [1]

Didn't (s)he say they are optional at *run* time?

>
> The wording makes it sound like this is about 2/3, but not absolutely
> clear...
>
> Furthermore - Wolfgang mentions that there will be some sort of runtime
> detection [2], so this is a list of... build time requirements, but not
> necessarily runtime?
>
> [1] [hidden email]
> [2] [hidden email]

If I err, someone please correct me...


Best regards,
Tony.
--
Support the right of unborn males to bear arms!
                -- A public service announcement from Phyllis Schlafly,
                   the Catholic Church, and the National Rifle
                   Association
_______________________________________________
dev-planning mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-planning
12