Defining ALFS and it's initial goals. (was Re: Fwd: Re: Moving on)

Simon Perreault nomis80 at
Sat Jun 16 21:36:07 PDT 2001

On Saturday 16 June 2001 21:47, Jesse Tie Ten Quee wrote:
> Now, after reading that and thinking of what needs to get done initially,
>     o Fixing up/cleaning up the syntax.

Let's distribute the work. Jesse, you're in charge of doing that part since 
you know the current syntax better than anyone else. People, suggest things 
to Jesse, and Jesse, ask a lot of questions. This will be fixed in no time, 
and then we can get on with more important things. Of course, you don't want 
something perfect right now, just something workable.

>     o Writting a DTD for the XML profile syntax.

I dug up an email by Corey Cox where he had started a DTD. I attached it. 
This is only so that you can get an idea of what it will look like. You can 
see that param1, param2, param3 ... paramN poses a problem in a dtd and must 
be fixed in the task above.

Corey Cox said he would try starting it on Sunday, I think we can put him in 
charge of the DTD. So people, give suggestions to Corey, and Corey, ask a lot 
of questions. ;)

>     o Documenting that syntax.

Is Jason still in charge of the ALFS documentation? Does anybody else want to 
be in charge of documenting the syntax? (I don't think having a master 
documenter for the whole project is a good idea. Let's have master 
documenters for each little subtask.)

> We can still create a complete solution, but we need something to build
> on, right now id prefer to concentrate on building a framework, da?


> Going with IPC is problably over kill right now, as is having multiple
> applications (frontend/backend) or it being network-aware.

I say build a module and then make an interface, be it cli or web-based. Are 
we still going with perl or not? Anyway, I say let's start thinking before we 
start coding.

> Maybe we should keep it KISS and define how an implementation, even if
> it's a single application, needs to parse the profile and get the work
> done.

Parse document, supposing that everything has been arranged in the correct 
order by the frontend. We suppose that the backend's job is to execute a 
profile, nothing more. The backend isn't intelligent. Have handlers for every 
tag, which you define as functions of the same name. Then you can call them 
simply by having a name reference (perly speaking). That's the whole 
backend's job for now.

> Now, what is a Package Management System? what does it do? it records
> the what, where and when a package was installed (and perhaps even the
> how).
> That package above isn't complete, we would need to add a few tags i
> think, like a <description>, packages it <depends>'s on, for it to even
> come close to having package management support.
> But.. that's the power of XML, we aren't hard coding anything, we can
> always add more tags down the road (which will happen) and i think we
> need to ask ourselves do we _really_ need to focus on package management
> support this early on? we haven't even got or agreed on a good working
> XML profile syntax.

Let's pretend that package management doesn't exist for now, it'll come later 
by itself.

> There's been *alot* of good conversations that have taken place in the
> last few days, id like to thank everyone involved so far, it's great to
> see you guys are all interested, let's set some initial goals and head
> for them... that is, if you guys are satified with going with XML and
> ditching the multiple fe/be/ipc support for now and keeping it KISS =)

I'd like to second that. The mailing list having been dead for so long, it's 
good to see it come to life with such vigor.

Simon Perreault -- Public key:
-------------- next part --------------
<!DOCTYPE alfs_profile [

<!ELEMENT alfs_profile (package+,mkdir*,system-command*, blah blah blah...
<!ELEMENT system_command (#PCDATA)>
 <!ATTLIST system_command dir CDATA "./">
 <!ATTLIST system_command param1 CDATA #IMPLIED>
 <!ATTLIST system_command param2 CDATA #IMPLIED>
 <!ATTLIST system_command param3 CDATA #IMPLIED>
 <!ATTLIST system_command paramx CDATA #IMPLIED> */ I think this could be a problem! */
<!ELEMENT search_replace (#PCDATA)>
 <!ATTLIST search_replace dir CDATA "./">
 <!ATTLIST search_replace find CDATA #REQUIRED>
 <!ATTLIST search_replace replace CDATA #REQUIRED>
<!ELEMENT mount (#PCDATA)>
 <!ATTLIST mount device CDATA #REQUIRED>
 <!ATTLIST mount type CDATA "ext2">
<!ELEMENT mkdir (#PCDATA)>
 <!ATTLIST mkdir dir CDATA "./">
 <!ATTLIST mkdir permissions CDATA #IMPLIED>
 <!ATTLIST link dir CDATA "./">
 <!ATTLIST link type CDATA "symbolic">
<!ELEMENT permissions (#PCDATA)>
 <!ATTLIST permissions dir CDATA "./">
 <!ATTLIST permissions set CDATA #REQUIRED>
 <!ATTLIST move dir CDATA "./">
 <!ATTLIST copy dir CDATA "./"
<!ELEMENT remove (#PCDATA)>
<!ELEMENT setenv (#PCDATA)>
<!ELEMENT unsetenv (#PCDATA)>
<!ELEMENT unpack (#PCDATA)>
 <!ATTLIST unpack archive CDATA #REQUIRED>
<!ELEMENT textdump (#PCDATA)>
 <!ATTLIST textdump file CDATA #REQUIRED>
<!ELEMENT patch (#PCDATA)>
 <!ATTLIST patch param1 CDATA #IMPLIED>
 <!ATTLIST patch param2 CDATA #IMPLIED>
 <!ATTLIST patch param3 CDATA #IMPLIED>
 <!ATTLIST patch paramx CDATA #IMPLIED> */ I think this could be a problem! */
<!ELEMENT config (#PCDATA)>
 <!ATTLIST config nodir CDATA #IMPLIED>
 <!ATTLIST config param1 CDATA #IMPLIED>
 <!ATTLIST config param2 CDATA #IMPLIED>
 <!ATTLIST config param3 CDATA #IMPLIED>
 <!ATTLIST config paramx CDATA #IMPLIED> */ I think this could be a problem! */
 <!ATTLIST make param1 CDATA #IMPLIED>
 <!ATTLIST make param2 CDATA #IMPLIED>
 <!ATTLIST make param3 CDATA #IMPLIED>
 <!ATTLIST make paramx CDATA #IMPLIED> */ I think this could be a problem! */
<!ELEMENT make_install (#PCDATA)>
 <!ATTLIST make_install dir CDATA #REQUIRED>
 <!ATTLIST make_install nodir CDATA #IMPLIED>
 <!ATTLIST make_install pre CDATA #IMPLIED>
 <!ATTLIST make_install param1 CDATA #IMPLIED>
 <!ATTLIST make_install param2 CDATA #IMPLIED>
 <!ATTLIST make_install param3 CDATA #IMPLIED>
 <!ATTLIST make_install paramx CDATA #IMPLIED> */ I think this could be a problem! */
<!ELEMENT chroot (config,build install)> /* This needs fixed - what needs to be here? */
 <!ATTLIST chroot dir CDATA "&LFS;">
<!ELEMENT package (preconfigure?,configure?,prebuild?,build?,preinstall?,install?,postinstall?)>


More information about the alfs-discuss mailing list