On Saturday 01 March 2008 18:07:59 David Jensen wrote: > TheOldFellow wrote: > > On Wed, 27 Feb 2008 16:06:41 -0700 > > > > Gerard Beekmans <[EMAIL PROTECTED]> wrote: > >> What if LFS wasn't in book form anymore. What if it's an interactive > >> program instead. A 100% merge of LFS, BLFS, ALFS, <any>LFS.
After some thought, I think it is ok to post some thoughts of mine regarding this, since not only I am interested but I am working on this. The increased verbosity of such a format, poses a series of considerations related to how things should be done. For example, the book would have to be transformed into an abstract base, from which different "streams" could be streamed out in both LFS "subflavor" and different content. This would equate to transforming the XML "book" into an XML database. This means that the entire design should focus on the fact that you are dealing with a database by itself, not a book. Include the mandatory internationalization of the project and you are to spend quite some time into figuring out how to do this. XML databases are quite different from a book template in both design, implementation, and use. > > <snip> > > > > I like this. > > > > The design could be quite difficult as it probably will > > need to run in a number of environments (X11 and not, for instance), and > > could allow for various multimedia presentations during the > > installation - sound, flash, html, as well as text, come to mind. Not if you rely on an XML "database" for everything. There are two problems in this approach that can be easily solved though: First, implementation wise, PHP is not up to the task, alone, so this means that you will be adding up into the dependencies of the project. More dependencies create more variables for possible flaws to emerge and maintenance to become stagnant. Don't use PHP alone then. But that will create a maintenance hell due to the dependencies. > The easiest interface would be adding a .alfs handler to Firefox. > Configuration of defaults done the same way. I'm not sure about text > browsers. > > > There needs to be a non-interactive switch, a quiet switch, and a > > dummy-run switch too. The interface is quite a trivial matter that can be solved easily as well. > Buttons could be added? > > > How to handle upgrades? The discussions on PM's have been interesting, > > I favour using an existing PM, but other than that, I'm easy. See a proposal below. > Also handling overlapping dependencies between modules requires a PM > that checks what is already installed. Actually, what is necessary is to have a system that deals with dependency resolution outside and over any package manager involved in this process, for obvious reasons. Transforming the content from a new "book" format into RPM, DEB, TGZ or <any other package management here> requires a system comprised of filters so that we have the following: xmldatabase (XML contents) --> RPM filter --> rpm build instructions xmldatabase (XML contents) --> DEB filter --> deb build instructions ... xmldatabase (XML contents) --> A filter --> A package manager filters. but also: xmldatabase (XML contents) --> xhtml filter --> xhtml format for instructions. xhtml filter => can be customized by the end user. In a few words, the essential representational unit of this problem is the following: XML Database --> filtering() --> Filter result Where one important aspect is that the various filtering() calls can cooperate with each other before final output. What is important is that they dump to a format that can be understood by a package manager, a browser, a text editor or a video player (to make an extreme but unpurposeful example). Providing means to create these filters waives the need from the community to have to do support on different dependency resolvers, resulting in further LFS fragmentation. However, it also allows end users to refine the process if the xml database upon which the system relies is complete enough. The single link then, is the verbosity of the XML to be used. In a few words, the engineering and design tasks you are to undertake are not resolvable by a script - oriented language without resorting to multiple dependencies that will cause maintenance break ups. Not to mention the performance issues. Relying on a more suitable language like C++ about this also has the advantage that it is possible to reuse the same code and craft it into an Apache module ( http://www.zarfmouse.us/apache-cplusplus/ ). This can have several consequences on the design of a web platform and stand - alone. In stand - alone for example, because of its nature, it is easy to make it interact via the right bindings with other more "user friendly" languages for a quick end result. Many projects use bindings for this. Through JNI you could work with Java as well if you want to do that. And if you want to work with the terse but efficiently put Haskell flavours, you will be welcomed to do so, if anyone is interested in providing these bindings. In web - oriented mode, and we are talking about web applications, the same can be said with the use of apache dedicated modules. Use everywhere, easily. Rapid development. And of course, performance. One solution to all the problems is would be to have a single implementation for these things that makes things easy to develop further once there is a need, without having to rewrite everything. This is what I am trying to do, firstly, with odreex. Tell me what you think. > --- > David Jensen -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page