HOWTO
# GNU sharutils 4.6
# =================
# Slackware 10.0, 10.1, and 10.2 include sharutils version 4.2.1 as part of
# the 'bin' package
# For an alternate uuencode/uudecode see
gmime
# Prerequisites:
#
gawk
#
diff
#
mail
#
perl
#
bash
#
tar
#
compress
#
grep
#
gettext
#
iconv
#
bison
cd
test -f installed/sharutils-4.6.tar.bz2 &&
mv installed/sharutils-4.6.tar.bz2 .
test ! -f sharutils-4.6.tar.bz2 &&
wget http://ftp.gnu.org/gnu/sharutils/REL-4.6/sharutils-4.6.tar.bz2
# Verify tarball w/
md5sum:
echo "c081e3acfeab71cf76dca79f8f76c62d sharutils-4.6.tar.bz2" | md5sum -c
# Verify tarball w/
sha1sum:
# (this came from my gpg-verified tarball)
echo "ea2a22fbf3a3f0f9df569fdda61a3092b137c801 sharutils-4.6.tar.bz2" | sha1sum -c
# Verify tarball w/
gpg:
( gpg --list-keys 353AE92F > /dev/null 2>&1 || gpg --recv-keys 353AE92F ) &&
wget -nc http://ftp.gnu.org/gnu/sharutils/REL-4.6/sharutils-4.6.tar.bz2.sig &&
gpg --verify sharutils-4.6.tar.bz2.sig &&
rm sharutils-4.6.tar.bz2.sig
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "sharutils-*" -exec rm -r {} \;
tar xjvf ~/sharutils-4.6.tar.bz2
cd sharutils-4.6
test $UID = 0 && chown -R root:root .
find -type f -exec chmod 644 {} \;
chmod +x configure
# If you want to skip building and installing uuencode and uudecode (ie.
# you have gmime installed) pass --disable-uucode to configure
# I pass --disable-nls to configure because I live in the US and only
# read/write English (well). If this is not the case for you, leave it off.
./configure --prefix=/usr --disable-nls
make
# Become root to clean up old files and to install it
su
# If you've never been through this howto before, run this to remove the
# sharutils files that are part of Slackware's 'bin' package:
( cd /usr/bin ; rm -f shar unshar uuencode uudecode )
find /usr/doc -maxdepth 1 -type d -name "sharutils-*" -exec rm -r {} \;
rm -f /usr/info/sharutils.info.gz /usr/man/man5/uuencode.5.gz
( cd /usr/man/man1 ;
rm -f shar.1.gz unshar.1.gz uuencode.1.gz uudecode.1.gz )
# Remove lines from the Slackware 'bin' package that reference old
# sharutils files that you removed above (if you did that).
FNAME=`find /var/adm/packages -type f -name "bin-*" | head -1`
cat $FNAME | egrep -v "^usr/bin/shar$" | egrep -v "^usr/bin/unshar$" | egrep -v "^usr/bin/uudecode$" | egrep -v "^usr/bin/uuencode$" | egrep -v "^usr/doc/sharutils-" | egrep -v "^usr/info/sharutils.info.gz$" | egrep -v "^usr/man/man1/shar.1.gz$" | egrep -v "^usr/man/man1/unshar.1.gz$" | egrep -v "^usr/man/man1/uuencode.1.gz$" | egrep -v "^usr/man/man1/uudecode.1.gz$" | egrep -v "^usr/man/man5/uuencode.5.gz$" > ${FNAME}.new
test -s ${FNAME}.new &&
( mkdir -p -m 0700 ~/backup/packages
mv -f $FNAME ${FNAME}.`date +%Y%m%d`
mv ${FNAME}.`date +%Y%m%d` ~/backup/packages/
mv -f ${FNAME}.new $FNAME )
unset FNAME
make install
# Become yourself again
exit
cd
mkdir -p -m 0700 installed
rm -f installed/sharutils-*.tar.*
mv sharutils-4.6.tar.bz2 installed/