summaryrefslogtreecommitdiffstats
path: root/scripts/bootstrap/builder.sh
blob: c16fce14cc63e70aa51d95b941e479b7a99befa3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /bin/bash

# ENVIRONMENTAL PARAMETERS
# REBUILD_INTERVAL (days), manual if not specified
# REBUILD_FAILED (days), manual if not specified 

# This is intended as permanent container
while [ 1 ]; do
    emerge --usepkg --buildpkg --keep-going --update --deep --with-bdeps=y --newuse @world
    status=$?

    if [ $status -eq 0 ]; then
        echo "Emerge successful"
        [ -n "$REBUILD_INTERVAL" ] && echo "Rebuild is scheduled in $REBUILD_INTERVAL days"
        bash /etc/portage/scripts/bootstrap/builder_sleep.sh "$REBUILD_INTERVAL"
        bash /etc/portage/scripts/bootstrap/builder_sync.sh
    else
        echo "Emerge crashed with error code: $status"
        [ -n "$REBUILD_FAILED" ] && echo "Automatic rebuild is scheduled in $REBUILD_FAILED days"
        bash /etc/portage/scripts/bootstrap/builder_sleep.sh "$REBUILD_FAILED"
        [ -n "$REBUILD_FAILED" ] && bash /etc/portage/scripts/bootstrap/builder_sync.sh
    fi
fi