+%setup -q -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a13 -a14 -a15 -a16 -a17 -a18 -a19 -a20
+%patch0 -p1
+%patch1 -p0
+
+mkdir ko
+tar xzf %{SOURCE12} -C ko
+
+find man-pages-tr-%{tr_version} -name '*.gz' | xargs gzip -d
+
+# unify trees for easier processing
+mv -f man-pages-%{pt_version}-pt_BR pt_BR
+mv -f man-pages-cs-%{cs_version} cs
+# replace symlinks by .so pointers
+for l in `find cs -type l` ; do
+ t=`readlink "$l"`
+ rm -f "$l"
+ echo ".so $t" > "$l"
+done
+mv -f manpages-da-%{da_version} da
+install -d da/man1
+mv -f da/*.1 da/man1
+mv -f manpages-de-%{de_version} de
+mv -f man-pages-es-%{es_version} es
+# already in main es
+rm -f man-pages-es-extra-%{es_extra_version}/man3/dl*.3
+rm -f man-pages-es-extra-%{es_extra_version}/man5/{acct,host.conf,resolv.conf,resolver}.5
+rm -f man-pages-es-extra-%{es_extra_version}/man8/ld.so.8
+for f in 1 2 4 5 6 7 8 ; do
+ mv -i man-pages-es-extra-%{es_extra_version}/man${f}/* es/man${f}
+done
+mv -f manpages-fi fi
+mv -f man-pages-fr-%{fr_version} fr
+mv -f manpages-hu-%{hu_version}.orig/usr/share/man/hu hu
+mv -f man-pages-it-%{it_version} it
+mv -f man-pages-ja-%{ja_version}/manual/LDP_man-pages ja
+# duplicates of LDP man pages
+rm -rf man-pages-ja-%{ja_version}/manual/{gnumaniak,ld.so,modutils/man2,glibc-linuxthreads/man3,netkit/{man3/{daemon,err,login}.3,man5/ftpusers.5},bind/{man5/resolver.5,man7/mailaddr.7},util-linux/man1/tailf.1}
+# shadow manuals already in shadow package
+rm -rf man-pages-ja-%{ja_version}/manual/shadow
+# we have man not man-db
+rm -rf man-pages-ja-%{ja_version}/manual/man-db
+# dhcp 3 not dhcp2
+rm -rf man-pages-ja-%{ja_version}/manual/dhcp2
+# nfs-utils not nfs-server
+rm -rf man-pages-ja-%{ja_version}/manual/nfs-server
+# ypbind-mt not ypbind
+rm -rf man-pages-ja-%{ja_version}/manual/ypbind
+# we use: net-tools/hostname, util-linux/{kill,write}, SysVinit/{last,mesg,wall,halt,reboot,shutdown}, textutils/od, quota/rquotad
+rm -f man-pages-ja-%{ja_version}/manual/{GNU_sh-utils/man1/hostname.1,procps/man1/kill.1,util-linux/man1/{last,mesg,od,wall}.1,netkit/man1/write.1,nfs-utils/man8/rquotad.8,util-linux/man8/{halt,reboot,shutdown}.8}
+# following modutils changes
+for f in man-pages-ja-%{ja_version}/manual/modutils/man8/{depmod,insmod,lsmod,modinfo,modprobe,rmmod} ; do
+ mv -f ${f}.8 ${f}.modutils.8
+done
+# avoid filename conflict
+mv -f man-pages-ja-%{ja_version}/manual/netkit/man8/ftpd.{8,8n}
+for f in 1 3 4 5 6 7 8 ; do
+ mv -i man-pages-ja-%{ja_version}/manual/*/man${f}/* ja/man${f}
+done
+mv -f manpages-nl-%{nl_version} nl
+mv -f pl_PL pl
+mv -f man-ro ro
+mv -f manpages-ru-asp-%{ru_asp_version} ru
+mv -f man-pages-tr-%{tr_version}/tr tr
+mv -f man-pages-uk_UA.alfa uk
+mv -f man-pages-zh_CN-%{zh_version}/src zh_CN
+find zh_CN -name CVS -o -name '*.orig' -o -name '*~' | xargs rm -rf
+# would go in big5 or gb18030, but not gb2312
+rm -f zh_CN/man1/perltw.1
+# would go in gb18030, but not gb2312
+rm -f zh_CN/man8/{chat,printcap}.8
+
+# these man-pages are in UTF-8
+for f in zh_CN/man?/* ; do
+ iconv -f UTF8 -t GB2312 $f > ${f}.tmp
+ mv -f ${f}.tmp $f
+done
+
+mv -f cs/man8/at.1 cs/man1
+# unify name
+mv -f de/man7/{iso_8859_1,iso_8859-1}.7
+mv -f es/man4/magic.4 es/man5/magic.5
+mv -f es/man8/sync.8 es/man1/sync.1
+mv -f fr/man8/sync.8 fr/man1/sync.1
+mv -f hu/man1/gpm.1 hu/man8/gpm.8
+# man1/sync.1 already exists
+rm -f hu/man8/sync.8
+# unify name + fix infinite loop
+mv -f it/man7/{iso_8859-1,tmp}.7
+mv -f it/man7/{iso_8859_1,iso_8859-1}.7
+mv -f it/man7/{tmp,iso_8859_1}.7
+# non-existing target
+rm -f it/man7/latin.2
+mv -f ja/man4/magic.4 ja/man5/magic.5
+mv -f ja/man8/nslookup.8 ja/man1/nslookup.1
+mv -f ja/man8/sync.8 ja/man1/sync.1
+mv -f ko/man8/sync.8 ko/man1/sync.1
+# filename typo?
+mv -f pl/man5/{at_acces,at_access}.5
+# man1/sync.1 already exists
+rm -f pl/man8/sync.8
+mv -f pt_BR/man8/sync.8 pt_BR/man1/sync.1
+mv -f ru/man8/sync.8 ru/man1/sync.1
+# man1/sync.1 already exists
+rm -f zh_CN/man8/sync.8
+
+%patch2 -p1
+
+bzip2 -dc %{SOURCE50} | tar xf -
+%patch3 -p0
+
+# patching creates backups
+find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -rf
+
+# cleanup
+rm -f man1/COPYING
+rm -f man*/README*
+
+for n in man{1,2,3,4,5,6,7,8,0p,1p,3p}/* */man{1,2,3,4,5,6,7,8,9}/* ; do
+ x=`echo $n | sed -e 's,^.*man\([^/]\)/.*,\1,'`
+ if head -n 1 $n| grep "^\.so man$x/" >/dev/null 2>&1 ; then
+ sed -i -e 's,\.so man./,.so ,' $n
+ fi
+done
+
+ln -sf pt_BR pt
+
+# these belong to coreutils (sync is man1 BTW)
+rm -f man1/{chgrp,chmod,chown,cp,dd,df,dircolors,du,install,diff}.1
+rm -f man1/{ln,ls,mkdir,mkfifo,mknod,mv,rm,rmdir,touch,dir,vdir}.1
+rm -f man8/sync.8
+# time
+rm -f man1/time.1
+# ftp servers
+rm -f man5/ftpusers.5
+
+%if %{with tars}
+package=NONE
+while read line ; do
+ if echo $line | grep -q '^\[.\+\]$' ; then
+ package=`echo $line | sed -e 's/^\[//;s/\]$//;'`
+ else
+ if [ -f "$line" ]; then
+ echo "$line" >> ${package}-man.list
+ fi
+ # omit pt_BR here, package them as pt
+ for l in cs da de es fi fr hu id it ja ko nl pl pt ru tr uk zh_CN ; do
+ if [ -f "$l/$line" ]; then
+ echo "$l/$line" >> ${package}-man.list
+ fi
+ done
+ fi
+done < %{SOURCE100}
+for l in *-man.list ; do
+ t=`basename $l .list`
+ if [ -f README.${t}-pages ]; then
+ echo "README.${t}-pages" >> "$l"
+ fi
+ tar cjf %{_sourcedir}/${t}-pages.tar.bz2 --files-from "$l"
+ grep '^man' "$l" | xargs rm -f
+done
+%else
+# glibc
+find man3 -type f | grep -v 'intro\.3' | xargs rm -f
+rm -f man1/ldd.1
+rm -f man5/{locale,nscd.conf,nsswitch.conf,tzfile}.5
+rm -f man7/{ascii,charsets,iso*,koi8-r,latin*,locale,unicode,utf*}.7
+rm -f man8/{ld.so,ldconfig,nscd,tzselect,zdump,zic}.8
+rm -f */man1/ldd.1 */man8/sln.8 */man1/iconv.1
+%endif
+
+# shadow (but not pwdutils!); shadow(5) is missing in pwdutils too
+rm -f man5/passwd.5
+
+rm -f man1/{i,}gawk.1
+rm -f man1/{i,}gawk.1
+rm -f {it,ja,pl}/man1/{i,}gawk.1