]> git.pld-linux.org Git - packages/man-pages.git/blobdiff - man-pages.spec
- man-pages-extra tarball replaced by extra-files patch and links.list file that...
[packages/man-pages.git] / man-pages.spec
index e2b765676071d97167d2fa715ffc07bf10bc7142..458469c8ec2c57f24774a9967f84aa3d6fa73208 100644 (file)
@@ -15,21 +15,21 @@ Summary(ru.UTF-8):  Страницы руководства из Проекта 
 Summary(tr.UTF-8):     Linux Belgeleme Projesinin sistem kılavuz sayfaları
 Summary(uk.UTF-8):     Сторінки мануалу (man) з Linux Documentation Project
 Name:          man-pages
-Version:       2.79
-Release:       1
+Version:       4.11
+Release:       2
 License:       distributable
 Group:         Documentation
-%define                cs_version              0.16
+%define                cs_version              0.17.20080113
 %define                da_version              0.1.1
-%define                de_version              0.4
+%define                de_version              0.5
 %define                es_version              1.55
 %define                es_extra_version        0.8a
 %define                fi_version              0.2
-%define                fr_version              2.39.0
+%define                fr_version              3.03.0
 %define                hu_version              20010119
 %define                id_version              20011116
-%define                it_version              2.34
-%define                ja_version              20070615
+%define                it_version              4.08
+%define                ja_version              20170615
 %define                ko_version              20050219
 %define                nl_version              0.13.3
 %define                pl_version              20051105
@@ -37,17 +37,18 @@ Group:              Documentation
 %define                ro_version              0.2
 #%%define      ru_version              0.98
 %define                ru_asp_version          1.4
-%define                tr_version              1.0.3
-%define                zh_version              1.5
-Source0:       http://www.kernel.org/pub/linux/docs/manpages/%{name}-%{version}.tar.gz
-# Source0-md5: 1ab8989d32bfb15e1a4acbbea9c4a695
-Source1:       ftp://ftp.linux.cz/pub/localization/linux/czman/%{name}-cs-%{cs_version}.tar.gz
-# Source1-md5: e8036794c1762804f2e242cc5b52001e
+%define                tr_version              1.0.5
+%define                zh_version              1.5.2
+%define                posix_version           2013-a
+Source0:       https://www.kernel.org/pub/linux/docs/man-pages/%{name}-%{version}.tar.xz
+# Source0-md5: c2f25e2367fc12267bb85abe7b39f173
+Source1:       ftp://ftp.linux.cz/pub/localization/linux/czman/%{name}-cs-%{cs_version}.tar.bz2
+# Source1-md5: a3df67d98ab63a0a360cd0794ec87e0e
 # there is no LDP man page here, yet - but include it in sources for completeness
 Source2:       http://www.sslug.dk/locale/man-sider/manpages-da-%{da_version}.tar.gz
 # Source2-md5: d12ba0481d824c28a8b7d6b73e20d7c0
 Source3:       http://www.infodrom.org/projects/manpages-de/download/manpages-de-%{de_version}.tar.gz
-# Source3-md5: 6a2a1cd24b0bd61c4ab384324e707a95
+# Source3-md5: 6686b1be6da01cdbb5ea7511ddcf61a0
 Source4:       http://www.ditec.um.es/~piernas/manpages-es/%{name}-es-%{es_version}.tar.bz2
 # Source4-md5: b71f701dcae827f2f5e4e848c66321fc
 Source5:       http://www.ditec.um.es/~piernas/manpages-es/%{name}-es-extra-%{es_extra_version}.tar.gz
@@ -56,62 +57,79 @@ Source5:    http://www.ditec.um.es/~piernas/manpages-es/%{name}-es-extra-%{es_extra
 # (despite archive filename it's 0.2 version)
 Source6:       man-fi-0.1.tar.bz2
 # Source6-md5: bb266d3797cdf71bfbe1da190196f455
