2017-07-16 14:55 GMT+03:00 Klemens Nanni <k...@posteo.org>:
> On Sun, Jul 16, 2017 at 10:26:25AM +0000, Robert Peichaer wrote:
>> But I'd like to stay strict matching the filenames.
>>
>> +     for _liba in /usr/lib/lib{c,crypto}; do
>> +             _libas="$_libas $(ls $_liba.so.+([0-9.]).a | sort -V | tail 
>> -1)"
>> +     done
>>
>> > +   _libas=${_libas# }
> Agreed, I had a similiar approach first but then tried to reduce the
> differences to the essentials.
>
> Here's an updated diff taking this into while also dropping $_l together
> with this hunk instead of the other one.
>
> Feedback?
>
> Index: rc
> ===================================================================
> RCS file: /cvs/src/etc/rc,v
> retrieving revision 1.507
> diff -u -p -r1.507 rc
> --- rc  4 Jul 2017 19:02:11 -0000       1.507
> +++ rc  16 Jul 2017 11:54:36 -0000
> @@ -158,7 +158,7 @@ make_keys() {
>
>  # Re-link libraries, placing the objects in a random order.
>  reorder_libs() {
> -       local _dkdev _l _liba _libas _mp _tmpdir _remount=false _error=false
> +       local _dkdev _liba _libas _mp _tmpdir _remount=false _error=false
>
>         [[ $library_aslr == NO ]] && return
>
> @@ -171,13 +171,10 @@ reorder_libs() {
>         echo -n 'reordering libraries:'
>
>         # Only choose the latest version of the libraries.
> -       for _liba in /usr/lib/libc.so.*.a /usr/lib/libcrypto.so.*.a; do
> -               _liba=$(ls ${_liba%%.[0-9]*}*.a | sort -V | tail -1)
> -               for _l in $_libas; do
> -                       [[ $_l == $_liba ]] && continue 2
> -               done
> -               _libas="$_libas $_liba"
> +       for _liba in /usr/lib/lib{c,crypto}; do
> +               _libas="$_libas $(ls $_liba.so.+([0-9.]).a | sort -V | tail 
> -1)"
>         done
> +       _libas=${_libas# }
>
>         # Remount read-write, if /usr/lib is on a read-only ffs filesystem.
>         if [[ $_mp == *' type ffs '*'read-only'* ]]; then
>

As a matter of microoptimization we could use "sort -rV | head -1"
instead of "sort -V | tail -1". I'm okay with current version of this
diff already, though.

Reply via email to