Skip to content

Installing A* on OpenBSD

The simplest way to get started is to run the following command in a fresh install of OpenBSD.

Terminal window
ftp -o - http://localhost:4317/install.sh | sh

This section describes the initial setup of A* in a user account.

  1. Setup an OpenBSD machine using either a standard OpenBSD install (see platform-openbsd-laptop) or a virtual machine (see platform-openbsd-vm).
  2. Add a user account noting the username will be the same as your A* user identifier. Do not use use spaces or other symbols please.
  3. Set the shell to bash
  4. Ensure the password is strong and remote access is limited.

Contact an A* Administrator (Phil for now) and provide:

  1. Username - note that we need to keep these unique
  2. Proposed roles/purpose, e.g.
    • a-team member
    • a-user member
    • etc..
  3. Note that each component has its own set of roles for each user, e.g.
    • davem: developer access to all components.
    • dennis: read and ticketting access to all components.

The system provides a fine grained set of roles/capabilities (see RBAC) but in general we use:

developer - able to read and write a component.

reader - read only access to a component.

manager - read only access plus the ability to read/write Tickets, Forum, etc.

Create a working directory, typically:

% mkdir ~/as

Note that you can have more than 1 working directory but you will need to update the variables we set in the next two sections.

Add the following paths where as is your working directory.

export ASTAR=$HOME/as
export PATH=$ASTAR/bin:$PATH
export MANPATH=$ASTAR/man:$MANPATH

You may want to update your setup with a few aliases.

alias make=gmake
alias f=fossil
alias c="fossil commit"
alias d="fossil gdiff --tk --tclsh /usr/local/bin/tclsh8.6"
alias r="d;c;t"

We need to install a-clone to do the initial cloning/copying of the components. a-clone is implemented as a standalone program that specifically does not depend on any of the other A* components.

% cd $ASTAR
% pwd
% mkdir -p bin lib share man sbin include
% f clone https://$USER@a-star-microgrid.com/as/components/a-clone
% cd a-clone
% make install

The simplest case of cloning all components you have access to is:

% a-clone

This will download each component and setup component-name.fossil which is the fossil repository database and component-name containing the actual checked out version.

  1. Describe FOSSIL_USER variable
  2. Describe ASTAR_PASSWORD variable
  3. Bin/lib/… packager - rather than use the direct components we could make up meta components that setup bin/lib/… so that everyone doesn’t need access to the source components.