-Source7:       http://manpagesfr.free.fr/download/man-pages-fr-%{fr_version}.tar.bz2
-# Source7-md5: 7e9ecdd134703e8172107124f1f3fec4
+# TODO: http://www.win.tue.nl/~aeb/ftpdocs/linux-local/manpages/tr/man-pages-fr-3.70-1.tar.xz - what is the original source?
+#Source7Download: http://manpagesfr.free.fr/
+Source7:       http://manpagesfr.free.fr/download/%{name}-fr-%{fr_version}.tar.bz2
+# Source7-md5: 64046b022c7c8d559d78dd05f953261b
+# there is also: http://manpagesfr.free.fr/download/man-pages-extras-fr-0.8.1.tar.bz2
+# and: http://manpagesfr.free.fr/download/man-pages-sup-fr-20080606.tar.bz2
 #Source8:      http://download.uhulinux.hu/sources/man-pages-hu/man_hu_%{hu_version}.tar.gz (older)
 Source8:       http://ftp.debian.org/debian/pool/main/m/manpages-hu/manpages-hu_%{hu_version}.orig.tar.gz
 # Source8-md5: 742b682c5237a1e370b28f363826b2d5
 # there is no LDP man page here, yet, but included for completeness
 # based on http://nakula.rvs.uni-bielefeld.de/made/my_project/ManPage/ (dead now)
-Source9:       http://www.mif.pg.gda.pl/homepages/ankry/man-pages/man-pages-from-www-id-%{id_version}.tar.gz
+Source9:       http://www.mif.pg.gda.pl/homepages/ankry/man-pages/%{name}-from-www-id-%{id_version}.tar.gz
 # Source9-md5: 34a69de42ec4ae8180b947f8777a3e7a
 # available also as http://
-Source10:      ftp://ftp.pluto.linux.it/pub/pluto/ildp/man/%{name}-it-%{it_version}.tar.gz
-# Source10-md5:        259868d64ee589828b4cc43e8769507b
-Source11:      http://www.linux.or.jp/JM/%{name}-ja-%{ja_version}.tar.gz
-# Source11-md5:        d0079890039b10ef88f1e635ce59d859
+Source10:      ftp://ftp.pluto.linux.it/pub/pluto/ildp/man/%{name}-it-%{it_version}.tar.xz
+# Source10-md5:        869cf8ff2aa5c11b8d15d1ba7a47f4fa
+# note: man-pages-it-extra-0.5.0.tar.gz is also covered by the above version
+#Source11Download: http://linuxjm.osdn.jp/download.html
+Source11:      http://linuxjm.osdn.jp/%{name}-ja-%{ja_version}.tar.gz
+# Source11-md5:        ee20907738e957d4956197bb0163c9cd
 Source12:      http://download.kldp.net/man/man-pages-ko/%{ko_version}/%{name}-ko-%{ko_version}.tar.gz
 # Source12-md5:        e31dc6a51c02436371373dedaeeeacab
+# TODO: check 20051127 in Debian/Ubuntu?
 Source13:      ftp://ftp.nl.linux.org/pub/DOC-NL/manpages-nl/manpages-nl-%{nl_version}.tar.gz
 # Source13-md5:        b37b0216a87db7583e88ba87031a0b4a
-# currently at http://ptm.linux.pl/ (latest http://ptm.linux.pl/man-PL28-06-2007.tar.gz)
-# there is also a fork at http://ptm.berlios.de/, but seems to be stalled just after it started
-#Source14:     http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/PTM-snapshots/%{name}-pl-PTM-snapshot.%{pl_version}.tar.bz2
+# TODO: PTM has been overtaken by new project at http://manpages-pl.sourceforge.net/
+# http://downloads.sourceforge.net/manpages-pl/manpages-pl-%{pl_version}.tar.bz2 with pl_version=0.6
 Source14:      %{name}-pl-PTM-snapshot.%{pl_version}.tar.bz2
 # Source14-md5:        b9b5751fcde4c36022850d0e5a4757d3
