Browse Source

Clifford Wolf:


			
			
				rocklinux
			
			
		
Clifford Wolf 20 years ago
parent
commit
a674f1e225
3 changed files with 87 additions and 78 deletions
  1. +3
    -0
      package/x11/xfree86/xfree86.conf
  2. +76
    -75
      scripts/Build-Pkg
  3. +8
    -3
      scripts/functions

+ 3
- 0
package/x11/xfree86/xfree86.conf

@ -85,3 +85,6 @@ else
custmain=x11base_stage0
fi
# don't put the modules in a :dev package
splitreg 45 . '(/lib/modules/.*\.a)$|/include/'

+ 76
- 75
scripts/Build-Pkg

@ -855,11 +855,80 @@ abort() {
echo Found `wc -l < $builddir/flist.split` "files for this package."
splitapply $xpkg $builddir/flist.split
if [ "$ROCKCFG_FLIST" = "flwrapper" -o \
"$ROCKCFG_FLIST" = "strace" ] && [ $stagelevel -gt 1 ] ; then
echo "Calculating package dependencies ..."
! egrep -v "^($flistrfilter)\$" $builddir/fl_wrapper.[rw]log |
sort -u | fl_wrparse -D -s -r "$xroot/" -p '' | \
grep -v ' var/adm/' | awk '
ARGIND < ARGC-1 {
if ( index($1, "'$xpkg':") != 1 )
f[$2] = $1 " " f[$2];
}
ARGIND == ARGC-1 {
file = $2;
while ( file != "" ) {
if ( f[file] ) {
split(f[file], a);
for (i in a)
if (! d[a[i] " " file]) {
d[a[i] " " file] = 1;
print a[i] " " file;
}
}
sub("/?[^/]*$", "", file)
}
}
' var/adm/flists/* - > $builddir/dependencies.debug
awk 'BEGIN { FS=": "; } { print "'$xpkg': " $1; }' \
< $builddir/dependencies.debug > $builddir/dependencies.txt
if [ -f var/adm/dep-debug/$xpkg ] ; then
cat var/adm/dep-debug/$xpkg >> $builddir/dependencies.debug
fi
sort -u $builddir/dependencies.debug > var/adm/dep-debug/$xpkg
# add debug info for known false positives
if egrep -q "^[^#].*[ ]$spkg([ ]|$)" $base/scripts/dep_fixes.txt; then
echo "--- $spkg [$stagelevel] ---" >> $root/var/adm/rock-debug/falsedeps.txt
fi
while read x; do
grep "^$x: " $builddir/dependencies.debug | sort -u | \
sed "s,:, -> $spkg [$stagelevel]:," >> $root/var/adm/rock-debug/falsedeps.txt
done < <( egrep "^$spkg[ ]+del[ ]+" $base/scripts/dep_fixes.txt | \
tr ' ' '\t' | tr -s '\t' | cut -f3- | tr '\t' '\n' )
# merge the dependencies defined by the package
for x in `echo "$desc_E" | egrep '^add ' | sed 's/^add //' ` ; do
echo "Adding dependency: $x ..."
echo "$xpkg: $x" >> $builddir/dependencies.txt
done
# remove dependencies as requested by the package
# TODO: goups are not used yet (and it is not easy here)
del_pattern=""
for x in `echo "$desc_E" | egrep '^del ' | sed 's/^del //' ` ; do
del_pattern="$del_pattern -e \".*: $x(:.*|)\$\""
done
if [ -n "$del_pattern" ] ; then
echo "Deleting dependencies, pattern: $del_pattern ..."
eval "egrep -v $del_pattern $builddir/dependencies.txt" > $builddir/dependencies.txt.new
mv $builddir/dependencies.txt.new $builddir/dependencies.txt
fi
if [ -f var/adm/dependencies/$xpkg ] ; then
cat var/adm/dependencies/$xpkg >> $builddir/dependencies.txt
fi
sort -u $builddir/dependencies.txt > $builddir/dependencies.txt.new
mv $builddir/dependencies.txt.new $builddir/dependencies.txt
fi
for spkg in $( sed 's,: .*,,' < $builddir/flist.split | sort -u )
do
(
if [ -z "${spkg##*:*}" ]; then
echo "<$spkg> Creating split-package description ..."
splitdesc_${spkg#*:}
fi
@ -875,80 +944,10 @@ abort() {
done
} | sort -u > var/adm/flists/$spkg
echo "<$spkg> Clear (old) md5sums and cksums ..."
cat /dev/null > var/adm/md5sums/$spkg
cat /dev/null > var/adm/cksums/$spkg
if [ "$ROCKCFG_FLIST" = "flwrapper" -o \
"$ROCKCFG_FLIST" = "strace" ] && [ $stagelevel -gt 1 ] ; then
echo "<$spkg> Calculating package dependencies ..."
echo "<$spkg> Creating package dependencies file ..."
sed "s,^[^ ]*,$spkg:," < $builddir/dependencies.txt > var/adm/dependencies/$spkg
! egrep -v "^($flistrfilter)\$" $builddir/fl_wrapper.[rw]log |
sort -u | fl_wrparse -D -s -r "$xroot/" -p '' | \
grep -v ' var/adm/' | awk '
ARGIND < ARGC-1 {
if ( index($1, "'$xpkg':") != 1 )
f[$2] = $1 " " f[$2];
}
ARGIND == ARGC-1 {
file = $2;
while ( file != "" ) {
if ( f[file] ) {
split(f[file], a);
for (i in a)
if (! d[a[i] " " file]) {
d[a[i] " " file] = 1;
print a[i] " " file;
}
}
sub("/?[^/]*$", "", file)
}
}
' var/adm/flists/* - > $builddir/dependencies.debug
awk 'BEGIN { FS=": "; } { print "'$spkg': " $1; }' \
< $builddir/dependencies.debug > $builddir/dependencies.txt
if [ -f var/adm/dep-debug/$spkg ] ; then
cat var/adm/dep-debug/$spkg >> $builddir/dependencies.debug
fi
sort -u $builddir/dependencies.debug > var/adm/dep-debug/$spkg
# add debug info for known false positives
if egrep -q "^[^#].*[ ]$spkg([ ]|$)" $base/scripts/dep_fixes.txt; then
echo "--- $spkg [$stagelevel] ---" >> $root/var/adm/rock-debug/falsedeps.txt
fi
while read x; do
grep "^$x: " $builddir/dependencies.debug | sort -u | \
sed "s,:, -> $spkg [$stagelevel]:," >> $root/var/adm/rock-debug/falsedeps.txt
done < <( egrep "^$spkg[ ]+del[ ]+" $base/scripts/dep_fixes.txt | \
tr ' ' '\t' | tr -s '\t' | cut -f3- | tr '\t' '\n' )
# merge the dependencies defined by the package
for x in `echo "$desc_E" | egrep '^add ' | sed 's/^add //' ` ; do
echo "<$spkg> Adding dependency: $x ..."
echo "$spkg: $x" >> $builddir/dependencies.txt
done
# remove dependencies as requested by the package
# TODO: goups are not used yet (and it is not easy here)
del_pattern=""
for x in `echo "$desc_E" | egrep '^del ' | sed 's/^del //' ` ; do
del_pattern="$del_pattern -e \".*: $x\$\""
done
if [ -n "$del_pattern" ] ; then
echo "<$spkg> Deleting dependencies, pattern: $del_pattern ..."
eval egrep -v $del_pattern $builddir/dependencies.txt > $builddir/dependencies.txt.new
mv $builddir/dependencies.txt.new $builddir/dependencies.txt
fi
if [ -f var/adm/dependencies/$spkg ] ; then
cat var/adm/dependencies/$spkg >> $builddir/dependencies.txt
fi
sort -u $builddir/dependencies.txt > var/adm/dependencies/$spkg
fi
echo -n "<$spkg> Creating md5sum and cksum files ..."
echo "<$spkg> Creating md5sum and cksum files ..."
getfiles < var/adm/flists/$spkg > $builddir/files.lst
if [ -s $builddir/files.lst ] ; then
cat $builddir/files.lst | \
@ -957,8 +956,10 @@ abort() {
cat $builddir/files.lst | \
grep -v '^var/adm/' | sed -e 's/ /\\ /g' | \
xargs -r cksum > var/adm/cksums/$spkg
else
cat /dev/null > var/adm/md5sums/$spkg
cat /dev/null > var/adm/cksums/$spkg
fi
echo ' done.'
echo "<$spkg> Creating package description ..."
#

+ 8
- 3
scripts/functions

@ -91,9 +91,14 @@ splitapply() {
local p n r
sed -i "s/^[^ ]+/$1:/" $2
while read p n r; do
if type "splitdesc_${n}" > /dev/null 2>&1; then
echo "Applying package split: $p $1:$n $r"
sed -ri "\,$r, s/^[^ ]+/$1:$n:/" $2
if [ "$n" = "." ]; then
echo "Applying package split: $p $1 $r"
sed -ri "\,$r, s/^[^ ]+/$1:/" $2
else
if type "splitdesc_${n}" > /dev/null 2>&1; then
echo "Applying package split: $p $1:$n $r"
sed -ri "\,$r, s/^[^ ]+/$1:$n:/" $2
fi
fi
done < <( echo "$pkgsplits" | tr ',' '\n' | sort; )
}

Loading…
Cancel
Save