-install -d $RPM_BUILD_ROOT%{_mandir}/cs/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/de/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/es/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/fi/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/fr/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/hu/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/it/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/ko/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/nl/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/pl/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/pt/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/pt_BR/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/ru/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/uk/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/zh_CN/man{1,2,3,4,5,6,7,8}
-install -d $RPM_BUILD_ROOT%{_mandir}/zh_TW/man{1,2,3,4,5,6,7,8}
-for n in man{1,2,3,4,5,6,7,8}/*; do
- if [ -f %{name}-cs-%{cs_version}/$n ]; then
- install %{name}-cs-%{cs_version}/$n $RPM_BUILD_ROOT%{_mandir}/cs/$n
- fi
- if [ -f manpages-de-%{de_version}/$n ]; then
- install manpages-de-%{de_version}/$n $RPM_BUILD_ROOT%{_mandir}/de/$n
- fi
- if [ -f %{name}-es-%{es_version}/$n ]; then
- install %{name}-es-%{es_version}/$n $RPM_BUILD_ROOT%{_mandir}/es/$n
- elif [ -f %{name}-es-extra-%{es_extra_version}/$n ]; then
- install %{name}-es-extra-%{es_extra_version}/$n $RPM_BUILD_ROOT%{_mandir}/es/$n
- fi
- if [ -f manpages-fi/$n ]; then
- install manpages-fi/$n $RPM_BUILD_ROOT%{_mandir}/fi/$n
- fi
- if [ -f man-fr-%{fr_base_version}/$n ]; then
- install man-fr-%{fr_base_version}/$n $RPM_BUILD_ROOT%{_mandir}/fr/$n
-# if [ -f man-fr/$n ]; then
-# install man-fr/$n $RPM_BUILD_ROOT%{_mandir}/fr/$n
- fi
- if [ -f hu/$n ]; then
- install hu/$n $RPM_BUILD_ROOT%{_mandir}/hu/$n
- fi
-# if [ -f %{name}-it-%{it_version}/$n ]; then
-# install %{name}-it-%{it_version}/$n $RPM_BUILD_ROOT%{_mandir}/it/$n
- if [ -f it/$n ]; then
- install it/$n $RPM_BUILD_ROOT%{_mandir}/it/$n
- fi
- if [ -f %{name}-ja-%{ja_version}/manual/LDP_man-pages/$n ]; then
- install %{name}-ja-%{ja_version}/manual/LDP_man-pages/$n $RPM_BUILD_ROOT%{_mandir}/ja/$n
- fi
- if [ -f ko/$n ]; then
- install ko/$n $RPM_BUILD_ROOT%{_mandir}/ko/$n
- fi
- if [ -f manpages-nl-%{nl_version}/$n ]; then
- install manpages-nl-%{nl_version}/$n $RPM_BUILD_ROOT%{_mandir}/nl/$n
- fi
- if [ -f pl_PL/$n ]; then
- install pl_PL/$n $RPM_BUILD_ROOT%{_mandir}/pl/$n
- fi
- if [ -f %{name}-%{pt_version}-pt_BR/$n ]; then
- install %{name}-%{pt_version}-pt_BR/$n $RPM_BUILD_ROOT%{_mandir}/pt_BR/$n
- fi
- if [ -f %{name}-%{pt_version}-pt_BR/$n ]; then
- install %{name}-%{pt_version}-pt_BR/$n $RPM_BUILD_ROOT%{_mandir}/pt/$n
- fi
- if [ -f manpages-ru-%{ru_version}/$n ]; then
- install manpages-ru-%{ru_version}/$n $RPM_BUILD_ROOT%{_mandir}/ru/$n
- fi
- if [ -f %{name}-uk-%{uk_version}/$n ]; then
- install %{name}-uk-%{uk_version}/$n $RPM_BUILD_ROOT%{_mandir}/uk/$n
+# ja: merge per-package trees
+%{__mv} src/ja/manual/LDP_man-pages/man* src/ja
+# duplicates of LDP man pages
+%{__rm} -r src/ja/manual/{gnumaniak,ld.so,modutils/man2,glibc-linuxthreads/man3}
+%{__rm} src/ja/manual/bind/{man5/resolver.5,man7/{hostname,mailaddr}.7}
+%{__rm} src/ja/manual/netkit/{man3/{daemon,err,login}.3,man5/ftpusers.5}
+# shadow manuals already in shadow package
+%{__rm} -r src/ja/manual/shadow
+# PLD uses:
+# coreutils not {file,sh-,text}utils
+%{__rm} -r src/ja/manual/GNU_{fileutils,sh-utils,textutils}
+# dhcp 3 not dhcp2
+%{__rm} -r src/ja/manual/dhcp2
+# kmod (ex-module-init-tools) not modutils
+%{__rm} -r src/ja/manual/modutils
+# nfs-utils not nfs-server
+%{__rm} -r src/ja/manual/nfs-server
+# ypbind-mt not ypbind
+%{__rm} -r src/ja/manual/ypbind
+# man-db not man
+%{__rm} src/ja/manual/man/man1/{apropos,man,whatis}.1
+# hostname(1) from hostname (ex-net-tools)
+%{__rm} src/ja/manual/GNU_coreutils/man1/hostname.1
+# kill(1) from util-linux
+%{__rm} src/ja/manual/GNU_coreutils/man1/kill.1
+# uptime(1) from procps
+%{__rm} src/ja/manual/GNU_coreutils/man1/uptime.1
+# last(1),lastb(1),mesg(1) from util-linux
+%{__rm} src/ja/manual/SysVinit/man1/{last,lastb,mesg}.1
+# blkid(8) from util-linux
+%{__rm} src/ja/manual/e2fsprogs/man8/blkid.8
+# lpq(1),lpr(1),lprm(1),lpc(8) from cups (or LPRng)
+%{__rm} src/ja/manual/lpr-linux/{man1/{lpq,lpr,lprm}.1,man8/lpc.8}
+# timeout(1) from coreutils
+%{__rm} src/ja/manual/netatalk/man1/timeout.1
+# write(1) from util-linux
+%{__rm} src/ja/manual/netkit/man1/write.1
+# rquotad(8) from quota
+%{__rm} src/ja/manual/nfs-utils/man8/rquotad.8
+# kill(1) from util-linux
+%{__rm} src/ja/manual/procps/man1/kill.1
+# wall(1) from SysVinit
+%{__rm} src/ja/manual/util-linux/man1/wall.1
+# resolve conflicts of alternatives
+%{__mv} src/ja/manual/netkit/man8/ftpd.8{,netkit}
+# merge the rest
+for f in 1 3 4 5 6 7 8 ; do
+ mv -i src/ja/manual/*/man${f}/* src/ja/man${f}
+done
+
+# zh_CN: cleanup must be done after build (in build stage)
+
+# individual man pages fixes
+
+# unify name
+%{__mv} src/de/man7/{iso_8859_1,iso_8859-1}.7
+%{__mv} src/es/man4/magic.4 src/es/man5/magic.5
+%{__mv} src/es/man8/sync.8 src/es/man1/sync.1
+%{__mv} src/hu/man1/gpm.1 src/hu/man8/gpm.8
+# man1/sync.1 already exists
+%{__rm} src/hu/man8/sync.8
+%undos src/it/man7/{iso-8859-2,iso_8859_2}.7
+%{__mv} src/ja/man4/magic.4 src/ja/man5/magic.5
+%{__mv} src/ja/man8/nslookup.8 src/ja/man1/nslookup.1
+%{__mv} src/ko/man8/sync.8 src/ko/man1/sync.1
+# filename typo?
+%{__mv} src/pl/man5/{at_acces,at_access}.5
+# man1/sync.1 already exists
+%{__rm} src/pl/man8/sync.8
+%{__mv} src/pt_BR/man8/sync.8 src/pt_BR/man1/sync.1
+%{__mv} src/ru/man8/sync.8 src/ru/man1/sync.1
+# zh: handler later (after build)
+
+%patch1 -p1 -d src/C
+%patch5 -p1 -d src
+
+# patching creates backups
+find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -rf
+
+# merge our "extra" tarball
+
+# apply man-pages-extra, preventing overwriting of already existing man pages
+for d in man-pages-extra/C/man* ; do
+ mv -i $d/*.* src/C/${d#man-pages-extra/C/}
+done
+# note: cs and zh_CN are omitted here and processed in separate special pass
+for d in man-pages-extra/{de,es,fi,fr,hu,id,it,ja,ko,nl,pl,pt_BR,ru}/man* ; do
+ mv -i $d/*.* src/${d#man-pages-extra/}
+done
+for d in man-pages-extra/zh_CN/man* ; do
+ mv -i $d/*.* src/zh/src/${d#man-pages-extra/zh_CN/}
+done
+
+ln -sf pt_BR src/pt
+
+# remove man pages existing in other packages
+
+# time
+%{__rm} src/C/man1/time.1
+# ftp servers
+%{__rm} src/C/man5/ftpusers.5
+
+%build
+# some man-pages require build step
+
+# cs: prepare man pages and apply extra
+LANG=en_GB.UTF-8 \
+%{__make} -C src/cs latest
+%{__mv} src/cs/latest/man* src/cs
+rmdir src/cs/latest
+for d in man-pages-extra/cs/man* ; do
+ mv -i $d/*.* src/${d#man-pages-extra/}
+done
+
+# tr: make man pages from XML (note: compiles some utility)
+%{__make} -C src/tr/source
+find src/tr/tr -name '*.gz' | xargs gzip -d
+%{__mv} src/tr/tr/man* src/tr
+
+# zh: prepare zh_CN and zh_TW
+cd src/zh
+%{__aclocal}
+%{__autoconf}
+%{__automake}
+%configure
+%{__make}
+cd ../..
+for l in zh_CN zh_TW ; do
+install -d src/${l}
+for d in man{1,2,3,4,5,6,7,8,n} ; do
+ln -snf ../zh/src/${d}/${l} src/${l}/${d}
+done
+done
+# zh_*: man1/sync.1 already exists
+%{__rm} src/zh_CN/man8/sync.8
+%{__rm} src/zh_TW/man8/sync.8
+
+# per-package lists / tarballs production
+package=NONE
+while read line ; do
+ if echo $line | grep -q '^\[.\+\]$' ; then
+ package=`echo $line | sed -e 's/^\[//;s/\]$//;'`
+ elif ! echo $line | grep -q '^#' ; then
+ if [ -f "src/C/$line" ]; then
+ echo "$line" >> ${package}-man.list
+ fi
+ for l in %{man_langs} ; do
+ if [ -f "src/$l/$line" ]; then
+ echo "$l/$line" >> ${package}-man.list
+ fi
+ done