-Source15:      ftp://ftp.win.tue.nl/pub/home/aeb/linux-local/manpages/tr/%{name}-pt_BR-%{pt_version}.tgz
+Source15:      http://www.win.tue.nl/~aeb/ftpdocs/linux-local/manpages/tr/%{name}-pt_BR-%{pt_version}.tgz
 # Source15-md5:        3f8db6dd6a7884b595e70f624ac93735
 # no LDP man pages yet
 Source16:      http://www.rolix.org/man/arhiva/man-pages-ro-%{ro_version}.tar.gz
 # Source16-md5:        ac5b2c970a31cb721e068ff80e5bd466
-#Source17:     http://www.linuxshare.ru/projects/trans/manpages-ru-%{ru_version}.tar.bz2
+# TODO: http://www.win.tue.nl/~aeb/ftpdocs/linux-local/manpages/tr/man-pages-ru-3.81-20160117.tar.bz2 - what is the original source?
+#Source17:     http://linuxshare.ru/projects/trans/manpages-ru-%{ru_version}.tar.bz2
 # ASP-linux have more up-to-date manpages (but 0.98 contains some updated pages)
 Source17:      http://www.mif.pg.gda.pl/homepages/ankry/man-pages/manpages-ru-asp-%{ru_asp_version}.tar.bz2
 # Source17-md5:        fffb27648417c8dd551e2a4403eefc64
-Source18:      http://dl.sourceforge.net/belgeler/man-pages-tr-%{tr_version}.tar.gz
-# Source18-md5:        903c7b22a87961842dec8f4f1adeeaf3
+Source18:      http://downloads.sourceforge.net/belgeler/man-pages-tr-%{tr_version}.tar.gz
+# Source18-md5:        8f322a60c80e31c34ef8979edaf68aae
 Source19:      http://www.linux.org.ua/twiki/pub/Projects/ManUk/man-pages-uk_UA.alfa.tar.gz
 # Source19-md5:        89576c5b51bb83c8bfa8bda794b96e21
-#Source20:     http://cmpp.linuxforum.net/download/man-pages-zh_CN-%{zh_version}.tar.gz
-Source20:      http://download.sf.linuxforum.net/cmpp/man-pages-zh_CN-%{zh_version}.tar.gz
-# Source20-md5:        edfe517621579520cf7451088ab126ea
-Source50:      %{name}-extra.tar.bz2
-# NoSource50-md5:      15d763c5221088dcb15ba8ae95f6d239
+#Source20Download: https://github.com/lidaobing/manpages-zh/releases
+# also newer git snapshot available at http://www.win.tue.nl/~aeb/ftpdocs/linux-local/manpages/tr/man-pages-zh-20141004.zip
+Source20:      https://github.com/lidaobing/manpages-zh/archive/v%{zh_version}/manpages-zh-%{zh_version}.tar.gz
+# Source20-md5:        1bbdc4f32272df0b95146518b27bf4be
+Source30:      https://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-%{posix_version}.tar.xz
+# Source30-md5:        825fde78e6fddd02426ecdd50e2cbe0d
+Source50:      %{name}-links.list
 Source100:     %{name}-tars.list
-Patch0:                %{name}-localtime.patch
-Patch1:                %{name}-zh_fixes.patch
-Patch2:                %{name}-misc.patch
-Patch3:                %{name}-extra.patch
-URL:           http://www.kernel.org/doc/man-pages/
+Patch0:                %{name}-zh_fixes.patch
+Patch1:                %{name}-misc.patch
+Patch2:                %{name}-extra.patch
+Patch3:                %{name}-tr-bash.patch
+Patch4:                %{name}-misc-localized.patch
+Patch5:                %{name}-cs-bash.patch
+Patch10:       %{name}-extra-files.patch
+URL:           https://www.kernel.org/doc/man-pages/
+BuildRequires: autoconf >= 2.61
+BuildRequires: automake
+BuildRequires: rpmbuild(macros) >= 1.566
 BuildRequires: sed >= 4.0
