Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-16 Thread Wichmann, Mats D


There's a section of the document that talks about forward compatibility. In 
theory, developing your app on MeeGo 1.1 would allow it to work on 1.1 and on 
for the whole life of 1.x, to my understanding at least. If you target 1.2, 
from 1.2 and onwards. Should rpm be relied on fully to capture the symbols or 
would it be ok to forcefully/explicitly 'Require' a meego-release = 
desired_version.

meego-release is not in the appendix, that's why I'm asking. If I've missed 
another way to accomplish this I'd really like to know.


yeah, it's a good question, one I've chatted with a few people about. depending 
on meego-release of particular versions is the only way right now, but it seems 
there was some reluctance to formally require that apps do so - leaving it 
optional, I guess.  I hadn't noticed it wasn't in the package list, that seems 
a problem.

 what do other people think we should do here?
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev
http://wiki.meego.com/Mailing_list_guidelines

Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Antti Kaijanmäki
On Fri, 2011-02-04 at 08:43 -0700, Wichmann, Mats D wrote:
 Hoping some of you have time to take a look and
 supply comments...
 
 http://wiki.meego.com/Quality/Compliance, as usual.
 current version is the .7 revision.


Section 3: Application Compatibility

I assume this section talks about 3rd party applications like the ones
you go and buy from Ovi-store, right?

Could you please add a clause to clarify that system integration and
vendor software (components in section 2) are not required to follow
this scheme. A component might still be an application, like some applet
or UX related software, and this might cause some confusion without the
clause.


-- 
Antti Kaijanmäki
Software Architect
Team Manager
m. +358 41 440 4187
linkedin.com/in/anttikaijanmaki
www.nomovok.com

Nomovok Ltd.
Keilasatama 3
FI-02150 Espoo
Finland

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Wichmann, Mats D
Antti Kaijanmäki wrote:
 On Fri, 2011-02-04 at 08:43 -0700, Wichmann, Mats D wrote:
 Hoping some of you have time to take a look and
 supply comments...
 
 http://wiki.meego.com/Quality/Compliance, as usual.
 current version is the .7 revision.
 
 
 Section 3: Application Compatibility
 
 I assume this section talks about 3rd party applications like the ones
 you go and buy from Ovi-store, right?
 
 Could you please add a clause to clarify that system integration and
 vendor software (components in section 2) are not required to follow
 this scheme. A component might still be an application, like
 some applet
 or UX related software, and this might cause some confusion without
 the clause. 

yes, you're right, it's just for 3rd party (there's no really
good term for this, not part of the distribution is another
way that doesn't sound good).

what sort of clarification did you have in mind?  
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Antti Kaijanmäki
On Fri, 2011-02-04 at 12:39 -0800, Arjan van de Ven wrote:
 this would be a great idea for the 1.2 compliance spec to add imo.
 (but this doc is still the old 1.1 compliance)

OK, so you don't want to add anything new to this 1.1, right?

When will we begin to draft 1.2? It seems there's quite a lot of things
to specify so better get started sooner than later :)

 -- Antti


___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Wichmann, Mats D
meego-dev-boun...@meego.com wrote:
 On Fri, 2011-02-04 at 12:39 -0800, Arjan van de Ven wrote:
 this would be a great idea for the 1.2 compliance spec to add imo.
 (but this doc is still the old 1.1 compliance)
 
 OK, so you don't want to add anything new to this 1.1, right?
 
 When will we begin to draft 1.2? It seems there's quite a lot of
 things to specify so better get started sooner than later :)

about now would be the answer... were just hoping to get
1.1 into a somewhat official state so there's a clear
starting point.
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Miretti, Gabriel
-Original Message-
From: meego-dev-boun...@meego.com [mailto:meego-dev-boun...@meego.com] On 
Behalf Of Wichmann, Mats D
Sent: Friday, February 04, 2011 12:44 PM
To: meego-dev@meego.com
Subject: [MeeGo-dev] updated MeeGo compliance spec available for review


...

Hoping some of you have time to take a look and
supply comments...

http://wiki.meego.com/Quality/Compliance, as usual.
current version is the .7 revision.


