On Wed, Jun 7, 2017 at 4:26 PM, Harry Putnam <rea...@newsguy.com> wrote:
>
> Maybe some of you can steer me toward some documentation or tools etc
> that help a gentoo user to do automated updates.
>

Unmonitored updates sounds like a recipe for problems.  However, I do
have a cron job that does a --sync and then builds binary packages for
everything, and it emails me the emerge -pu output.  Then if I'm happy
with it I can just install the binary packages.

To build everything (this could be cleaned up a bit or parallelized,
and I stole it off of the lists):
#!/bin/sh

LIST=$(mktemp);

emerge -puD --changed-use --color=n --columns --quiet=y --changed-deps
--with-bdeps=n --backtrack=100 world | awk '{print $2}' > ${LIST};

for PACKAGE in $(cat ${LIST});
do
  printf "Building binary package for ${PACKAGE}... "
  emerge -uN --quiet-build --quiet=y --buildpkgonly ${PACKAGE};
  if [[ $? -eq 0 ]];
  then
    echo "ok";
  else
    echo "failed";
  fi
done

To install the packages you built:
ionice -c 3 nice -n 15 emerge -uDkv --changed-use --keep-going
--with-bdeps=n --changed-deps --binpkg-changed-deps=y --backtrack=100
world

Note that binary packages can only be built one level of dependencies
deep, so if you're doing something like a kde update you'll still end
up doing a LOT of building.  Then again, it often takes care of some
pretty big first-level dependencies like kdelibs.  Typically over 80%
of my package installs end up being from binaries, and often the stuff
that isn't is small.  If somebody triggers a rebuild of chromium then
that is a different story, but most chromium updates get built
overnight.


-- 
Rich

Reply via email to