-AutoReqProv:   no
+# for man-pages-zh
+BuildRequires: zh-autoconvert
+# for man-pages-tr
+BuildRequires: zlib-devel
 Obsoletes:     man-pages-cs
 Obsoletes:     man-pages-de
 Obsoletes:     man-pages-es
 Obsoletes:     man-pages-fi
 Obsoletes:     man-pages-fr
 Obsoletes:     man-pages-hu
-Obsoletes:     manpages-hu
 Obsoletes:     man-pages-it
 Obsoletes:     man-pages-ja
 Obsoletes:     man-pages-ko
@@ -123,11 +141,19 @@ Obsoletes:        man-pages-ru
 Obsoletes:     man-pages-ru-asp
 Obsoletes:     man-pages-uk
 Obsoletes:     man-pages-zh
+Obsoletes:     manpages-hu
 Conflicts:     attr-devel < 2.2.0-2
 Conflicts:     kbd < 1.12-9
+Conflicts:     keyutils < 1.5.10
 Conflicts:     libcap < 1:1.10-5
+Conflicts:     lirc < 0.9.3a-2
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+AutoReqProv:   no
+
+# languages of packaged man pages
+# note: pt_BR is omitted here, these manuals are packaged as pt
+%define        man_langs       cs da de es fi fr hu id it ja ko nl pl pt ru tr uk zh_CN zh_TW
 
 %description
 A large collection of man pages covering programming APIs, file
@@ -276,212 +302,311 @@ Part of POSIX 1003.1-2003 in man pages format.
 Fragmenty POSIX 1003.1-2003 w postaci stron podręcznika systemowego.
 
 %prep
