Add the builditinator.sh script. This little tool can automate building,

upgrading, and testing of both stable and development GNOME versions.
If anybody wants to help run GNOME build testing, this tool is a great
way to make it happen.
This commit is contained in:
Adam Weinberger 2004-06-17 00:28:12 +00:00
parent 2e254dccdb
commit bc6372e791
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=21177
2 changed files with 177 additions and 4 deletions

169
en/gnome/builditinator.sh Normal file
View file

@ -0,0 +1,169 @@
#!/bin/sh
# builditinator.sh
# written by Adam Weinberger <adamw@FreeBSD.org>
# owned by the FreeBSD GNOME team <freebsd-gnome@FreeBSD.org>
# under the BSD Public Licence
# Adam hungry. need taco. unga.
# handles the basic processes of testing old and new GNOME versions
#### Be sure to change these variables to match your system:
LOGDIR=/build/output
MCOM_PORTS=/usr/ports/MARCUSCOM/ports
MCOM_PORTSTOOLS=/usr/ports/MARCUSCOM/portstools
FBSD_PORTS=/usr/ports
CVSUP_CONF=/etc/cvsup.conf
# Re-order these to install them in differing orders
# (low-key dependency checking):
METAPORTS="${METAPORTS} x11/gnome2"
METAPORTS="${METAPORTS} x11/gnome2-fifth-toe"
METAPORTS="${METAPORTS} x11/gnome2-power-tools"
METAPORTS="${METAPORTS} editors/gnome2-office"
METAPORTS="${METAPORTS} devel/gnome2-hacker-tools"
#### There are no interesting user-settable variables below this line.
BUILDITINATOR_VERSION=2.8.0
OLDVER=2.6
NEWVER=2.8
echo "`basename $0` version ${BUILDITINATOR_VERSION}"
clean() {
echo "==> Cleaning system..."
echo "Clearing out work directories..."
find ${FBSD_PORTS} ${MCOM_PORTS} -type d -name work | xargs rm -R 2>/dev/null
echo "Removing all ports..."
pkg_delete -a
echo "Finding missing plist items in /usr/local..."
find /usr/local -type f -o -type l > ${LOGDIR}/missing-plist-items-localbase 2>/dev/null
echo -n "Number of items found: "
wc -l ${LOGDIR}/missing-plist-items-localbase ; echo
echo "Finding missing plist items in /usr/X11R6..."
find /usr/X11R6 -type f -o -type l > ${LOGDIR}/missing-plist-items-x11base 2>/dev/null
echo -n "Number of items found: "
wc -l ${LOGDIR}/missing-plist-items-x11base ; echo
echo "Backing up extra files..."
tar cfy ${LOGDIR}/localbase-missing-items.tbz /usr/local 2>/dev/null
tar cfy ${LOGDIR}/x11base-missing-items.tbz /usr/X11R6 2>/dev/null
echo "Removing /usr/local..."
rm -R /usr/local 2>/dev/null
echo "Removing /usr/X11R6..."
rm -R /usr/X11R6 2>/dev/null
}
update() {
echo "==> Updating repositories..."
for dir in `find ${MCOM_PORTS} -type d -name files | sed -e "s|${MCOM_PORTS}|${FBSD_PORTS}|g"`
do
rm -R ${dir} 2>/dev/null
done
[ -f /usr/local/bin/cvsup ] || pkg_add -r cvsup-without-gui
cvsup ${CVSUP_CONF}
make -C ${MCOM_PORTSTOOLS} clean all
install -m 755 ${MCOM_PORTSTOOLS}/marcusmerge.sh /usr/local/bin/marcusmerge
install -m 755 ${MCOM_PORTSTOOLS}/gnome_upgrade.sh /usr/local/bin/
}
prime() {
echo "==> Priming system..."
make -C ${FBSD_PORTS}/sysutils/portupgrade install clean
pkgdb -F
WITHOUT_X11=yes portinstall editors/vim
}
install_new() {
echo "==> Installing metaports..."
for port in ${METAPORTS}
do
rm ${LOGDIR}/`basename ${port}`output.log 2>/dev/null
portinstall ${port} 2>&1 | tee ${LOGDIR}/`basename ${port}`output.log
done
}
upgrade() {
echo "==> Updating to ${NEWVER}..."
/usr/local/bin/gnome_upgrade.sh
}
cat <<MENU
BUILD ACTIONS
-------------
1) Run full upgrade cycle
2) Install fresh ${OLDVER} system
3) Install fresh ${NEWVER} system
4) Upgrade to ${NEWVER}
5) Freshen ${OLDVER} system
6) Freshen ${NEWVER} system
7) Clean and prime system
MENU
read -p "Select build action [1]: " action
# do all interactive thingers at the beginning
cd ${MCOM_PORTS} && cvs up
cd ${MCOM_PORTSTOOLS} && cvs up
case "${action}" in
"2")
clean
update
prime
install_new
exit
;;
"3")
clean
update
prime
marcusmerge
install_new
exit
;;
"4")
update
marcusmerge
upgrade
exit
;;
"5")
update
pkgdb -F
portupgrade -a
exit
;;
"6")
update
marcusmerge
pkgdb -F
portupgrade -a
exit
;;
"7")
clean
update
prime
exit
;;
*)
clean
update
prime
install_new
marcusmerge
upgrade
exit
;;
esac
echo "Here there be tacos"

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD: www/en/gnome/docs/volunteer.sgml,v 1.9 2004/04/04 21:49:39 phantom Exp $">
<!ENTITY date "$FreeBSD: www/en/gnome/docs/volunteer.sgml,v 1.10 2004/04/05 02:14:09 adamw Exp $">
<!ENTITY title "FreeBSD GNOME Project: How To Help">
<!ENTITY % gnomeincludes SYSTEM "../includes.sgml"> %gnomeincludes;
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
@ -32,9 +32,13 @@
<li>
<p>Proofread the FreeBSD GNOME <a href="../">project pages</a>,
and offer feedback and updates.</p></li>
<li>
<p>If you are brave, please help fix the <tt>lang/mono</tt> port!
</p></li>
<li>
<p>If you are brave, please help fix the <tt>lang/mono</tt> port!
</p></li>
<li>
<p>Build, upgrade, and rebuild both stable and development
versions. The <a href="../builditinator.sh">builditinator.sh</a>
script can automate the entire process, from start to finish.</p></li>
</ul>
<p>Send any feedback to <a href="mailto:&email;@FreeBSD.org">