X-Git-Url: http://git.pld-linux.org/?p=packages%2Fman-pages.git;a=blobdiff_plain;f=man-pages.spec;h=458469c8ec2c57f24774a9967f84aa3d6fa73208;hp=4194e05ca73a160352541e6b0072fb394d288402;hb=78dd76f660a2475a6de58109b88daf1e240fb31b;hpb=c7bfc465576bfea9ff7548878325f9bcab0c11d8 diff --git a/man-pages.spec b/man-pages.spec index 4194e05..458469c 100644 --- a/man-pages.spec +++ b/man-pages.spec @@ -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.74 -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: d2c7ff067c1beb82dabbfe4d9f49cd5e -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: ea9f180127076c37f274639cfb286bc3 +#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*