Next: , Previous: Commands, Up: Top



6 Installation

6.1 How to install

These are installation instructions for siliconBrain. (Version: 0.2.3 from Tuesday December 14 23:31:29 2004)

6.1.1 The simplest way

The simplest way to use this package is by not installing it at all, but just use it from where it is. Yes you don't have to install it. You can just call the programs. If that's your way do the following:

  1. cd into the packages root directory. For example cd ~/myPackages/siliconBrain.
  2. Call ./siliconBrainInstall without any parameters.
  3. The last two lines contain settings, which you should include somewhere to be executed, where you like to use this package. So for instance you can add these two lines to your .bash_profile. All output of siliconBrainInstall is written to stderr except the last two lines, which are written to stdout. So you can also call:
              ./siliconBrainInstall > fileToRememberTheSettings
         

6.1.2 Install the package somewhere

If you want the package to be installed somewhere, you have to follow this section.

First we have to clarify some concepts.

The installationPath is the directory, where to the package directory will be installed. An example is /usr/local or ~/myPackages. This directory must exist prior to installation. You can use /usr/local (or a directory below), if you use siliconBrain for your own developed software. You can use /usr (or a directory below), if this package is delivered by someone else.

The installationDirectory is the newly created package root directory. The installationDirectory will be created by siliconBrainInstall. Normally part of its name is the package name and/or the release number. When you specify the installationDirectory you can use some place-holders:

%p
This is replaced by the package name. You an use this placeholder when you write a script, which will be used for more than one siliconBrain package.
%r
The release number of the package. For example “0.1.42”.
%R
The release number, but with underscores instead of dots. For example “0_1_42”.

So specifying %p_%R will result in siliconBrain_0_1_42.

There are three ways to specify installation path and directory:

As in subsection “The simplest way” at the end the script will output two lines which you can add to your configuration. And all output is written to stderr and just the two last lines are written to stdout. Thus you can collect the two lines with redirection.

6.1.3 Compile this package

  1. Make sure that the siliconBrain main package is installed.
  2. Make sure that the packages root directory has the same name as the package (siliconBrain). (If not the directory name will become the new package name.)
  3. cd to the directory containing the package's source code and type make.
  4. Use ./siliconBrainInstall as described in section “Install the package somewhere”. Or you can use make install, which just calls siliconBrainInstall with no arguments. If you do so, siliconBrainInstallPath and siliconBrainInstallDirectory should be set correctly.

6.2 Overview

This is siliconBrain (0.2.3). It is an open source generic make environment.

siliconBrain is a system helping to create applications used in traditional business. Applications, which are based primarily on data, update screens and processes. A lot of things are standardized and created automatically.

So is the creations of documents, an automatic install procedure, an automatic creation of a documenting web site and an automatic publish to a web host.

This make environment is for open source projects only, as it automatically publishes sources when installing or web-publishing.

Current version is: 0.2.3 from Tuesday December 14 23:31:29 2004

The primary distribution point is ftp://ftp.siliconbrain.com/pub/ and the primary home page is http://www.siliconbrain.com/siliconBrain.

Mail to: Joerg Kunze

