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

Setup Server node

  • edit /etc/portage/make.conf to 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

Setup Client

  • 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"

Usage

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

⚠️ **GitHub.com Fallback** ⚠️