Package Management and synchronisation - kraut-computing/siegfried GitHub Wiki
We use the default gentoo package manager portage. To synchronise our nodes we use robert as our build node and share binary packages.
Also see gentoo wiki
- edit
/etc/portage/make.confto build binaries FEATURES="buildpkg"- export binaries via NFS
-
/etc/exports:/usr/portage/packages <clients>(ro,no_subtree_check,root_squash) /etc/init.d/NFS restart- add NFS to runlevel
-
- mount binaries
-
/etc/fstab:robert:/usr/portage/packages /usr/portage/packages nfs defaults 0 0 mount /usr/portage/packages/- edit
/etc/portage/make.conf EMERGE_DEFAULT_OPTS="--usepkgonly --rebuilt-binaries"
TODO: vorher testen, ...
We use Puppet to manage the packages on the system.
All settings are in <PUPPET_CONFIG_DIR>/manifests/10_packages.pp
Add a line to the setupfile to install or uninstall packages
package { "<package id>[:slot]":
ensure => <latest/version/absent>,
[package_settings => {
use => "<useflags>",
}]
}
for use flages on dependencies remove the ensure line.
also see project homepage