I know there's a way to automatically generate tardist prereqs but I couldn't find / rember a way to properly do it (lots of head scratching here). So, I whiped up a little script to do it for me! 'prereq_gen' takes a filename and generates a pre-formated, sorted prereq list to your home directory ready for tardists. Just cut-in-paste! Here's a sample:
Code:
prereq (
compiler_eoe.sw.lib 1279199510 maxint
compiler_eoe.sw64.lib 1279199510 maxint
dmedia_eoe.sw.base 1289570120 maxint
dmedia_eoe.sw64.lib 1289570120 maxint
eoe.sw.base 1289570120 maxint
eoe.sw64.lib 1289570120 maxint
ftn_eoe.sw64.lib 1279199510 maxint
ftn_eoe.sw64.libblas 1279199510 maxint
fw_gettext.sw.lib 1278985220 maxint
fw_glib.sw.lib 1278773620 maxint
fw_gtk+.sw.lib 1278773820 maxint
fw_xmms.sw.lib 1278774820 maxint
)
If winds up being in the least bit useful I'll add command line ops, a menu and batching. It's extensive, so it gets
everything. Tardist available with release notes and docs or...
Code:
#!/bin/sh
# See '/usr/local/relnotes/prereq_gen.txt' for more info
echo ""
# Friendly welcome screen
echo "#######################################################"
echo "# Handy-Dandy prereq generator for irix 6.5 and others"
echo "# Version 0.0.0.1 alpha"
echo "#######################################################"
echo ""
# Check for the target folder, which is located in users
# home directory
if ! [ -d $HOME/generated ]
then
mkdir -p $HOME/generated
fi
# check the tmp file(s) used for data parsing left over from
# previous generated files. If found, dump 'em. $USER variable
# is added to avoid overlaping files
if [ -w /tmp/$USER.req_tmp -o -w /tmp/$USER.req_sorted ]
then
rm /tmp/req_tmp 2> /dev/null ; rm /tmp/req_sorted 2> /dev/null
fi
# Read in user selected file to be generated
echo "^^^^^^^^^^^^^^^"
echo "Enter filename: "
read FILENAME
ldd $FILENAME > /dev/null 2> /dev/null
if [ $? -eq 0 ]
then
echo "File looks good, proceding.."
else
echo "File not executable or in binary format, bailing out.."
exit 1
fi
# perfer cut to awk here
for x in `ldd $FILENAME | cut -d" " -f 1`
do
versions long | grep $x | awk '{print $4}' | sort -u >> /tmp/$USER.req_tmp
done
if [ `echo $FILENAME | grep '\/'` ]
then
FILENAME_MOD=`echo $FILENAME | sed 's/^.*\///g'`
fi
# This section needs fixing
echo "prereq (" > $HOME/generated/$FILENAME_MOD.req
for y in `cat /tmp/$USER.req_tmp`
do
versions -n | grep $y | awk '{print $2,$3, "maxint"}' >> /tmp/$USER.req_sorted
done
# Finally, sort it all out
cat /tmp/$USER.req_sorted | sort -u >> $HOME/generated/$FILENAME_MOD.req
echo ")" >> $HOME/generated/$FILENAME_MOD.req
echo ""
echo "Prereq file generated!"
echo "Generated file name: $FILENAME_MOD.req"
echo ""