version 1.516, 2017/08/28 06:56:54 |
version 1.517, 2017/08/29 16:56:13 |
|
|
done |
done |
_libas=${_libas# } |
_libas=${_libas# } |
|
|
for _liba in $_libas; do |
for _liba in /usr/libdata/ld.so.a $_libas; do |
_tmpdir=$(mktemp -dq /tmp/_librebuild.XXXXXXXXXXXX) && ( |
_tmpdir=$(mktemp -dq /tmp/_librebuild.XXXXXXXXXXXX) && |
set -o errexit |
( |
_lib=${_liba#/usr/lib/} |
set -o errexit |
_lib=${_lib%.a} |
_install='install -F -S -o root -g bin -m 0444' |
cd $_tmpdir |
_lib=${_liba##*/} |
ar x ${_liba} |
_lib=${_lib%.a} |
|
cd $_tmpdir |
|
ar x $_liba |
|
if [[ $_lib == ld.so ]]; then |
|
ld -g -x -e _dl_start \ |
|
--version-script=Symbols.map --shared -Bsymbolic \ |
|
--no-undefined -o ld.so.test $(ls *.o | sort -R) |
|
chmod u+x test-ld.so |
|
[[ $(./test-ld.so ok) == './test-ld.so: ok!' ]] |
|
$_install /usr/libexec/ld.so /usr/libexec/ld.so.save |
|
$_install ld.so.test /usr/libexec/ld.so |
|
else |
cc -shared -o $_lib $(ls *.so | sort -R) $(cat .ldadd) |
cc -shared -o $_lib $(ls *.so | sort -R) $(cat .ldadd) |
[[ -s $_lib ]] && file $_lib | fgrep -q 'shared object' |
[[ -s $_lib ]] && file $_lib | fgrep -q 'shared object' |
LD_BIND_NOW=1 LD_LIBRARY_PATH=$_tmpdir awk 'BEGIN {exit 0}' |
LD_BIND_NOW=1 LD_LIBRARY_PATH=$_tmpdir awk 'BEGIN {exit 0}' |
LD_BIND_NOW=1 LD_LIBRARY_PATH=$_tmpdir openssl \ |
LD_BIND_NOW=1 LD_LIBRARY_PATH=$_tmpdir openssl \ |
x509 -in /etc/ssl/cert.pem -out /dev/null |
x509 -in /etc/ssl/cert.pem -out /dev/null |
install -F -S -o root -g bin -m 0444 $_lib /usr/lib/$_lib |
$_install $_lib ${_liba%/*}/$_lib |
|
fi |
) || { _error=true; break; } |
) || { _error=true; break; } |
done |
done |
|
|