<html><body>
<p><tt>Mike Hearn &lt;m.hearn@signal.qinetiq.com&gt; wrote on 08/09/2004 04:25:29 AM:<br>
<br>
&gt; Hi Bryce,<br>
&gt; <br>
&gt; Bryce Harrington wrote:<br>
&gt; &gt; Hi Mike,<br>
&gt; &gt; <br>
&gt; &gt; Regarding this issue of determining a &quot;base platform&quot; for desktop linux<br>
&gt; &gt; applications, is what you're looking for to be some sort of documented<br>
&gt; &gt; &quot;desktop capabilities/requirements&quot; list? &nbsp;I ask because this is<br>
&gt; &gt; something we've been putting some thought into at OSDL with some of our<br>
&gt; &gt; desktop-oriented member companies, that could, for instance, specify the<br>
&gt; &gt; particular bits that software packagers could expect to be present<br>
&gt; &gt; across any distro/desktop.<br>
&gt; <br>
&gt; Yes, that's basically what I'm looking for. So far the LSB has not <br>
&gt; addressed this issue but they seem keen, and maybe after C++ gets into <br>
&gt; the spec it'll start to rev faster (sorry but a 2+ year release cycle is <br>
&gt; far too slow for current desktop Linux development) and expand what's in <br>
&gt; its base profile. If so then that'd be great.</tt><br>
<br>
<tt>The LSB is wanting an absolute API/ABI. &nbsp;The LSB does not want to step on any toes, and the desire is for standards to be sanctioned by the upstream maintainers; therefore, the LSB will import what xdg@freedesktop.org gives them. &nbsp; &nbsp;The LSB needs three things:</tt><br>
<br>
<tt>1) stable libraries implemented by two or more Linux distributions</tt><br>
<tt>2) detailed written specifications</tt><br>
<tt>3) conformance test suites to validate that #1 are following #2 above</tt><br>
<br>
<tt><a href="http://lsbbook.gforge.freestandards.org/new-abis.html">http://lsbbook.gforge.freestandards.org/new-abis.html</a></tt><br>
<br>
<tt>A core desktop could be created quickly with the leverage of the proper amount of resources. &nbsp;:-)</tt><br>
<tt><br>
&gt; <br>
&gt; The other concern I have about the LSB is that currently it seems most <br>
&gt; distros don't actually install the LSB conformance packages. They are <br>
&gt; very small and only add things like /etc/lsb-release, a symlink for the <br>
&gt; linker and so on, but still distros like Fedora and SuSE don't seem to <br>
&gt; include it in the base package sets. The LSB has been out for a long <br>
&gt; time now, so this does worry me. How do you know if what you're <br>
&gt; installing into is LSB compliant if the necessary files and symlinks <br>
&gt; aren't in place?</tt><br>
<br>
<tt>LSB Certified runtime environments should be providing an &quot;lsb&quot; dependency for LSB Certified applications to prerequisite.</tt><br>
<tt><br>
&gt; <br>
&gt; Last concern about the LSB I have is that I think it unlikely open <br>
&gt; source desktop apps will ever actually be LSB conformant because they <br>
&gt; will want to use libraries outside of whatever platform is specified and <br>
&gt; the LSB specifically prohibits this. You might get a lot of informal <br>
&gt; &quot;mostly&quot; compliant apps though.</tt><br>
<br>
<tt>Mostly compliant is the short term. &nbsp; Specifying the desktop application universe for ISVs is the long term. &nbsp;Bleeding edge open source desktop applications will continue to be built from source so they can use the latest bells and whistles.</tt><br>
<tt><br>
&gt; <br>
&gt; &gt; Like you mention, LSB doesn't cover that particular level of detail.<br>
&gt; &gt; Does this sort of thing sound like something autopackage could make use<br>
&gt; &gt; of? &nbsp;If so, maybe we could pick your brain about it a bit?</tt><br>
<br>
<tt>Could the autopackage project and the distros define what should be specified in the next major release of the LSB? &nbsp; &nbsp;We attempted an FSG/LSB packaging group about three or four times, but resources/time never materialized. &nbsp; I will try to recover the webpages.</tt><br>
<br>
<tt><a href="http://www.linuxbase.org/spec/book/Packaging/Packaging.html">http://www.linuxbase.org/spec/book/Packaging/Packaging.html</a></tt><br>
<tt><br>
&gt; <br>
&gt; Well, autopackage is only one piece of the &quot;make software installation <br>
&gt; on Linux easy&quot; puzzle IMHO. It provides a way to distribute <br>
&gt; dependency-checking/resolving packages that work on &quot;any&quot; Linux <br>
&gt; distribution (obviously that's not really true, but it's Good Enough), <br>
&gt; but there are still two things needed to make software installation and <br>
&gt; development on Linux as easy as on Windows/MacOS:<br>
&gt; <br>
&gt; - A large, modern base package set. I say package set and not platform<br>
&gt; &nbsp; &nbsp;because I don't think there needs to be any API consistency rules (so,<br>
&gt; &nbsp; &nbsp;not like in KDE/Gnome for instance). Experience with Windows<br>
&gt; &nbsp; &nbsp;development leads me to think consistency isn't important. This is<br>
&gt; &nbsp; &nbsp;where organizations like the LSB, OSDL, freedesktop.org etc are<br>
&gt; &nbsp; &nbsp;needed, to define base sets that distros are actually going to install<br>
&gt; &nbsp; &nbsp;by default (or at very least, provide a single virtual package in<br>
&gt; &nbsp; &nbsp;their repositories to pull it all in).</tt><br>
<br>
<tt>What should be available to an application is defined by the LSB Product Standards. &nbsp; For example, there could be &quot;server&quot; and &quot;workstation&quot; product standards.</tt><br>
<br>
<tt><a href="http://lsbbook.gforge.freestandards.org/spec-prod-std.html">http://lsbbook.gforge.freestandards.org/spec-prod-std.html</a></tt><br>
<br>
<tt><a href="http://www.linuxbase.org/~taggart/module/20workgroups.png">http://www.linuxbase.org/~taggart/module/20workgroups.png</a></tt><br>
<tt><br>
&gt; <br>
&gt; &nbsp; &nbsp;Large is I think important, perhaps the most important thing but also<br>
&gt; &nbsp; &nbsp;the most difficult to achieve politically(?). Win32 is large, almost<br>
&gt; &nbsp; &nbsp;unimaginably large. It is not consistent or frequently updated.<br>
&gt; <br>
&gt; &nbsp; &nbsp;Nonetheless, in terms of supporting the development of advanced<br>
&gt; &nbsp; &nbsp;desktop apps without lots of static linking, it does<br>
&gt; &nbsp; &nbsp;very well.</tt><br>
<br>
<tt>If you dont have an absolute ABI specification, then one must bundle shared library dependencies with your application or statically link. &nbsp; If one wants to reduce this, then its just a matter of resources applied to the LSB to increase the scope. &nbsp;:-)</tt><br>
<br>
<tt><a href="http://www.linuxbase.org/futures/candidates/">http://www.linuxbase.org/futures/candidates/</a></tt><br>
<tt><br>
&gt; <br>
&gt; &nbsp; &nbsp;This is needed to make installation robust/reliable (assuming<br>
&gt; &nbsp; &nbsp;developers have the discipline to stick to it). People will always<br>
&gt; &nbsp; &nbsp;use code outside the platform, this is necessary and healthy, which<br>
&gt; &nbsp; &nbsp;is why we still need dependency resolvers. But it should increase<br>
&gt; &nbsp; &nbsp;the installation success rate dramatically.<br>
&gt; <br>
&gt; <br>
&gt; - Some kind of package management abstraction layer similar in goals<br>
&gt; &nbsp; &nbsp;(but not implementation) to the new HAL, ie something desktops<br>
&gt; &nbsp; &nbsp;can integrate with and depend upon. This would let us drive package<br>
&gt; &nbsp; &nbsp;management right into the heart of the desktop projects in a way that<br>
&gt; &nbsp; &nbsp;does not endanger their portability.<br>
&gt; <br>
&gt; &nbsp; &nbsp;This is needed to make the whole process as slick and straightforward<br>
&gt; &nbsp; &nbsp;for end users as on competing operating systems.<br>
&gt; <br>
&gt; <br>
&gt; Neither of those two things are in scope for autopackage. Obviously, <br>
&gt; they all need to exist and work together for maximum effect so I'm <br>
&gt; watching the progress of the LSB and freedesktop.org platform efforts <br>
&gt; with interest, ditto for HAL.<br>
&gt; <br>
&gt; If OSDL feels it has something to contribute, please join the fray ....<br>
&gt; <br>
&gt; thanks -mike<br>
</tt></body></html>