Hi, I just begin to work with Meego and particularly with Meego Compliance. 

In 3.2.2, the specification says:
They shall import external interfaces only from the following sources:
* shared libraries supplied as a part of the application package
My question: There is a preferred/recommended/mandatory method to load this 
libraries in order to avoid clashes shared libraries of different applications? 
For example, two 3rd party applications supplied libgsoap.so, one 
libgsoap.so.1 and the other libgsoap.so.0, if both exposes its shared 
libraries one of them probably will crash.

Thanks, Gabriel

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Wichmann, Mats D
meego-dev-boun...@meego.com wrote:

 Hi, I just begin to work with Meego and particularly with
 Meego Compliance.
 
 In 3.2.2, the specification says:
 They shall import external interfaces only from the following
 sources: * shared libraries supplied as a part of the application
 package 
 My question: There is a preferred/recommended/mandatory method
 to load this libraries in order to avoid clashes shared
 libraries of different applications? For example, two 3rd
 party applications supplied libgsoap.so, one libgsoap.so.1
 and the other libgsoap.so.0, if both exposes its shared
 libraries one of them probably will crash.

There's no brilliant answer here.

If a number of apps need the same library there's probably
a case it ought to be promoted to become a system library.

If an app has to supply its own shared library, the namespacing
rules come into effect - the library should be located in
the app's own file hierarchy, say for foo it would be
located somewhere under /opt/foo, and in this case there should
be no risk of another application accidentally finding that copy
and running into problems because it's not quite compatible.



___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Sergio Schvezov
On Mon, 2011-02-07 at 08:28 -0600, Gabriel M. Beddingfield wrote:

 
 On Mon, 7 Feb 2011, Miretti, Gabriel wrote:
 
  Hi, I just begin to work with Meego and particularly with Meego Compliance.
 
  In 3.2.2, the specification says:
  My question: There is a preferred/recommended/mandatory 
  method to load this libraries in order to avoid clashes 
  shared libraries of different applications? For example, 
  two 3rd party applications supplied libgsoap.so, one 
  libgsoap.so.1 and the other libgsoap.so.0, if both 
  exposes its shared libraries one of them probably will 
  crash.



 Suppose that your app needs 3rd party libs and you install 
 them in the folder /opt/foo/lib.  Before you start your app, 
 you can manipulate the LD_LIBRARY_PATH to pull in your lib 
 folder.
 
 ### BEGIN STARTUP SCRIPT ###
 #!/bin/sh
 
 LD_LIBRARY_PATH=/opt/foo/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
 export LD_LIBRARY_PATH
 
 exec /opt/foo/foo.bin $@
 ### END ###


So imagine the case of openssl, you provide it as it is not Meego Core,
it's linked to a specific version. Meego provides a different one, you
an't link to it in theory as it is not a core lib. In this example you
then bring in Qt to your application which does a dlopen on it's
openssl. This basically crashes your app.

My point being, some libs just probably shouldn't be allowed even in an
LD_LIBRARY_PATH.

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Arjan van de Ven

On 2/7/2011 4:41 AM, Antti Kaijanmäki wrote:

On Fri, 2011-02-04 at 08:43 -0700, Wichmann, Mats D wrote:

Hoping some of you have time to take a look and
supply comments...

http://wiki.meego.com/Quality/Compliance, as usual.
current version is the .7 revision.


Section 3: Application Compatibility

I assume this section talks about 3rd party applications like the ones
you go and buy from Ovi-store, right?

Could you please add a clause to clarify that system integration and
vendor software (components in section 2) are not required to follow
this scheme. A component might still be an application, like some applet
or UX related software, and this might cause some confusion without the
clause.


well yes... it applies to both
there is just no requirement that the components that you ship on a 
device must all be compliant.


___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Gabriel M. Beddingfield



On Mon, 7 Feb 2011, Sergio Schvezov wrote:


Suppose that your app needs 3rd party libs and you install
them in the folder /opt/foo/lib.  Before you start your app,
you can manipulate the LD_LIBRARY_PATH to pull in your lib
folder.

[snip]


