Skip to Content.
Sympa Menu

sm-sorcery-bugs - [SM-Sorcery-Bugs] [Bug 10680] New: make cast completely scriptable

sm-sorcery-bugs AT lists.ibiblio.org

Subject: Bugs for Sorcery are reported here

List archive

Chronological Thread  
  • From: bugzilla-daemon AT bugs.sourcemage.org
  • To: sm-sorcery-bugs AT lists.ibiblio.org
  • Subject: [SM-Sorcery-Bugs] [Bug 10680] New: make cast completely scriptable
  • Date: 11 Mar 2006 18:29:16 -0000

http://bugs.sourcemage.org/show_bug.cgi?id=10680

Summary: make cast completely scriptable
Product: Sorcery
Version: Untargetted future release
Platform: Other
OS/Version: other
Status: NEW
Severity: normal
Priority: P2
Component: Cast
AssignedTo: sm-sorcery-bugs AT lists.ibiblio.org
ReportedBy: iuso AT sourcemage.org


Cast should be able to run uninterrupted from start to finish with those
options automatically selected which it is told to select.

I see this kind of possibility as important for future applications of SMGL.
It would e.g. make it possible to create specialized ISOs: pop a CD in,
select
your few whatnots ("Do you want to install useless applications?") and wait
for 24 hours as a system specially designed for <your_preference_here> use
compiles itself, no questions asked.

I have a fairly simple idea about how this feature could be implemented
without changing how cast operates under normal circumstances. A command such

as this...
'cast goodprogram/CVS=n/[extraprogram]=y badprogram/RANDOM_BORKAGE=n'
...would cast spells goodprogram and badprogram like so:

In goodprogram,
- 'config_query CVS' is automatically answered 'n',
- 'optional_depends extraprogram' is answered 'y',

and in badprogram,
- 'config_query RANDOM_BORKAGE' is answered 'n'.

To be usable, this feature would require a sidekick feature in gaze that
would
check the "prompt tree" of a spell. It would execute the relevant spell files
using its own functions, and display on screen how different prompt answers
dictate what prompts need to be answered before compilation.

Here's an example. In goodprogram's CONFIGURE file, we find...

config_query CVS "Build cvs version?" n &&
if [[ "$CVS" == "y" ]]; then
config_query_option BRAND_SPANKING_NEW \
"Enable brand spanking new feature?" y \
"--with-brand-spanking-new-feature" \
"--without-brand-spanking-new-feature"
fi

...and in its DEPENDS we find these lines:

depends coca_cola &&
depends television &&
optional_depends extraprogram &&
if [[ "$CVS" == "y" ]]; then
depends cvs
fi

So the output of 'gaze prompts goodprogram' could look like this:

CONFIGURE:
config_query CVS "Build cvs version?" n
CVS=y | config_query_option BRAND_SPANKING_NEW \
"Enable brand spanking new feature?" y \
"--with-brand-spanking-new-feature" \
"--without-brand-spanking-new-feature"
DEPENDS:
depends coca_cola
depends television
optional_depends extraprogram
CVS=y | depends cvs

...and so on. (With a cvs option there would probably be conditionals in
DETAILS, too, which would also be shown here.)

This has been a lengthy rant (at least for me to write), hope I managed to
keep the pieces together.

--
Configure bugmail: http://bugs.sourcemage.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



  • [SM-Sorcery-Bugs] [Bug 10680] New: make cast completely scriptable, bugzilla-daemon, 03/11/2006

Archive powered by MHonArc 2.6.24.

Top of Page