Syntax (was syntax.txt)

Jason Gurtz jason at tommyk.com
Mon Jun 25 14:33:16 PDT 2001



> I don't think that the config, build and install tags should be
> manditory.
> Some packages for example may be installed by just make, make install.  I
> have other reasons, but I think that one is clear.

****WARNING:  LONG POST****

	This post got me really thinking, but it didn't really hit me 'til I got up
to writing about the <config> tag.  I think maybe now is good time to really
re-conceptualize the naming/usage of tags and what and how things are
mandatory.

	Here is my proposal for a template profile:

<package>
	<name />
	<version />

	<pre>
		<!--
			in here would go any archive operations, file patching, directory making,
environment setting, configuring of any build tools, and/or running
./configure.  Operations to the Makefile after running ./configure would go
here too
		-->
	</pre>

	<build>
		<!--
			any running of make/imake/gmake goes here.  Some packages don't need
compilation/building.  In these cases, any file operations that
copies/moves/links into the main file system should go here.
		-->
	</build>

	<post>
		<!--
			Cleaning up after the build, and any post installation configuration goes
here.  For example, a profile for the Vim package could supply a default
.vimrc, or could prompt for one.  In the future, if/when alfs supports
upgrade style profiles, tags in here could prompt the admin if configuration
affects the all users or just certain groups, etc...
		-->
	</post>

</package>

	I submit that <pre>, <build>, and <post> are all optional by default; only
<package>, <name>, and <version> will be mandatory to a profile.  However,
any sub-tags that fit into the definition of <pre>, <build>, or <post> will
immediately render the parent mandatory.  So, let's decide in stone the
definitions of <pre>, <build>, and <post>.

	The next issue is deciding on initial tags that actually do somthing.  Here
is my submittal of what is neccesary:

****NOTE: the < /> style is optional, though not supported by any tag that
can contain sub-tags.  <tag></tag> style can always be used for every
tag****

<unpack></unpack> with mandatory sub-tags <src /> and <dest /> and optional
tag(s) <param />

<copy></copy> with mandatory sub-tags <src /> and <dest /> and optional
tag(s) <param />

<move></move> with mandatory sub-tags <src /> and <dest /> and optional
tag(s) <param />

<remove></remove> with mandatory sub-tag <dir /> and optional tag(s) <param
/>

<patch></patch> with mandatory sub-tags <src />(the patchfile), <dest /> and
<param />

<link></link> with mandatory sub-tags <src /> and <dest /> and optional
tag(s) <param />

<configure></configure> with mandatory sub-tag <dir /> and optional tag(s)
<param />

<make></make> with mandatory tag <dir /> and optional tag(s) <param />

<param /> if there is more than one of these, they are applied top to bottom
in order as arguments to the 'commanding' tag.

<dir /> the directory where the 'commanding tag' is run.

<src /> source file/directory

<dest /> destination file/directory

last but surly not least we need a way to edit files. patch could be used,
but , well...

<sed></sed> with mandatory tags <src /> and <dest /> and <param />

I know this is a lot but how 'bout some comments  =)

~jason

--
+------------------+
| Jason at tommyk.com |
+------------------+

-- 
Unsubscribe: send email to alfs-discuss-request at linuxfromscratch.org
and put unsubscribe in the subject header of the message



More information about the alfs-discuss mailing list