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:
- cd into the packages root directory. For example cd
~/myPackages/siliconBrain.
- Call ./siliconBrainInstall without any parameters.
- 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:
- Use siliconBrainInstall with either the option -i
or --interactive to be prompted for your choices.
- Specify both as positional parameters on the command-line.
./siliconBrainInstall /usr/local siliconBrain
You can use this if you write a generic script, which has the duty to
install siliconBrain packages. Then you may write:
./siliconBrainInstall /usr/local %p.%r
- You can set the two environment variables
siliconBrainInstallPath and
siliconBrainInstallDirectory. This could be the choice if you
constantly are installing packages.
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
- Make sure that the siliconBrain main package is installed.
- 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.)
- cd to the directory containing the package's source code and
type make.
- 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):