So imagine the case of openssl, you provide it as it is not Meego Core,
it's linked to a specific version. Meego provides a different one, you
an't link to it in theory as it is not a core lib. In this example you
then bring in Qt to your application which does a dlopen on it's
openssl. This basically crashes your app.


What a mess!  I hadn't thought of that.


My point being, some libs just probably shouldn't be allowed even in an
LD_LIBRARY_PATH.


I.e. We refuse to supply openssl as part of MeeGo core, but 
you can't use openssl as your own private library because 
QtNetwork is covertly loading it with dlopen().  That's 
nuts.


Would it be more sane to prohibit libs in MeeGo core from 
using dlopen()?


-gabriel

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Arjan van de Ven

On 2/7/2011 9:03 AM, Gabriel M. Beddingfield wrote:



On Mon, 7 Feb 2011, Sergio Schvezov wrote:


Suppose that your app needs 3rd party libs and you install
them in the folder /opt/foo/lib.  Before you start your app,
you can manipulate the LD_LIBRARY_PATH to pull in your lib
folder.

[snip]


So imagine the case of openssl, you provide it as it is not Meego Core,
it's linked to a specific version. Meego provides a different one, you
an't link to it in theory as it is not a core lib. In this example you
then bring in Qt to your application which does a dlopen on it's
openssl. This basically crashes your app.


What a mess!  I hadn't thought of that.


My point being, some libs just probably shouldn't be allowed even in an
LD_LIBRARY_PATH.


I.e. We refuse to supply openssl as part of MeeGo core, but you can't 
use openssl as your own private library because QtNetwork is covertly 
loading it with dlopen().  That's nuts.


