]> git.pld-linux.org Git - packages/man-pages.git/blobdiff - man-pages.spec
- updated to 5.10, ja 20210215
[packages/man-pages.git] / man-pages.spec
index 0c5eb34bee8fb2e215bbb5eca555ef991f7ab908..bc533915fef4d6d93beede28b33206bddfb5c277 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:       3.39
+Version:       5.10
 Release:       1
 License:       distributable
 Group:         Documentation
-%define                cs_version              0.16
-%define                da_version              0.1.1
-%define                de_version              0.4
+%define                cs_version              0.17.20080113
+%define                da_version              0.1.2
+%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.70-1
 %define                hu_version              20010119
 %define                id_version              20011116
-%define                it_version              2.34
-%define                ja_version              20070615
+%define                it_version              5.06
+%define                ja_version              20210215
 %define                ko_version              20050219
 %define                nl_version              0.13.3
 %define                pl_version              20051105
@@ -37,17 +37,20 @@ 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/man-pages/%{name}-%{version}.tar.xz
-# Source0-md5: 3feafd75f9bb2132bc5055347329b198
-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: 4ae3f74a1beddd919936e1058642644c
+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
+# http://www.sslug.dk/locale/man-sider/manpages-da-%{da_version}.tar.gz (404 as of Feb 2018)
+Source2:       manpages-da-%{da_version}.tar.gz
+# Source2-md5: 26cdd12ea7c62e595fc1a3a39bf53115
+# TODO: new project at https://manpages-de-team.pages.debian.net/manpages-de/, current version is 2.12
 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,8 +59,12 @@ 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/%{name}-fr-%{fr_version}.tar.bz2
-# Source7-md5: 7e9ecdd134703e8172107124f1f3fec4
+#Source7Download: https://gitlab.com/perkamon/man-pages-fr/tags
+# TODO: use https://gitlab.com/perkamon/man-pages-fr/-/archive/%{fr_version}/man-pages-fr-%{fr_version}.tar.bz2, then make dist-fr to get tarball - but 4.16 produces very few translations
+Source7:       man-pages-fr-%{fr_version}.tar.xz
+# Source7-md5: 66a6033fb2ed3641c35b1d53c0fe5deb
+# 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
@@ -66,46 +73,62 @@ Source8:    http://ftp.debian.org/debian/pool/main/m/manpages-hu/manpages-hu_%{hu_v
 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:        80329fc120d4ea29cd3408b7ced4f4c3
+# 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:        83061bc82c94cc06e8e30d30d4c57311
 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.7
 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: new project at: https://sourceforge.net/projects/man-pages-ru/files/, latest version man-pages-ru_4.17-2385-2385-20181124.tar.bz2
+#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
-Source30:      http://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/man-pages-posix-2003-a.tar.bz2
-# Source30-md5:        7c78aff03c0a6767ba483d34f19e4b09
-Source50:      %{name}-extra.tar.bz2
-# Source50-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}-tr-so-links.patch
+Patch5:                %{name}-misc-localized.patch
+Patch6:                %{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
+BuildRequires: tar >= 1:1.22
+# for man-pages-zh
+BuildRequires: zh-autoconvert
+BuildRequires: xz
+# for man-pages-tr
+BuildRequires: zlib-devel
 Obsoletes:     man-pages-cs
 Obsoletes:     man-pages-de
 Obsoletes:     man-pages-es
@@ -126,11 +149,17 @@ 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
 formats, protocols, etc.
@@ -278,207 +307,314 @@ 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 -a30
-%patch0 -p1
-%patch1 -p0
-
-mv man-pages-posix-*/man*p .
+%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}
+%patch4 -p1 -d man-pages-tr-%{tr_version}
+%patch6 -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
+
+# 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} fr 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
+
+# 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}
+       # special case for zh
+       if [ "$1" = "zh_CN" ]; then
+               zhmandir="src/zh/src/$(dirname "$2")"
+               makefile="$zhmandir/manpages"
+               if [ ! -f "$zhmandir/.init.mark" ]; then
+                       # allow continuation in next line
+                       %{__sed} -i -e 's/\(\.[1-8]\)$/\1 \\/' "$makefile"
+                       touch "$zhmandir/.init.mark"
+               fi
+               printf " %s" "$(basename "$2")" >> "$makefile"
+       fi
+done < %{SOURCE50}
 
-mkdir ko
-tar xzf %{SOURCE12} -C ko
+# unify trees for easier processing (where possible)
 
-find man-pages-tr-%{tr_version} -name '*.gz' | xargs gzip -d
+# da: add man1 subdir
+install -d src/da/man1
+%{__mv} src/da/*.1 src/da/man1
 
-# 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
+# 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}
+%{__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 -rf man-pages-ja-%{ja_version}/manual/shadow
+%{__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 -rf man-pages-ja-%{ja_version}/manual/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 -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
-# 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}
+%{__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 man-pages-ja-%{ja_version}/manual/*/man${f}/* ja/man${f}
+       mv -i src/ja/manual/*/man${f}/* src/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
-
-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/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
-# 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
+%{__mv} src/pl/man5/{at_acces,at_access}.5
 # man1/sync.1 already exists
-rm -f zh_CN/man8/sync.8
+%{__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)
 
-%patch2 -p1
-
-bzip2 -dc %{SOURCE50} | tar xf -
-%patch3 -p0
+%patch1 -p1 -d src/C
+%patch5 -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*
+# merge our "extra" tarball
 
-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
-       if head -n 1 $n | grep "^\.so [^/]*$" >/dev/null 2>&1 ; then
-               sed -i -e 's,.so \([^\.]*\)\.\(.*\),.so man\2/\1.\2,' $n
-       fi
+# 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
 
-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
-# glibc
-rm -f man8/ld-linux{,.so}.8
+%{__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 chJf 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*/*
@@ -491,13 +627,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.055514 seconds and 4 git commands to generate.