Lysander666
I still use the good-ole installpkg, upgradepkg, removepkg scripts and I've never tried slackpkg, etc for precisely this reason.
Anyhow, I use Alien Bob's massconvert32.sh with every Official Slackware update.
The script does require a local mirror of the Slackware 32-bit Repo but this way, I can stay up-to-date and never 'lose' a compat32 package due to the unavoidable lag between the Official Slackware Update and Alien Bob's release of the new compat32 packages.
Not sure how-or-if one would-or-could set up a local repo for the compat32 Packages for slackpkg ...
But if you could point slackpkg at your local repo, this method has worked for me with `upgradepkg --install-new` since the 13.37 days when I first went Multilib on Slackware64 ...
FFT, YMMV, HTH ...
-- kjh( FFT - Food For Thought )
These are my config and wrapper script files for `massconvert32.sh` and for `upgradepkg --install-new` on the compat32 Packages.
The odd .names are so I can `rm -rf *` in the TopDir and leave my scripts and config intact ...
#
# file: .do-masscvt-fun.sh
# what: sets environment varbs for .do-massconvert.sh and .do-update.sh
#
Code:
TopDir="/home/dld/multilib" ### EDIT ME ### ( where you downloaded Alien Bob's MultiLib )
TarDir="$TopDir/kjh-build" ### EDIT ME ### ( where to build YOUR compat32 Packages )
LogDir="$TopDir/log" ### EDIT ME ### ( where the LogFiles go
SrcDir="/home/dld/slackware/slackware-14.2-32/slackware" ### EDIT ME ### ( where is your Local Mirror of the Slackware 32 Packages )
KJHDate ()
{
# Returns XYMMDD [ -HHMMSS ] for `now` where X is the decade after 1900
#
# example: 1900-01-01 -> 010101 ; 2000-01-01 -> A00101 ; 2010-01-01 -> B00101
#
DoSec=0
if [ $# -gt 0 ]
then
if [ "$1" = "-s" ]
then
DoSec=1
shift
fi
fi
gawk '
BEGIN {
DoSec = "'"$DoSec"'" +0
for ( i = 0 ; i <= 9 ; i ++ )
{
DecAry [i] = sprintf( "%01d", i )
}
DecAry [10] = "A"
DecAry [11] = "B"
DecAry [12] = "C"
DecAry [13] = "D"
DecAry [14] = "E"
DecAry [15] = "F"
Date = strftime( "%Y%m%d%H%M%S" )
print FixDate( Date )
exit 0
}
function FixDate( InDate, D, Y, MD, HMS )
{
D = substr( InDate, 1, 3 ) - 190 # Decade
Y = substr( InDate, 4, 1 ) # Year
MD = substr( InDate, 5, 4 ) # Month & Day
if ( DoSec != 1 )
{
return( sprintf( "%1.1s%1.1s%4.4s", DecAry [D],Y,MD ))
}
HMS = substr( InDate, 9 ) # HourMinSec
return( sprintf( "%1.1s%1.1s%4.4s-%s", DecAry [D],Y,MD,HMS ))
}'
return $?
}
#
# file: .do-massconvert.sh
# what: invokes massconvert.sh on my local Slackware32 mirror
#
Code:
#!/bin/sh
RetCode=0
Rebuild=0
PrgNam="`basename $0`"
DirNam="`dirname $0`" ; [ "$DirNam" = "." ] && DirNam="`pwd`"
if [ $# -gt 0 ]
then
[ "$1" = "r" -o "$1" = "R" ] && Rebuild=1 && shift
fi
. $DirNam/.do-masscvt-fun.sh
LogTmp="$(KJHDate -s)-do-massconvert.log"
cd "$TarDir" ; RetCode=$?
[ "$RetCode" != "0" ] && echo "cannot cd into $TarDir ( make it yourself )" >&2 && exit 1
[ ! -d "$SrcDir" ] && echo "cannot find the slackware32 mirror: $SrcDir" >&2 && exit 2
if [ ! -d "$LogDir" ]
then
mkdir "$LogDir"
RetCode=$?
[ "$RetCode" != "0" ] && echo "cannot mkdir $LogDir" >&2 && exit 3
fi
LogNam="$LogDir/$LogTmp"
echo "$PrgNam startup at `date`" > $LogNam
if [ "$Rebuild" = "1" ]
then
echo "clearing all old packages" >> $LogNam
for Dir in `find . -maxdepth 1 -type d -name "*-compat32"`
do
[ "$Dir" = "." -o "$Dir" = ".." ] && continue # should not happen !
if [ -d "$Dir" ]
then
echo "clean $Dir" >> $LogNam
rm -rf "$Dir"
fi
done
fi
massconvert32.sh -i $SrcDir 2>&1 |tee -a $LogNam
grep 'Package created:' $LogNam 2>/dev/null
RetCode=$?
[ "$RetCode" != "0" ] && echo "nothing new was generated"
echo "$PrgNam complete at `date`" >> $LogNam
#
# file: .do-update.sh
# what: invokes upgradepkg --install-new on my local compat32 repo
#
Code:
#!/bin/sh
RetCode=0
Rebuild=0
PrgNam="`basename $0`"
DirNam="`dirname $0`" ; [ "$DirNam" = "." ] && DirNam="`pwd`"
[ "$LOGNAME" != "root" ] && echo "please log in as root" >&2 && exit 1
. $DirNam/.do-masscvt-fun.sh
[ ! -d "$SrcDir" ] && echo "wtPHq is \"$SrcDir\" ?" >&2 && exit 2
LogTmp="$(KJHDate -s)-do-massupdate.log"
LogNam="$LogDir/$LogTmp"
echo "$PrgNam startup at `date`" > $LogNam
cd "$SrcDir" 2>&1 |tee -a $LogNam
upgradepkg --install-new *-compat32/*.t?z 2>&1 |tee -a $LogNam
RetCode=${PIPESTATUS[0]}
echo "$PrgNam complete at `date` ... RetCode = $RetCode" >> $LogNam
exit $RetCode