robotpkg

robotpkg is a compilation framework and packaging system for installing robotics software developed by the robotic community. It also contains packages for some general, third-party open-source software that the robotics software depends on and that is not commonly packaged by major unix distributions.

Each package in robotpkg has its own version control system and build system and robotpkg acts merely as an automated wrapper to build and install software and its dependencies. The packaged software does not depend in any way on robotpkg, so that manual installation (without robotpkg) is always possible. robotpkg itself is lightweight, in the sense that only the packages you are interested in will be downloaded and installed.

robotpkg is based on the NetBSD Package System, also known as pkgsrc and is released under an open-source, BSD license (note that each individual package has its own license, which is usually open-source, but not necessarily).

Available Packages

A few more packages, often less stable, are available via the robotpkg-wip repository.

Supported systems

robotpkg should run on any Unix platform, with the notable exception of Darwin (MacOS X) where support is currently limited.

The development is done mostly on Fedora and Ubuntu Linux as well as NetBSD systems. Any Linux distribution is supposed to work out-of-the-box and if it is not, feel free to report a bug (see below). BSD systems should work too. robotpkg itself will work on MacOS X, but quite a lot of packages might not compile. If you would like to see some specific package to be enabled and more thouroughly tested on Darwin, feel free to drop me an e-mail.

Download robotpkg

  • Binary distribution:

    We do not provide yet a bootstrap kit in binary form. Sorry.

  • Source distribution:

    You can checkout the latest sources using git:

    # git clone git://git.openrobots.org/robots/robotpkg

    or, if you are behind a firewall that does filter the git:// protocol:

    # git clone http://git.openrobots.org/git/robots/robotpkg.git

The five minutes guide to setup robotpkg

First, make sure that you have the gnu-make software available on your system (version 3.81 or later required), as well as a working C compiler chain.

After downloading the sources, you need to choose where the packages will be installed. By default, robotpkg uses the /opt/openrobots prefix. If this location is convenient for you, installing the bootstrap kit should be as simple as:

# cd robotpkg/bootstrap
# ./bootstrap

Notes:

  • The bootstrap script will try to create the initial /opt/openrobots directory with your user id. If you are not allowed to do so, you should create the /opt/openrobots manually before calling bootstrap, or install to a different location as explained below.
  • If you need to install to a different prefix, pass the --prefix option to bootstrap. For instance, installing the packages in your home directory can be configured like this:
    # ./bootstrap --prefix=${HOME}/openrobots

    Make sure to read carefuly the instructions printed at the end of the bootstrap for configuring your shell environment.

The five minutes guide to your first package build

Before installing your first package, robotpkg must have been boostraped (see above). Once bootstraping is done, installing a package can be done by changing to the directory (within the robotpkg hierarchy) of the package to be installed and doing make update:

# cd robotpkg/<category>/<package>
# make update

A more extensive and largely incomplete (!) documentation is also available online, or in the doc/robotpkg directory of robotpkg.

Keeping up-to-date

robotpkg is a living thing, and updates to the packages are made perdiodicaly. In order to get the most recent packages, you should keep your robotpkg copy up-to-date by regularly running "git pull" in it.

If you want to be informed of package additions and updates, a robotpkg@laas.fr mailing list is available for your reading pleasure. Go to https://sympa.laas.fr/sympa/info/robotpkg for more information, archives and subscription.

Reporting problems

If you encounter problems that you cannot solve, a bug management system for robotpkg is available here. You can also post to the aforementioned mailing list. Make sure to always include as much relevant detail as possible, such as the operating system and any *.log files found in the work directory of the faulty packages.

Getting involved

robotpkg is open to new contributions, bug fixes, infrastructure improvements, etc. A requirement for a person to become a robotpkg contributor is to first become involved. This may be done by either contributing new packages, fixing exiting ones, contributing to the documentation, ...

With git, you can easily mirror the robotpkg repository and develop or test your contributions locally. Once you are satisfied, please contact us via the robotpkg@laas.fr mailing list (see "Keeping up-to-date" above). Make sure to mention a public URL from where your repository can be cloned and the changes browsed.

Note that the robotpkg-wip repository is another way to get involved: commit in this repository is allowed for anyone requesting a commit access and packages committed there needs not to be reviewed beforehand.