For generic installation instructions on compiling and installing this distribution, please read the file `INSTALL'.

This distribution includes the following files, among others:

AUTORS
Who has worked on this project.
COPYING
Terms and conditions for copying program sources.
COPYING.DOC
Terms and conditions for copying the documents.
ChangeLog
History of changes.
INSTALL
Basic installation guidelines.
INTRODUCTION
Brief introduction to the system.
NEWS
Summary of new features by release.
README
This file.
RELEASE
The release number of this package.
TODO
What is still to be done.
makefile
The file for “make” to recompile the package.
temporary
Directory containing all interim generated and compiled files, which are only needed for the make and build process.
distribution
The results of make, which will be used when using this package.
distribution/documentation/siliconBrain.info
The main documentation as info file.
distribution/documentation/siliconBrain.dvi
The main documentation for printed output.
distribution/documentation/web/index.html
The main documentation in html.

Note: the same file with the ".template" extension do not describe the siliconBrain package, but are templates used by siliconBrain to set up new projects or packages.

6.3 NEWS

This file records noteworthy changes.

6.3.1 0.2.3 (14 December 2004)

Main features are the development towards file handling commands, where we have stringSearch as an example. And into the direction to write everything in C. Here testMakeClean is the example. Many things from here will move to siliconBrainLib.

• fileReader:
<file> in command specification generates a
file handling command.

• test:
− simple ed (editor) wrapper in SiliconBrain.pm
allows testing and simulation of manual changes.
− test “make clean”, “make all”, “make all”
sequence once a day for all siliconBrain packages.

• publish/webify:
− fasten emacs, by surpressing init files.

• makefile:
− wrapping of compile and link into perl scripts.
− creation of binary depends on object dependency
files during link.
− better sequence, of what is made when.
− things created by a generator, now depends on it.

• command:
− file reading and handling command support.
− Boyer-Moore-Horspool implementation for a string
search command.

• language:
− do more and more in pure c (no perl, bash, emacs
and friends (just a start)).

6.3.2 0.2.1 (14 August 2004)

The middle release number is increased to 2 due to the now completely implemented configuration support. Packages now can have a configuration specification, which are automatically handled as options of all commands of that package. Options are read from command line, environment variables and executable XML creating configurations.

• libraries:
makefile now supports using glib-2.0.
makefile now supports using siliconBrainLib.

• generator:
− The command generator is now a main program,
no longer linked to the specification.
− The generator is fed by XML specifications.
− Command and record generator are now one program.
− The standard record option specifications are no
longer injected into the project.
− The command specifications now pipe there
XML output to the generate main.

• configuration:
− A packageName.specification adds package standard
options to all commands.
− A generated configurationReader reads
command line options, environment and configurations and outputs everything in perl, bash or XML syntax.
− A --complete option stops further reading of
configurations and options.
− Flag options can be set to false.
− Evaluate environment variable $siliconBrainConfigurationPath.

• XML output:
− using siliconBrainLib xml printer
to output pretty printed and colorized xml perl or bash syntax.

• publish:
− target host and directory is configurable.

• test:
− publish, download and install are no tested.

6.3.3 0.1.3 (21 October 2003)

The main change is: the sample projects siliconBrainMember and siliconBrainEmpty are complete htmlilized and linked into the manual. So in the documentation this project, we can see a complete “normal” project including its temporary files.

• webify:
− Include package specific extensions.
− Enable the htmlilization from other dirs into
target dirs.
− optional complete htmlilize (including temp files).

• cvs:
− a .cvsignore template is copied into new project.
• documentation:
− Some more comments in the Texinfo snippet templates.

6.3.4 0.1.2 (30 September 2003)

The big step of this version is the usage of command and record specifications and the generation of corresponding include file, main() function, man and info page, texinfo doc and option handling code.

• environment:
− Starting with using perl.
− Handling of perl and h files.
− Use GNU extension of C and its lib.
− Drop support of m4 files.

• specification:
− Added handling of specification files in C.
− Support command specifications.
− Support record specifications.
• generator:
− Generate the main() for a command.
− Generate short and long command line options for a command.
− Generate info dir file.
− Generate texinfo file out of the command specification.
− Generate info file out of the command texinfo.
− Generate man page out of texinfo (texi2man).
− Generate handling of standard options like –version.
− Generate a “copying generated files” notice and
version information in all generated files.
• test:
− auto test the usage of a created package/project.
− in SiliconBrain.pm provide a collection of
test utilities.

6.3.5 0.1.1 (13 May 2003)

This is the first time siliconBrain is somehow usable for projects. A lot of things are not implemented yet. But to write simple C-programs and to create their documentation is already working.

• make:
− Package specific extensions to the makefile
are possible.
− Real test: create a package and try to make it.
− Create packageName.info when calling make
the first time.

• documents:
createReleaseInformation generates output
for bash and Texinfo.
− Many doc's include and use the generated releaseInformation.
− Use -e for texi2dvi so that we
can use include files.
− Create *.dvi independent of *.info.
− Stop make, if texi2dvi issues messages.
• directory tree:
− distinguish between temporary and distribution subdir.

6.3.6 0.0.97 (6 May 2003)

• install:
install.snippet.texinfo is written.
− there is a ./siliconBrainInstall script generated.
− Package can be run without installation.
• directory tree:
− templates placed in templates subdir.
− documents reside in documentation subdir.
• m4:
− handling of m4 files is added.
− setEnviroment is created.

6.3.7 0.0.86 (21 April 2003)

• make info:
− The makeDependencies.awk detects automatically dependencies of texinfo files. These are included in the makefile.
• snippets:
− Building blocks of docs are hold in texinfo snippets.
− Snippets are transformed into html and text.
− Snippets are reusable document parts.

6.3.8 0.0.85 (20 April 2003)

• make public:
− first time a full automatic publishing on a web-host.
− HTML documentation and ftp of tar.gz is generated.
− For each publish a new release name is generated.
− automatic tagging of CVS with that name.

6.4 TODO

6.4.1 These are the things, which are to be done sometimes:

• :
− <Out of date>.

6.5 AUTHORS

The following persons have contributed to this package (it's just me for the moment):