= robotpkg as package manager for Nao = This page explains step by step how to install and configure `robotpkg` on the Nao robot. `robotpkg` is a package manager that allows to easily install and keep up-to-date a variety of softwares focused on academic robotics. You can learn more about `robotpkg` on its [[http://robotpkg.openrobots.org | homepage]]. [[http://robotpkg.openrobots.org/robotpkg/index.html | List of software packages available]] in `robotpkg` (note that some are not relevant to the Nao robot, like the ones requiring a GUI). {{{#!wiki note This should work with both Atom-based and Geode-based Nao (ie, Nao v3 and v4). }}} == Installing OpenNao packages on Nao == It is normally not possible to install OpenNao packages on Nao (the `emerge` tool is not provided) == Installation of robotpkg == * make sure your Nao has access to the Web. * log onto it. Many of the actions we will perform require root access. For convenience, you can edit `/etc/sudoers` with `su -c "vim /etc/sudoers"` and change it that way: {{{ root ALL=(ALL) ALL nao ALL=(ALL) ALL }}} This let you execute all actions requiring root access with `sudo`. * fetch the binary version of `robotpkg`: `wget http://robotpkg.openrobots.org/packages/bsd/OpenNao-1.14.5.1-i386/bootstrap.tar.gz` * extract it to `/`: {{{#!highlight sh $ cd / $ sudo tar -xf ~/bootstrap.tar.gz }}} * `robotpkg` is now installed on your Nao, in `/opt/openrobots`. Edit `.bash_profile` in your home directory, and add these lines to configure your environment: {{{ export OPENROBOTS=/opt/openrobots export PATH=$PATH:$OPENROBOTS/sbin:$OPENROBOTS/bin export MANPATH=$MANPATH:$OPENROBOTS/man # make sure 'sudo' keep your PATH alias sudo='sudo env PATH=$PATH' }}} * source the bash profile: `source .bash_profile` * install the package manager and update the list of available packages: {{{ $ sudo robotpkg_add http://robotpkg.openrobots.org/packages/bsd/OpenNao-1.14.5.1-i386/All/pkgin-0.6.4.tgz $ sudo robotpkgin update }}} == Usage == You can now call from any place `robotpkgin ` For instance: * `robotpkgin avail` lists all available packages * `robotpkgin search ` to search for a package * `robotpkgin install ` to install a package and all its dependencies * `robotpkgin remove ` to remove a package * `robotpkgin update` to update the list of packages Check `robotpkg --help` or `man robotpkgin` for the complete list of actions. {{{#!wiki warning As of September 2013, `robotpkgin` does '''not''' install nor list the ''system dependencies'' required by the packages. }}}