-%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
+%setup -q -c -a1 -a2 -a3 -a4 -a5 -a6 -a7 -a8 -a9 -a10 -a11 -a13 -a14 -a15 -a16 -a17 -a18 -a19 -a20 -a30
+%patch0 -p1 -d manpages-zh-%{zh_version}
+%patch3 -p1 -d man-pages-tr-%{tr_version}
+%patch5 -p1 -d man-pages-cs-%{cs_version}
+# man-pages-extra
+%patch10 -p0
+%patch2 -p0 -d man-pages-extra
+install -d man-pages-extra/C
+%{__mv} man-pages-extra/man* man-pages-extra/C
+# extra so links (via man-pages-extra)
+while read LINE ; do
+       if echo "$LINE" | grep -q '^#' ; then
+               continue
+       fi
+       set -- $LINE
+       install -d man-pages-extra/${1}/$(dirname $2)
+       if [ -f man-pages-extra/${1}/${2} ]; then
+               echo "man-pages-extra/${1}/${2} already exists!"
+               exit 1
+       fi
+       echo ".so $3" >>man-pages-extra/${1}/${2}
+done < %{SOURCE50}
+
+# prepare somehow unified source trees
+install -d src
+%{__mv} man-pages-%{version} src/C
+%{__mv} man-pages-posix-%{posix_version}/man*p src/C
+%{__mv} man-pages-cs-%{cs_version} src/cs
+%{__mv} manpages-da-%{da_version} src/da
+%{__mv} manpages-de-%{de_version} src/de
+%{__mv} man-pages-es-%{es_version} src/es
+%{__mv} manpages-fi src/fi
+%{__mv} man-pages-fr-%{fr_version} src/fr
+%{__mv} manpages-hu-%{hu_version}.orig/usr/share/man/hu src/hu
+install -d src/id/man{1,8}
+%{__mv} man-pages-it-%{it_version} src/it
+%{__mv} man-pages-ja-%{ja_version} src/ja
+install -d src/ko
+tar xzf %{SOURCE12} -C src/ko
+%{__mv} manpages-nl-%{nl_version} src/nl
+%{__mv} pl_PL src/pl
+%{__mv} man-pages-%{pt_version}-pt_BR src/pt_BR
+%{__mv} man-ro src/ro
+%{__mv} manpages-ru-asp-%{ru_asp_version} src/ru
+%{__mv} man-pages-tr-%{tr_version} src/tr
+%{__mv} man-pages-uk_UA.alfa src/uk
+%{__mv} manpages-zh-%{zh_version} src/zh
+
+# unify trees for easier processing (where possible)
+
+# da: add man1 subdir
+install -d src/da/man1
+%{__mv} src/da/*.1 src/da/man1
+
+# es: merge in "extra" pages
+# skip pages already in main es
+%{__rm} man-pages-es-extra-%{es_extra_version}/man3/dl*.3
+%{__rm} man-pages-es-extra-%{es_extra_version}/man5/{acct,host.conf,resolv.conf,resolver}.5
+%{__rm} 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}
+       mv -i man-pages-es-extra-%{es_extra_version}/man${f}/* src/es/man${f}
+done
+
+# it: merge per-package trees
+%{__mv} src/it/man-pages/man? src/it
+for f in 1 4 5 8 9 ; do
+       mv -i src/it/*/man${f}/* src/it/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
+
+# ja: merge per-package trees
+%{__mv} src/ja/manual/LDP_man-pages/man* src/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}
+%{__rm} -r src/ja/manual/{gnumaniak,ld.so,modutils/man2,glibc-linuxthreads/man3,man/man1/{apropos,man,whatis}.1,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
+%{__rm} -r src/ja/manual/shadow
 # dhcp 3 not dhcp2
-rm -rf man-pages-ja-%{ja_version}/manual/dhcp2
+%{__rm} -r src/ja/manual/dhcp2
 # nfs-utils not nfs-server
-rm -rf man-pages-ja-%{ja_version}/manual/nfs-server
+%{__rm} -r src/ja/manual/nfs-server
 # ypbind-mt not ypbind
-rm -rf man-pages-ja-%{ja_version}/manual/ypbind
+%{__rm} -r src/ja/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}
+%{__rm} src/ja/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
+for f in src/ja/manual/modutils/man8/{depmod,insmod,lsmod,modinfo,modprobe,rmmod} ; do
+       %{__mv} ${f}.8 ${f}.modutils.8
 done
 # avoid filename conflict
-mv -f man-pages-ja-%{ja_version}/manual/netkit/man8/ftpd.{8,8n}
+%{__mv} src/ja/manual/netkit/man8/ftpd.{8,8n}
+# remove files existing in main man-pages tarball
+# note: (should we keep those from main tarball or ja tarball?)
+%{__rm} src/ja/manual/GNU_fileutils/man1/{chgrp,chmod,chown,cp,dd,df,du,install,ln,ls,mkdir,mkfifo,mknod,mv,rm,rmdir,touch}.1
+%{__rm} src/ja/manual/GNU_sh-utils/man1/{basename,chroot,date,dirname,echo,env,expr,false,groups,hostid,id,logname,nice,nohup,pathchk,printenv,printf,pwd,sleep,stty,su,tee,test,true,tty,uname,users,who,whoami,yes}.1
+%{__rm} src/ja/manual/GNU_textutils/man1/{cat,cksum,comm,csplit,cut,expand,fmt,fold,head,join,md5sum,nl,od,paste,pr,sort,split,sum,tac,tail,tr,unexpand,uniq,wc}.1
+%{__rm} src/ja/manual/lpr-linux/man1/{lpq,lpr,lprm}.1
+%{__rm} src/ja/manual/net-tools/man1/hostname.1
+%{__rm} src/ja/manual/netatalk/man1/timeout.1
+%{__rm} src/ja/manual/procps/man1/uptime.1
+%{__rm} src/ja/manual/util-linux/man1/{arch,kill}.1
+%{__rm} src/ja/manual/util-linux/man8/sln.8
+%{__rm} src/ja/manual/bind/man7/hostname.7
+%{__rm} src/ja/manual/cups/man8/lpc.8
 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
+       mv -i src/ja/manual/*/man${f}/* src/ja/man${f}
 done
 
-mv -f cs/man8/at.1 cs/man1
+# zh_CN: cleanup must be done after build (in build stage)
+
+# individual man pages fixes
+
 # 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
+%{__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/fr/man8/sync.8 src/fr/man1/sync.1
+%{__mv} src/hu/man1/gpm.1 src/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
+%{__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 -f pl/man5/{at_acces,at_access}.5
+%{__mv} src/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
+%{__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)
 
-bzip2 -dc %{SOURCE50} | tar xf -
-%patch3 -p0
+%patch1 -p1 -d src/C
+%patch4 -p1 -d src
 
 # 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
+# merge our "extra" tarball
+
+# already in base man-pages
+%{__rm} man-pages-extra/C/man1/{getent,iconv,locale,localedef,sprof}.1
+%{__rm} man-pages-extra/C/man2/vm86old.2
+%{__rm} man-pages-extra/C/man3/{CIRCLEQ_*,LIST_*,TAILQ_*,__after_morecore_hook,__free_hook,__malloc_initialize_hook,__memalign_hook,__realloc_hook}.3
+%{__rm} man-pages-extra/C/man4/sk98lin.4
+%{__rm} man-pages-extra/C/man8/sln.8
+# empty now
+rmdir man-pages-extra/C/man4
+# 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
+%{__rm} man-pages-extra/cs/man1/{dir,egrep,fgrep,vdir}.1
+%{__rm} man-pages-extra/cs/man4/{kmem,port,vcsa,zero}.4
+%{__rm} man-pages-extra/cs/man7/utf8.7
+# empty now
+rmdir man-pages-extra/cs/man{4,7}
+%{__rm} man-pages-extra/de/man3/ctime.3
+# empty now
+rmdir man-pages-extra/de/man3
+%{__rm} man-pages-extra/fr/man8/{ld-linux,ld-linux.so}.8
+%{__rm} man-pages-extra/it/man7/utf8.7
+# empty now
+rmdir man-pages-extra/it/man7
+%{__rm} man-pages-extra/ja/man3/{CIRCLEQ_*,LIST_*,TAILQ_*,__after_morecore_hook,__free_hook,__malloc_initialize_hook,__memalign_hook,__realloc_hook}.3
+%{__rm} man-pages-extra/pt_BR/man2/waitpid.2
+# note: cs and zh_CN are omitted here and processed later
+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
 
-ln -sf pt_BR pt
+# remove man pages existing in other packages
 
-# 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
+%{__rm} src/C/man1/time.1
 # ftp servers
-rm -f man5/ftpusers.5
+%{__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
 
-%if %{with tars}
+# 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/\]$//;'`
-       else
-               if [ -f "$line" ]; then
+       elif ! echo $line | grep -q '^#' ; then
+               if [ -f "src/C/$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
+               for l in %{man_langs} ; do
+                       if [ -f "src/$l/$line" ]; then
                                echo "$l/$line" >> ${package}-man.list
                        fi
                done
        fi
 done < %{SOURCE100}
+%if %{with tars}
+rm -rf tarsrc tar
+install -d tarsrc tar
+cd tarsrc
+ln -snf ../src/[!C]* ../src/C/man* ../man-pages-extra/README.*-pages .
+cd ..
 for l in *-man.list ; do
        t=`basename $l .list`
-       if [ -f README.${t}-pages ]; then
+       if [ -f tarsrc/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
+       tar cJf tar/${t}-pages.tar.xz -C tarsrc --files-from "$l"
 done
-%else
-# glibc
-find man3 -type f | grep -v 'intro\.3' | xargs rm -f
-rm -f man1/ldd.1
-rm -f man1/rpcgen.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
-rm -f {ja,ru}/man1/rpcgen.1
 %endif
 
-# shadow (but not pwdutils!); shadow(5) is missing in pwdutils too
-rm -f man5/passwd.5
-
-# rpcbind, formerly glibc
-rm -f man8/rpcinfo.8
-
-rm -f man1/{i,}gawk.1
-rm -f man1/{i,}gawk.1
-rm -f {it,ja,pl}/man1/{i,}gawk.1
-
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_mandir}/man{1,2,3,4,5,6,7,8,0p,1p,3p}
 
-for n in man{1,2,3,4,5,6,7,8,0p,1p,3p}/*; do
-       install $n $RPM_BUILD_ROOT%{_mandir}/$n
+# install C man pages
+for n in src/C/man{1,2,3,4,5,6,7,8,0p,1p,3p}/*; do
+       bn=${n#src/C/}
+       install -m644 $n $RPM_BUILD_ROOT%{_mandir}/$bn
 done
+# drop man pages packaged separately
+grep '^man' glibc-man.list | sed -e "s,^,$RPM_BUILD_ROOT%{_mandir}/," | xargs -r %{__rm}
+# rpcbind, formerly glibc
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/rpcinfo.8
+# gawk
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{gawk,igawk}.1
+# libaio
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/{aio_init,lio_listio}.3
+# shadow (but not pwdutils!); shadow(5) is missing in pwdutils too
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man5/passwd.5
 
-# 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
+# install localized man pages, only for installed C man pages
+for l in %{man_langs} ; do
        install -d $RPM_BUILD_ROOT%{_mandir}/$l/man{1,2,3,4,5,6,7,8}
-       for n in man{1,2,3,4,5,6,7,8}/*; do
-               if [ -f $l/$n ]; then
-                       install $l/$n $RPM_BUILD_ROOT%{_mandir}/$l/$n
+       for n in $RPM_BUILD_ROOT%{_mandir}/man{1,2,3,4,5,6,7,8}/*; do
+               bn=$(basename $(dirname $n))/$(basename $n)
+               if [ -f src/$l/$bn ]; then
+                       install -m644 src/$l/$bn $RPM_BUILD_ROOT%{_mandir}/$l/$bn
                fi
        done
 done
 
+# files with just .so links pointing to non-existing man pages
+# modules.2
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/de/man2/{create_module,delete_module,get_kernel_syms,init_module}.2
+# obsolete.2
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/{cs,de,es,ko,nl,pl,pt,ru}/man2/{oldfstat,oldlstat,oldolduname,oldstat,olduname}.2
+# undocumented.7 (exists in es, but not installed because it's not in C manuals)
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/es/man5/networks.5
+# clock_getres.3 (packaged in glibc, but these links exist only in fr manuals, not C)
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/fr/man2/{clock_getres,clock_gettime,clock_settime}.2
+# undocumented.7
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/ru/man5/networks.5
+# statfs.2
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/pl/man2/fstatfs.2
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%{_mandir}/man?/*
+%{_mandir}/man1/*.1*
+%{_mandir}/man2/*.2*
+%{_mandir}/man3/*.3*
+%{_mandir}/man4/*.4*
+%{_mandir}/man5/*.5*
+%{_mandir}/man6/*.6*
+%{_mandir}/man7/*.7*
+%{_mandir}/man8/*.8*
 %lang(cs) %{_mandir}/cs/man*/*
 %lang(de) %{_mandir}/de/man*/*
 %lang(es) %{_mandir}/es/man*/*
@@ -494,13 +619,19 @@ rm -rf $RPM_BUILD_ROOT
 %lang(nl) %{_mandir}/nl/man*/*
 %lang(pl) %{_mandir}/pl/man*/*
 %lang(pt) %{_mandir}/pt/man*/*
+# packaged as plain pt for now
 #%lang(pt_BR) %{_mandir}/pt_BR/man*/*
 %lang(ru) %{_mandir}/ru/man*/*
 %lang(tr) %{_mandir}/tr/man*/*
 %lang(uk) %{_mandir}/uk/man*/*
 %lang(zh_CN) %{_mandir}/zh_CN/man*/*
+%lang(zh_TW) %{_mandir}/zh_TW/man*/*
 
 %files posix
 %defattr(644,root,root,755)
-%dir %{_mandir}/man?p
-%{_mandir}/man?p/*
+%dir %{_mandir}/man0p
+%{_mandir}/man0p/*.0p*
+%dir %{_mandir}/man1p
+%{_mandir}/man1p/*.1p*
+%dir %{_mandir}/man3p
+%{_mandir}/man3p/*.3p*
This page took 0.08491 seconds and 4 git commands to generate.