NSLS-II Controls Package Repository

This repository contains installable software packages in the Debian Linux format (.deb). The software packaged includes the EPICS distributed control framework, the RTEMS real-time operating system, and related packages. Our goal is to provide a fully functional EPICS environment for users and developers.

Packages in this repository were developed (and are used) by the NSLS-II Controls Group. However, no NSLS-II specific modification have been made. They are also being used by several experimental beamlines at the NSLS.

Currently all packages are built only for Debian Stable (wheezy) on i386 and amd64. However, they can be used with most Debian derived distributions (ie. Ubuntu). At present the limiting factors are time, and lack of a good system to automatically build a series of dependent packages.

Status

Complete listing of repository contents by release point.

Debian Release NSLS-II Release
Wheezy (7.x) N/A N/A 2013B wheezy Latest
Squeeze (6.x) N/A 2012A 2013B squeeze
Lenny (5.x) epicsdeb10 2012A N/A lenny

Getting Started

Setting up a Debian Stable (wheezy) system to use the repository:
  1. Download the repository signing key: http://epics.nsls2.bnl.gov/debian/repo-key.pub
  2. Add the key to the APT keyring with the following command.
    # apt-key add repo-key.pub
  3. Add the following lines to: /etc/apt/sources.list Also ensure that you include the 'contrib' on 'non-free' sections of the main repository (for Open Motif needed by EDM)
    deb http://epics.nsls2.bnl.gov/debian/ wheezy main contrib
    deb-src http://epics.nsls2.bnl.gov/debian/ wheezy main contrib
    (Remember the space between debian/ and wheezy)
  4. Fetch the list of packages.
    # apt-get update
  5. Install packages.
    # apt-get install [see list below...]

Note: BNL on-site users remember to configure APT to use the web proxy.

Useful groups of packages to install

As an example

# apt-get install edm edm-synapps
...
$ export EDMDATAFILES=.:/usr/lib/epics/op/edl
$ edm -m 'P=somename:,M=axis1' motorx_all

This has installed the EDM display manager and all the panels which are part of the synApps distribution. For a full list of installable packages see the package listing page.

Parital List of Packaged Software

Some package which will probably be of interest.

Name Description
Clients
edm The Extensible Display Manager
alh The EPICS Alarm Handler
striptool Strip-chart plotting tool
python-cothread Simple and powerful Python language bindings for EPICS Channel Access clients
epics-catools Command Line tools (caget, caput, camonitor, ...)
Linux softIOCs
epics-dev EPICS Base headers and utilities.
epics-synapps-dev synApps headers and utilities
procserv Process Server. For running softIoc as daemons.
sysv-rc-softioc SysV style script to start softIocs automatically at boot.
RTEMS IOCs
rtems-gesys-mvme3100 RTEMS Generic System Application (for Emerson MVME3100)
epics-synapps-mvme3100 synApps headers and utilities (for RTEMS on MVME3100)

RTEMS

Currently only the following architectures and Board Support Packages are included. If you use EPICS with a BSP which is included in the RTEMS distribution, but not listed here then let us know.

Architecture BSP name
i386 pc386
powerpc mvme2100
powerpc mvme2307
powerpc mvme3100
powerpc mvme5500

Releases

Releases are made by making a copy of the current (stable) repository and giving it a name. Once a release is made it will receive only bug-fixes.

Name Date Debian Release EPICS Base synApps
wheezy/2013A August 2013 Wheezy (7.0) 3.14.12.3 20130320
squeeze/2013A August 2013 Squeeze (6.0) 3.14.12.3 20130320
squeeze/2012A Febuary 2012 Squeeze (6.0) 3.14.11 20111025
lenny/2012A Febuary 2012 Lenny (5.0) 3.14.11 20111025
epicsdeb10 May 2010 Lenny (5.0) 3.14.10 5.4.1

Building Packages from Source

All source code used to produce the precompiled binary packages in this repository is also present as source packages. These can be obtained and built in two ways.

All binary packages in this repository are built in a clean snapshot of a virtual machine (QEmu or VirualBox). This is done to verify build dependecies and to guard against unintended dependecies.

Release Source

Simply request the source package from the repository.

$ mkdir dpack
$ cd dpack
$ sudo apt-get build-dep epics-base
$ apt-get source epics-base
$ cd cd epics-base-3.14.10
$ debuild -us -uc
$ cd ..
$ sudo dpkg -i *.deb

Versioned Source

The source and patches of all packages are tracked with the Git version control system. These Git repositories use Pristine-tar to store the tarball. Allowing them to be entirely self contained. The git-buildpackage tool can be used to control the build process.

$ mkdir dpack
$ cd dpack
$ mkdir tmp
$ git clone http://pubweb.bnl.gov/~mdavidsaver/git/dpack/epics-base.git
$ cd epics-base
$ git-buildpackage --git-pristine-tar --git-export-dir=$PWD/../tmp

All Git repositories are available here or here for anonymous read-only access.

BNL Proxy

For computers on-site, APT needs to be configured to use the http proxy. This can be set in the file /etc/apt/apt.conf:

Acquire::http::Proxy::mirror.bnl.gov "DIRECT";
Acquire::http::Proxy  "http://192.168.1.130:3128";

Sets the default proxy, but bypasses it for the local Debian mirror. Remember that this will be overridden by the http_proxy environment variable.

© 2012 Brookhaven National Lab
Maintainer: Michael Davidsaver