Exheredludis/hooks/news.hook.in
Mike Kelly fa60a909b0 Add --with-config-framework=[eselect|eclectic].
Defaults to eselect. Lets Exherbo finally drop eselect.

Fixes: ticket:657
2008-10-26 01:20:29 -04:00

59 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# vim: set et sw=4 sts=4 :
# Copyright (c) 2006, 2007, 2008 Ciaran McCreesh
#
# This file is part of the Paludis package manager. Paludis is free software;
# you can redistribute it and/or modify it under the terms of the GNU General
# Public License, version 2, as published by the Free Software Foundation.
#
# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
check_for_news()
{
export PATH="$(${PALUDIS_EBUILD_DIR}/utils/canonicalise ${PALUDIS_EBUILD_DIR}/utils/ ):${PATH}"
export ROOT="${ROOT}"
source ${PALUDIS_ECHO_FUNCTIONS_DIR:-${PALUDIS_EBUILD_DIR}}/echo_functions.bash
count="$(@CONFIG_FRAMEWORK@ news count )"
done_echo=
if [[ ${count} -gt 0 ]] ; then
[[ -z "${done_echo}" ]] && echo ; done_echo=yes
ewarn "You have ${count} unread news items (use '@CONFIG_FRAMEWORK@ news' to read)"
elif [[ "${HOOK/pretend}" == "${HOOK}" ]] ; then
[[ -z "${done_echo}" ]] && echo ; done_echo=yes
einfo_unhooked "No unread news items found"
fi
}
stale_hook()
{
export PATH="$(${PALUDIS_EBUILD_DIR}/utils/canonicalise ${PALUDIS_EBUILD_DIR}/utils/ ):${PATH}"
source ${PALUDIS_ECHO_FUNCTIONS_DIR:-${PALUDIS_EBUILD_DIR}}/echo_functions.bash
echo
ewarn "news hook should not be run in phase '${HOOK}'"
ewarn "Do you have stale symlinks?"
}
for h in sync_all_post install_all_post install_pretend_post install_task_execute_post ; do
eval "hook_run_${h}() { check_for_news ; }"
eval "hook_after_${h}() { echo gnu_info_index eselect_env_update log write_cache_clean ; }"
done
for h in install_all_post install_pretend_post ; do
eval "hook_run_${h}() { stale_hook ; }"
done
hook_auto_names() {
echo sync_all_post install_task_execute_post
}