xref: /aosp_15_r20/external/ethtool/libmnl/doxygen/finalize_manpages.sh (revision 1b481fc3bb1b45d4cf28d1ec12969dc1055f555d)
1*1b481fc3SMaciej Żenczykowski#
2*1b481fc3SMaciej Żenczykowski# We need to use bash for its associative array facility
3*1b481fc3SMaciej Żenczykowski#
4*1b481fc3SMaciej Żenczykowski[ "$BASH" ] || exec bash $0
5*1b481fc3SMaciej Żenczykowski#
6*1b481fc3SMaciej Żenczykowski# (`bash -p` prevents import of functions from the environment).
7*1b481fc3SMaciej Żenczykowski#
8*1b481fc3SMaciej Żenczykowskiset -p
9*1b481fc3SMaciej Żenczykowski
10*1b481fc3SMaciej Żenczykowskideclare -A renamed_page
11*1b481fc3SMaciej Żenczykowski
12*1b481fc3SMaciej Żenczykowskimain(){ set -e; cd man/man3; rm -f _*
13*1b481fc3SMaciej Żenczykowski  count_real_pages
14*1b481fc3SMaciej Żenczykowski  rename_real_pages
15*1b481fc3SMaciej Żenczykowski  make_symlinks
16*1b481fc3SMaciej Żenczykowski}
17*1b481fc3SMaciej Żenczykowski
18*1b481fc3SMaciej Żenczykowskicount_real_pages(){ page_count=0
19*1b481fc3SMaciej Żenczykowski  for i in $(ls -S)
20*1b481fc3SMaciej Żenczykowski  do head -n1 $i | grep -E -q '^\.so' && break
21*1b481fc3SMaciej Żenczykowski    page_count=$(($page_count + 1))
22*1b481fc3SMaciej Żenczykowski  done
23*1b481fc3SMaciej Żenczykowski  first_link=$(($page_count + 1))
24*1b481fc3SMaciej Żenczykowski}
25*1b481fc3SMaciej Żenczykowski
26*1b481fc3SMaciej Żenczykowskirename_real_pages(){ for i in $(ls -S | head -n$page_count)
27*1b481fc3SMaciej Żenczykowski  do for j in $(ls -S | tail -n+$first_link)
28*1b481fc3SMaciej Żenczykowski    do grep -E -q $i$ $j && break
29*1b481fc3SMaciej Żenczykowski    done
30*1b481fc3SMaciej Żenczykowski    mv -f $i $j
31*1b481fc3SMaciej Żenczykowski    renamed_page[$i]=$j
32*1b481fc3SMaciej Żenczykowski  done
33*1b481fc3SMaciej Żenczykowski}
34*1b481fc3SMaciej Żenczykowski
35*1b481fc3SMaciej Żenczykowskimake_symlinks(){ for j in $(ls -S | tail -n+$first_link)
36*1b481fc3SMaciej Żenczykowski  do ln -sf ${renamed_page[$(cat $j | cut -f2 -d/)]} $j
37*1b481fc3SMaciej Żenczykowski  done
38*1b481fc3SMaciej Żenczykowski}
39*1b481fc3SMaciej Żenczykowski
40*1b481fc3SMaciej Żenczykowskimain
41