Ticket #120 (closed feature: implemented)

Opened 2 years ago

Last modified 18 months ago

Support system-wide installation

Reported by: tim Owned by: tim
Priority: major Milestone: 0.4
Component: Fawkes Version:
Keywords: buildsys Cc:
Git Branch: timn/sysinstall

Description

Currently, Fawkes is used by checking out the current git tree (or since recently downloading the tarball), compiling, and then running it from the created bin/lib/plugins directories, all within the working tree. This works reasonably well for RoboCup and during development.

However, it is desirable to be able to do a system-wide installation of Fawkes. This most useful when

  • running a simulation environment
  • you want to produce a LiveCD to give to students and lab workers to just get them started and to get people interested in robotics and Fawkes
  • developing plugins that do not need modifications to the base system out-of-tree
  • deploying the software on a supported robot system and then run it

Therefore support for system-wide installation is to be added to the Fawkes build system. It should support the usual make install DESTDIR=dir pattern, with the DESTDIR part being optional. Then it will install all libraries, binaries and plugins in appropriate places. This will need a separate build target, as run-time paths need to be adapted and rpaths have to be avoided.

A goal is to produce RPM packages of Fawkes 0.4 for Fedora (and possibly other systems).

Change History

Changed 2 years ago by tim

  • status changed from new to accepted
  • milestone set to 0.4

Changed 2 years ago by tim

There is a feature branch up for review as sysinstall branch.

Changed 2 years ago by tim

  • gitbranch set to timn/sysinstall

Changed 2 years ago by tim

  • status changed from accepted to reviewing

Should now be feature complete, but probably still needs some work to catch all cases. Will try by building an RPM now. Supports external plugin compilation, i.e. a separate directory that contains code to develop and build plugins/tools/libs.
Missing are installation from the external plugin directory and the possibility to specify a search path for plugins to be able to use the plugin from the external directory in the system-wide installed Fawkes instance.
Putting this up for review now, as the most important stuff has been added. You can try with:
make switch-buildtype-sysinstall
make DESTDIR=/usr
make install DESTDIR=/usr

If DESTDIR is omitted defaults to /usr/local. Review and comments welcome, want to merge this soonish (preferably before the Aldebaran workshop next weekend).

Changed 18 months ago by tim

  • status changed from reviewing to closed
  • resolution set to implemented
Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Subscriber, Participant

  • Fawkes Trac List(Always)
  • Tim Niemueller(Reporter, Owner, Participant)