On 3/25/09 4:43 AM, Alan McKinnon wrote:
On Wednesday 25 March 2009 12:38:53 David wrote:
I wrote an entry in my blog about gentoo, and created a little script to
make gentoo handling a bit easier, and whant to share it will all gentoo
users to see if it could help them to understand gentoo better (specially
for noob ones), and simplify its handling.
I think it is not spam, since it could help others (I hope so).
The link: http://stormbyte.blogspot.com/2009/03/gentoo-easy-handling.html
David.
It's far too simplistic. It doesn't take account of dependencies that must
also be masked/unmasked/whatever and will cause obscure error messages that
will confuse the user more than simply using portage.
HAHAHA! Yeah, that's why I wrote the poorly received "bastard"
Good luck with it. I think it kicks ass, and totally ignores
everything. I use this everywhere.
e.g.
bastard =gnome-2.18"*"
bastard =nginx-0.7"*"
bastard =postgresql-server-8.3"*"
Unmasking-the-new-Gnome/KDE-ly Yours,
Joshua
#!/bin/bash
echo "Bastard.sh - mass unmasker."
echo "Note to self: unmasking packages is fun and exciting, but may be
dangerous."
echo "Ensure you have a backup, or a box of tissues. It's possible to cause
system b0rkage."
echo "For instance: Be very wary of unmasking portage releases."
echo "Ctrl-C to abort"
sleep 3
if [ "${1}" == "" ]; then
echo "usage: ${0} <package spec>"
echo " e.g. ${0} =gnome-base/gnome-2.14*"
echo "note: please use the version, otherwise it only examines the masked
revisions"
exit
fi
while [ 1 ]; do
FULL=`emerge -pv $*`
PM=`echo "${FULL}" | grep '^-.*masked by.*package.mask'|cut -d ' ' -f 2`
PK=`echo "${FULL}" | grep '^-.*masked by.*\~.*keyword'|cut -d ' ' -f 2`
RES=$?
if [ ${RES} == 0 ] && [ "${PM}" == "" ] && [ "${PK}" == "" ]; then
FILE=/tmp/$$.`basename ${0}`.log
echo "Full: ${FULL}" > ${FILE}
echo "See ${FILE} for the final message, however this looks complete."
cat ${FILE} | grep '^\[block' > /dev/null && echo "You have blocked
packages, however once resolved you should be able to merge successfully."
break
fi
for x in ${PM}; do
echo "Unmask: ${x}"
echo "=${x}*" >> /etc/portage/package.unmask
done
for x in ${PK}; do
echo "Keywords: ${x}"
echo "=${x}* ~x86" >> /etc/portage/package.keywords
done
done