I'm pretty sure openssl is part of the actual compliance package list
(which is core + dependencies, not just core')


___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Gabriel M. Beddingfield



On Mon, 7 Feb 2011, Arjan van de Ven wrote:

I.e. We refuse to supply openssl as part of MeeGo core, but you can't use 
openssl as your own private library because QtNetwork is covertly loading 
it with dlopen().  That's nuts.


I'm pretty sure openssl is part of the actual compliance package list
(which is core + dependencies, not just core')


Good call.  It is.

So how about this approach:

Compliant apps must not provide any private libs that are 
also in Core or the Core Dependencies.  If you must use a 
private version of these libraries, then you shall either 
statically link to them or downgrade to Platform API 
Compliance.


-gabriel

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Antti Kaijanmäki
On Mon, 2011-02-07 at 11:43 -0600, Gabriel M. Beddingfield wrote:
 
 On Mon, 7 Feb 2011, Arjan van de Ven wrote:
 
  I.e. We refuse to supply openssl as part of MeeGo core, but you can't use 
  openssl as your own private library because QtNetwork is covertly loading 
  it with dlopen().  That's nuts.
 
  I'm pretty sure openssl is part of the actual compliance package list
  (which is core + dependencies, not just core')
 
 Good call.  It is.
 
 So how about this approach:
 
 Compliant apps must not provide any private libs that are 
 also in Core or the Core Dependencies.  If you must use a 
 private version of these libraries, then you shall either 
 statically link to them or downgrade to Platform API 
 Compliance.

+1

The whole situation where application would include it's own version of
a Core library sounds pretty fishy, but anyway; there's always the
option to provide the libraries statically linked and keep this all
nicely under /opt/package/

Indeed the whole point to target some platform is to adapt the code for
that platform as far as possible, even downgrading to older APIs. And if
that's not an option for some reason, just go all static.

-- 
Antti Kaijanmäki
Software Architect
Team Manager
m. +358 41 440 4187
linkedin.com/in/anttikaijanmaki
www.nomovok.com

Nomovok Ltd.
Keilasatama 3
FI-02150 Espoo
Finland

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-07 Thread Arjan van de Ven

On 2/7/2011 10:0st core')


If you compile your app against libssl in Meego 1.1 it will link 
against libssl.so.8, when you go to Meego 1.1.90-1.2 your app won't 
load as libssl.so.10 is there. If you symlink it may work, but you can 
never know as that's why the version changed in the first place. Same 
applies for libcrypto.


if we break ABI between 1.1 and 1.2 we, MeeGo, fscked up and must 
provide a compatibility package.


doesn't matter if this was only a dependency or not.

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-04 Thread Bernd Stramm
On Fri, 04 Feb 2011 21:21:04 +0200
Antti Kaijanmäki antti.kaijanm...@nomovok.com wrote:

 On Fri, 2011-02-04 at 11:57 -0700, Wichmann, Mats D wrote:
  Antti Kaijanmäki wrote:
 ...
  last someone talked about kernels, there was a plan to list
  manadatory parts of the kernel config in the next spec (1.2),
  although not in this one.
  
  is that good enough?
 
 I think IPv6 is mandatory for any product that comes out these days.
 Even more importantly now that the IPv4 address pool has finally been
 completely depleted. So yes I think MeeGo 1.1 compliance spec should
 mention at least even vaguely that IPv6 is required if you don't want
 to specify any mandatory kernel configuration at this time. 
 
 On the other hand if you think nobody is going to release MeeGo 1.1
 product then this can wait to 1.2 ;)

Kernels have supported IPv6 for years, unless they are specifically
configured not to.

It would be nice if key core applications would also support it. :Like
ConnMan for example. Currently the ConnMan applet blissfully ignores
IPv6 even if you are connected:
https://bugs.meego.com/show_bug.cgi?id=10878

Bernd

-- 
Bernd Stramm
bernd.str...@gmail.com

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-04 Thread Antti Kaijanmäki
On Fri, 2011-02-04 at 14:32 -0500, Bernd Stramm wrote:
 On Fri, 04 Feb 2011 21:21:04 +0200
 Kernels have supported IPv6 for years, unless they are specifically
 configured not to.

Yes, but sadly there are products where kernels are specifically
configured not to have IPv6. By stating it's mandatory we can prevent
that happening on MeeGo.


 It would be nice if key core applications would also support it. :Like
 ConnMan for example. Currently the ConnMan applet blissfully ignores
 IPv6 even if you are connected:
 https://bugs.meego.com/show_bug.cgi?id=10878

IMO any component which does not support IPv6 fully must have bugs
opened against them with High priority.

 -- Antti


___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-04 Thread Thiago Macieira
On Friday, 4 de February de 2011 21:21:04 Antti Kaijanmäki wrote:
 I think IPv6 is mandatory for any product that comes out these days.
 Even more importantly now that the IPv4 address pool has finally been
 completely depleted. So yes I think MeeGo 1.1 compliance spec should
 mention at least even vaguely that IPv6 is required if you don't want to
 specify any mandatory kernel configuration at this time.

Huh... just to correct a little your information: the IPv4 address pool has
not been depleted.

The IANA has exhausted its pool. But the 5 registries still have some more IPs
left, with the APNIC and RIPE NCC expected to exhaust theirs still in 2011,
ARIN in 2012 and the LACNIC between 2012 and 2014.

However, that is not to dissuade from the urgency. IPv6 support should have
been required for any and all devices shipped since 2007, at least.

--
Thiago
acieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
  PGP/GPG: 0x6EF45358; fingerprint:
  E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358


pgpKmOwTf1tec.pgp
Description: This is a digitally signed message part.
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-04 Thread Arjan van de Ven

On 2/4/2011 12:10 PM, Antti Kaijanmäki wrote:

On Fri, 2011-02-04 at 14:32 -0500, Bernd Stramm wrote:

On Fri, 04 Feb 2011 21:21:04 +0200
Kernels have supported IPv6 for years, unless they are specifically
configured not to.

Yes, but sadly there are products where kernels are specifically
configured not to have IPv6. By stating it's mandatory we can prevent
that happening on MeeGo.



It would be nice if key core applications would also support it. :Like
ConnMan for example. Currently the ConnMan applet blissfully ignores
IPv6 even if you are connected:
https://bugs.meego.com/show_bug.cgi?id=10878

IMO any component which does not support IPv6 fully must have bugs
opened against them with High priority.


this would be a great idea for the 1.2 compliance spec to add imo.
(but this doc is still the old 1.1 compliance)


___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-04 Thread Foster, Dawn M

On Feb 4, 2011, at 11:32 AM, Bernd Stramm wrote:

 On Fri, 04 Feb 2011 21:21:04 +0200
 Antti Kaijanmäki antti.kaijanm...@nomovok.com wrote:
 
 On Fri, 2011-02-04 at 11:57 -0700, Wichmann, Mats D wrote:
 Antti Kaijanmäki wrote:
 ...
 last someone talked about kernels, there was a plan to list
 manadatory parts of the kernel config in the next spec (1.2),
 although not in this one.
 
 is that good enough?
 
 I think IPv6 is mandatory for any product that comes out these days.
 Even more importantly now that the IPv4 address pool has finally been
 completely depleted. So yes I think MeeGo 1.1 compliance spec should
 mention at least even vaguely that IPv6 is required if you don't want
 to specify any mandatory kernel configuration at this time. 
 
 On the other hand if you think nobody is going to release MeeGo 1.1
 product then this can wait to 1.2 ;)
 
 Kernels have supported IPv6 for years, unless they are specifically
 configured not to.
 
 It would be nice if key core applications would also support it. :Like
 ConnMan for example. Currently the ConnMan applet blissfully ignores
 IPv6 even if you are connected:
 https://bugs.meego.com/show_bug.cgi?id=10878

ConnMan actually supports ipv6 now, and they are working to make 
the implementation better. As you said, the applet on the MeeGo netbook
unfortunately doesn't give people the options needed for ipv6. So, this is
more of a user interface issue, rather than a core application deficiency.

This doesn't reduce the need to get it fixed, but it should be relatively
easy to add support in the interface for ipv6, since it is already supported
in ConnMan.

Dawn
___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev


Re: [MeeGo-dev] updated MeeGo compliance spec available for review

2011-02-04 Thread Bernd Stramm
On Fri, 4 Feb 2011 15:26:39 -0800
Foster, Dawn M dawn.m.fos...@intel.com wrote:

 
 On Feb 4, 2011, at 11:32 AM, Bernd Stramm wrote:
 
  On Fri, 04 Feb 2011 21:21:04 +0200
  Antti Kaijanmäki antti.kaijanm...@nomovok.com wrote:
  
  On Fri, 2011-02-04 at 11:57 -0700, Wichmann, Mats D wrote:
  Antti Kaijanmäki wrote:
  ...
  last someone talked about kernels, there was a plan to list
  manadatory parts of the kernel config in the next spec (1.2),
  although not in this one.
  
  is that good enough?
  
  I think IPv6 is mandatory for any product that comes out these
  days. Even more importantly now that the IPv4 address pool has
  finally been completely depleted. So yes I think MeeGo 1.1
  compliance spec should mention at least even vaguely that IPv6 is
  required if you don't want to specify any mandatory kernel
  configuration at this time. 
  
  On the other hand if you think nobody is going to release MeeGo 1.1
  product then this can wait to 1.2 ;)
  
  Kernels have supported IPv6 for years, unless they are specifically
  configured not to.
  
  It would be nice if key core applications would also support
  it. :Like ConnMan for example. Currently the ConnMan applet
  blissfully ignores IPv6 even if you are connected:
  https://bugs.meego.com/show_bug.cgi?id=10878
 
 ConnMan actually supports ipv6 now, and they are working to make 
 the implementation better. As you said, the applet on the MeeGo
 netbook unfortunately doesn't give people the options needed for
 ipv6. So, this is more of a user interface issue, rather than a core
 application deficiency.

Yes that is correct, ipv6 does work. Packets are sent and received,
ip6tables does what it is supposed to and all that. I don't know if
ConnMan has anything to do with that.

The problem in the applet is a bug though, not a deficiency. Users
cannot detect the state of their ipv6 connection if they try. So they
can for example be connected, not have a firewall, and not know anything
about it. That's a bug.

 
 This doesn't reduce the need to get it fixed, but it should be
 relatively easy to add support in the interface for ipv6, since it is
 already supported in ConnMan.
 
 Dawn


-- 
Bernd Stramm
bernd.str...@gmail.com

___
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev