Package the Linux clientside
For the new Ubuntu 22 and CentOS 9 images, I made it a goal to package the clientside. The main rationale:
- Maintainability, ease of upgrades (both for us and users, from many perspectives)
- Upgrades from slicefix if ever needed
- Ease of image import/export for users
- Real deps, most Emulab-specific config post-install should be linked to packages
An important goal is to support a non-conflicting source install in the usual place. However, it is hard to get away from overlap in /etc/emulab
, and I decided that is ok in the end, because of how we use paths.*
at script runtime to "resolve" installed locations. We also ended up needing a /usr/local/etc/emulab
symlink to the new BINDIR, because libreboot
on the server side assumes it. My hope is that we can stop installing this package in the future, but until server sides are updated everywhere to do something more intelligent, we have to preserve it. Plus profiles likely hardcode things like /usr/local/etc/emulab/mkextrafs.pl
.