Add support for the 'updates' keyword in the specfile.
Remove two command variables. They should be either in buildpkg.functions or buildpkg.tools.
This commit is contained in:
parent
1811e7f0ec
commit
a145b275a6
@ -10,9 +10,6 @@ GENDIST_OPTS="-nostrip"
|
|||||||
SHOWPRODS="/usr/sbin/showprods"
|
SHOWPRODS="/usr/sbin/showprods"
|
||||||
SHOWFILES="/usr/sbin/showfiles"
|
SHOWFILES="/usr/sbin/showfiles"
|
||||||
|
|
||||||
GZIP=/usr/people/tgc/bin/gzip
|
|
||||||
BZIP2=/usr/local/bin/bzip2
|
|
||||||
|
|
||||||
# This is the hostname command we'll want on Irix
|
# This is the hostname command we'll want on Irix
|
||||||
HOSTNAME=/usr/bsd/hostname
|
HOSTNAME=/usr/bsd/hostname
|
||||||
|
|
||||||
@ -23,6 +20,7 @@ idbfile=$metadir/$topdir.idb
|
|||||||
specfile=$metadir/$topdir.spec
|
specfile=$metadir/$topdir.spec
|
||||||
depends=$metadir/depends
|
depends=$metadir/depends
|
||||||
replaces=$metadir/replaces
|
replaces=$metadir/replaces
|
||||||
|
updates=$metadir/updates
|
||||||
opsfile=$metadir/ops
|
opsfile=$metadir/ops
|
||||||
hidefile=$metadir/hide
|
hidefile=$metadir/hide
|
||||||
showfilescache=/tmp/sf.cache
|
showfilescache=/tmp/sf.cache
|
||||||
@ -105,6 +103,8 @@ declare -a reqs # Array of subsystems with prereqs
|
|||||||
declare -a reqp # Array of prereqs (should match up with reqs)
|
declare -a reqp # Array of prereqs (should match up with reqs)
|
||||||
declare -a replacess # Array of subsystems that replaces another
|
declare -a replacess # Array of subsystems that replaces another
|
||||||
declare -a replacepkg # Array of what is replaced (should match up with replacess)
|
declare -a replacepkg # Array of what is replaced (should match up with replacess)
|
||||||
|
declare -a updates # Array of subsystems that updates another
|
||||||
|
declare -a updatepkg # Array of what is updated (should match up with updatess)
|
||||||
declare -a hide # Files that should be "hidden" with nohist
|
declare -a hide # Files that should be "hidden" with nohist
|
||||||
declare -a opfiles # Files that should have an ops associated
|
declare -a opfiles # Files that should have an ops associated
|
||||||
declare -a opscript # Ops to associate with opfiles
|
declare -a opscript # Ops to associate with opfiles
|
||||||
@ -236,7 +236,14 @@ spec_subsys_replaces()
|
|||||||
{
|
{
|
||||||
echo "$indent12 replaces $1"
|
echo "$indent12 replaces $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# spec_subsys_updates()
|
||||||
|
# param: $1 = subsystem that is updated
|
||||||
|
spec_subsys_updates()
|
||||||
|
{
|
||||||
|
echo "$indent12 updates $1"
|
||||||
|
}
|
||||||
|
|
||||||
# spec_subsys_footer()
|
# spec_subsys_footer()
|
||||||
# param: none
|
# param: none
|
||||||
spec_subsys_footer()
|
spec_subsys_footer()
|
||||||
@ -532,6 +539,25 @@ fetch_replaces()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# fetch_updates(): Fetch information about subsystem updates
|
||||||
|
# params: none
|
||||||
|
#
|
||||||
|
fetch_updates()
|
||||||
|
{
|
||||||
|
local reqidx=0
|
||||||
|
if [ -r ${updates} ]; then
|
||||||
|
while read ss updpkg reqvers
|
||||||
|
do
|
||||||
|
if [ "$reqvers" == "auto" ]; then
|
||||||
|
reqvers="0 maxint" # Update all versions of a subsystem
|
||||||
|
fi
|
||||||
|
updatess[$reqidx]=$ss
|
||||||
|
updatepkg[$reqidx]="$updpkg $reqvers"
|
||||||
|
let "reqidx = $reqidx + 1"
|
||||||
|
done < ${updates}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# fetch_ops(): Fetch ops
|
# fetch_ops(): Fetch ops
|
||||||
# params: none
|
# params: none
|
||||||
# Populates the firstop and lastop variables
|
# Populates the firstop and lastop variables
|
||||||
@ -675,6 +701,7 @@ create_spec()
|
|||||||
fetch_subsysdesc
|
fetch_subsysdesc
|
||||||
fetch_depends
|
fetch_depends
|
||||||
fetch_replaces
|
fetch_replaces
|
||||||
|
fetch_updates
|
||||||
spec_header $pkgname "$name $version-${pkgver}${shortdesc}" > $specfile
|
spec_header $pkgname "$name $version-${pkgver}${shortdesc}" > $specfile
|
||||||
local pcsize=${#pc[@]}
|
local pcsize=${#pc[@]}
|
||||||
local pctopsize=${#pctop[@]}
|
local pctopsize=${#pctop[@]}
|
||||||
@ -688,6 +715,7 @@ create_spec()
|
|||||||
rv=`$EXPR match "${pc[$pcidx]}" ''${pctop[$i]}\\\.''`
|
rv=`$EXPR match "${pc[$pcidx]}" ''${pctop[$i]}\\\.''`
|
||||||
if [ ! "$rv" -eq 0 ]; then # We got a hit!
|
if [ ! "$rv" -eq 0 ]; then # We got a hit!
|
||||||
spec_subsys_header ${pctop[$i]} `echo ${pc[$pcidx]}|$CUT -d . -f 2` "${pd[$pcidx]}" "${ps[$pcidx]}" >> $specfile
|
spec_subsys_header ${pctop[$i]} `echo ${pc[$pcidx]}|$CUT -d . -f 2` "${pd[$pcidx]}" "${ps[$pcidx]}" >> $specfile
|
||||||
|
# Add 'replaces' statements
|
||||||
spec_subsys_replaces self >> $specfile
|
spec_subsys_replaces self >> $specfile
|
||||||
replacepkgsize=${#replacepkg[@]}
|
replacepkgsize=${#replacepkg[@]}
|
||||||
if [ "$replacepkgsize" -ge 1 ]; then # Atleast one replaces statement needed
|
if [ "$replacepkgsize" -ge 1 ]; then # Atleast one replaces statement needed
|
||||||
@ -698,6 +726,17 @@ create_spec()
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
# Add 'updates' statements
|
||||||
|
updatepkgsize=${#updatepkg[@]}
|
||||||
|
if [ "$updatepkgsize" -ge 1 ]; then # Atleast one updates statement needed
|
||||||
|
for ((j=0; j < $updatepkgsize; j++))
|
||||||
|
do
|
||||||
|
if [ "${updatess[$j]}" = "${pc[$pcidx]}" ]; then
|
||||||
|
spec_subsys_updates "${updatepkg[$j]}" >> $specfile
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
# Find 'prereq' statements
|
||||||
reqsize=${#reqs[@]}
|
reqsize=${#reqs[@]}
|
||||||
unset reqidlist # Zero the array
|
unset reqidlist # Zero the array
|
||||||
reqidlidx=0
|
reqidlidx=0
|
||||||
@ -708,6 +747,7 @@ create_spec()
|
|||||||
let "reqidlidx=$reqidlidx + 1"
|
let "reqidlidx=$reqidlidx + 1"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
# Add 'prereq' statements
|
||||||
reqidlsize=$reqidlidx
|
reqidlsize=$reqidlidx
|
||||||
if [ "$reqidlsize" -ge 1 ]; then
|
if [ "$reqidlsize" -ge 1 ]; then
|
||||||
spec_subsys_req_header >> $specfile
|
spec_subsys_req_header >> $specfile
|
||||||
|
Loading…
x
Reference in New Issue
Block a user