freebsd-helpers/poudriere.sh

93 lines
2.7 KiB
Bash

#!/bin/sh
# This is a script to be executed by cron.
# It handles the automated maintenance of a poudriere package repository.
# Prepare misc logfile
rm /tmp/poudriere-misc.log > /dev/null 2>&1
touch /tmp/poudriere-misc.log > /dev/null 2>&1
# Update ports tree
rm /tmp/poudriere-ports-update.log >> /tmp/poudriere-misc.log 2>&1
touch /tmp/poudriere-ports-update.log >> /tmp/poudriere-misc.log 2>&1
/usr/local/bin/poudriere ports -p rolling -u >> /tmp/poudriere-ports-update.log 2>&1
ports_success=$?
# Update poudriere jail
rm /tmp/poudriere-jail-update.log >> /tmp/poudriere-misc.log 2>&1
touch /tmp/poudriere-jail-update.log >> /tmp/poudriere-misc.log 2>&1
/usr/local/bin/poudriere jail -uj 122amd64 >> /tmp/poudriere-jail-update.log 2>&1
jail_success=$?
# Do bulk build
rm /tmp/poudriere-bulk.log >> /tmp/poudriere-misc.log 2>&1
touch /tmp/poudriere-bulk.log >> /tmp/poudriere-misc.log 2>&1
/usr/local/bin/poudriere bulk -j 122amd64 -p rolling -f /usr/local/etc/poudriere-list >> /tmp/poudriere-bulk.log 2>&1
bulk_success=$?
# Output at the very end, without time-consuming shit in between.
echo "================================================================================"
echo "################################### Summary ####################################"
echo "================================================================================"
echo
if [ $ports_success -eq 0 ]
then
echo "Successfully finished updating ports tree."
else
echo "Failed updating jail ports tree."
fi
echo
if [ $jail_success -eq 0 ]
then
echo "Successfully finished updating jail 122amd64."
else
echo "Failed updating jail 122amd64."
fi
echo
if [ $bulk_success -eq 0 ]
then
echo "Successfully finished bulk build."
else
echo "Failed doing bulk build."
fi
echo
echo "Misceallenous messages:"
cat /tmp/poudriere-misc.log
echo
echo
echo "================================================================================"
echo "############################## Ports Tree Update ###############################"
echo "================================================================================"
echo
cat /tmp/poudriere-ports-update.log
echo
echo
echo "================================================================================"
echo "################################# Jail Update ##################################"
echo "================================================================================"
echo
cat /tmp/poudriere-jail-update.log
echo
echo
echo "================================================================================"
echo "################################### Bulk Build #################################"
echo "================================================================================"
echo
cat /tmp/poudriere-bulk.log
echo
echo