Greetings All,
I hope that you are well today.
Source code repositories, package management and application dependencies are a huge challenge in the current age of end-users and developers alike. I have seen many efforts in these areas, and there does not seem to be a "best" solution that works for everyone.
On the developer side, I am a proponent for hierarchical tree structures in which you keep the main system components distinctively separated from things like 3rd part applications and the like.
In the case of Genode, perhaps something like:
--------------------------------------------------- 3rd_party ports ports_foc libs qt4 libports os main (the current OS contents here) bases base-codezero base-fiasco base-foc base-host base-hw base-linux base-nova base-okl4 base-pistachio base drivers dde_ipxe dde_linux dde_oss dde_rump tools examples demo hello_tutorial doc README LICENSE Howto build -------------------------------------------
I'm sure that this is not the best structure and layout, but the idea is that it keeps the Genode and the particular kernel completely separated from 3rd party apps and ports. This way you always know what the "system" needs for it basic minimal build a opposed to intermixing the drivers, libs, and applications like in other OS distributions.
Something that might be considered for the build system perhaps, is the way that Linux Gentoo Emerge works for their ports system. That systems seems to be rather good at building everything that is needed for a particular application, library, or other with relative ease.
Also, one thing that I really find bothersome in other OS distributions is that they tend to add all of the various system files together into a mess of files.
What I mean is that, for example, linux and windows will put application libraries mixed in with system libraries, and the like. This really makes a mess in the filesystem which promotes things like zombie libraries and configuration files, etc.....
Perhaps one idea, might be to think about the way that "portable" applications are packaged in that they typically keep almost all of their needed libraries with the application that uses them. This could be good from the standpoint of different application versions needing different versions of the same libraries because they would be stored with the application and not the OS.
Also, the OS would not continue to grow to an unmanageable size due to application installations. This would allow for tighter control of the OS and its needed libraries, drivers, etc....
Just my opinion though and I am sure that there may be even better solutions than I have mentioned here, but currently, I advocate the Gentoo Portage (emerge) and Portable Applications approach as a possible solution.
Kind Regards and have a great day, Lonnie
On Wed, Mar 5, 2014 at 5:43 AM, Norman Feske <norman.feske@...1...>wrote:
Hello,
related to the recent discussions about improving the ease of use of the framework, I'd like to point you to a current discussion about changing the structure of the source tree and the management of 3rd-party code:
https://github.com/genodelabs/genode/issues/1082
Please do not hesitate to participate with sharing your experience, opinions, and suggestions.
Personally, I am particularly interested in your individual notion of "ease of use". (that I wish to accommodate as far as possible)
Cheers Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. With Perforce, you get hassle-free workflows. Merge that actually works. Faster operations. Version large binaries. Built-in WAN optimization and the freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.cl... _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main