]> git.pld-linux.org Git - packages/Canna.git/blobdiff - Canna.spec
- added ghost soname symlinks
[packages/Canna.git] / Canna.spec
index 48f1ea70c90a3263acc62c0960fb03f054dad538..8653a739f78c1025795e72e94dee655420afdffd 100644 (file)
@@ -1,40 +1,39 @@
+%define        _ver    %(echo %{version} | tr -d .)
+%define        _rc             p3
+%define        _rel    1
 Summary:       Japanese input system
-Summary(ja):   ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à
-Summary(pl):   System wprowadzania znaków japoñskich
+Summary(ja.UTF-8):     日本語入力システム
+Summary(pl.UTF-8):     System wprowadzania znaków japońskich
 Name:          Canna
-Version:       3.5b2
-Release:       44
+Version:       3.7
+Release:       %{_rc}.%{_rel}
 License:       BSD-like
 Group:         Libraries
-#origin, but host not found: ftp://ftp.nec.co.jp/pub/Canna/Canna35/Canna35b2.tar.gz
-Source0:       ftp://ftp.tokyonet.ad.jp/pub/misc/%{name}/%{name}35/%{name}35b2.tar.gz
-# Source0-md5: 09ae4dd3a5d33168ba17470ad9242cf3
+Source0:       http://downloads.sourceforge.jp/canna/9565/%{name}%{_ver}%{_rc}.tar.bz2
+# Source0-md5: 0b8c241f63ab4cd3c0b9be569456dc33
 Source1:       %{name}.init
 Source2:       %{name}-dot-canna
 Patch0:                %{name}-conf.patch
-Patch1:                %{name}-DESTDIR.patch
-Patch2:                %{name}-glibc.patch
-Patch3:                %{name}-stdin.patch
-Patch4:                %{name}-bcopy.patch
-Patch5:                %{name}-security.patch
-Patch6:                %{name}-hosts.canna-fix.patch
-Patch7:                %{name}-nonstrip.patch
-Patch8:                %{name}-wconv.patch
-Patch9:                %{name}-multivul.patch
-Patch10:       %{name}-fixes.patch
-URL:           http://www.nec.co.jp/japanese/product/computer/soft/canna/
-BuildRequires: imake
-PreReq:                rc-scripts
+Patch1:                %{name}-lib64.patch
+URL:           http://canna.sourceforge.jp/
+BuildRequires: cpp
+BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: xorg-cf-files
+BuildRequires: xorg-util-gccmakedep
+BuildRequires: xorg-util-imake
 Requires(post,preun):  /sbin/chkconfig
+Requires(postun):      /usr/sbin/groupdel
+Requires(postun):      /usr/sbin/userdel
 Requires(pre): /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires(postun):      /usr/sbin/userdel
-Requires(postun):      /usr/sbin/groupdel
-Requires:      %{name}-libs = %{version}
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      rc-scripts
+Provides:      group(canna)
+Provides:      user(canna)
 ExcludeArch:   ia64
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 Canna is a Japanese input system and provides a unified user interface
@@ -45,86 +44,75 @@ Japanese in the same way. It converts kana to kanji based on a
 client-server model and supports automatically kana-to-kanji
 conversion.
 
-%description -l ja
-Canna ¤ÏÆüËܸì¤òÆþÎϤ¹¤ëºÝ¤Ë¡¢Åý°ì¤µ¤ì¤¿¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òÄ󶡤¹
-¤ëÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à¤Ç¤¹¡£Nemacs(Mule)¡¢kinput2¡¢canuum ¤ò¥µ¥Ý¡¼¥È¤·¤Æ
-¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥Ä¡¼¥ë¤¹¤Ù¤Æ¤Ï¡¢Ã±°ì¤Î¥«¥¹¥¿¥Þ¥¤¥º¥Õ¥¡¥¤¥ë¡¢¥í¡¼¥Þ»ú¤«
-¤ÊÊÑ´¹µ¬Â§¡¢ÊÑ´¹¼­½ñ¤òÍѤ¤¤Æ¡¢Æ±ÍͤËÆüËܸìÆþÎϤǤ­¤Þ¤¹¡£¥¯¥é¥¤¥¢¥ó¥È-
-¥µ¡¼¥Ð¥â¥Ç¥ë¤Ë¤â¤È¤Å¤¤¤Æ¤«¤Ê¤ò´Á»ú¤ËÊÑ´¹¤·¡¢Ã༡Ū¤Ê¤«¤Ê´Á»úÊÑ´¹¤ò¥µ¥Ý¡¼
-¥È¤·¤Æ¤¤¤Þ¤¹¡£
-
-%description -l pl
-Canna to system wprowadzania znaków japoñskich, dostarczaj±cy
-jednolity interfejs u¿ytkownika do tego celu. Obs³uguje Cemacsa
-(Mule), kinput2 i canuum. Wszystkie te narzêdzia mog± byæ u¿ywane
-poprzez pojedynczy plik konfiguracyjny, w ten sam sposób dla zasad
-konwersji romaji do kana, s³owników konwersji i wprowadzania znaków.
-Canna konwertuje kana do kanji bazuj±c na modelu klient-serwer,
-obs³uguje te¿ automatyczn± konwersjê kana do kanji.
+%description -l ja.UTF-8
+Canna は日本語を入力する際に、統一されたユーザインターフェースを提供す
+る日本語入力システムです。Nemacs(Mule)、kinput2、canuum をサポートして
+います。これらのツールすべては、単一のカスタマイズファイル、ローマ字か
+な変換規則、変換辞書を用いて、同様に日本語入力できます。クライアント-
+ã\82µã\83¼ã\83\90ã\83¢ã\83\87ã\83«ã\81«ã\82\82ã\81¨ã\81¥ã\81\84ã\81¦ã\81\8bã\81ªã\82\92æ¼¢å­\97ã\81«å¤\89æ\8f\9bã\81\97ã\80\81é\80\90次ç\9a\84ã\81ªã\81\8bã\81ªæ¼¢å­\97å¤\89æ\8f\9bã\82\92ã\82µã\83\9dã\83¼
+トしています。
+
+%description -l pl.UTF-8
+Canna to system wprowadzania znaków japońskich, dostarczający
+jednolity interfejs użytkownika do tego celu. Obsługuje Cemacsa
+(Mule), kinput2 i canuum. Wszystkie te narzędzia mogą być używane
+poprzez pojedynczy plik konfiguracyjny, w ten sam sposób dla zasad
+konwersji romaji do kana, słowników konwersji i wprowadzania znaków.
+Canna konwertuje kana do kanji bazując na modelu klient-serwer,
+obsługuje też automatyczną konwersję kana do kanji.
 
 %package libs
 Summary:       Runtime library for Canna
-Summary(pl):   Biblioteki Canna
+Summary(pl.UTF-8):     Biblioteki Canna
 Group:         Libraries
 
 %description libs
 This package contains the runtime library for running programs with
 Canna.
 
-%description libs -l pl
-Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
-u¿ywaj±cych Canna.
+%description libs -l pl.UTF-8
+Ten pakiet zawiera biblioteki potrzebne do uruchamiania programów
+używających Canna.
 
 %package devel
 Summary:       Header files for Canna
-Summary(pl):   Pliki nag³ówkowe Canna
+Summary(pl.UTF-8):     Pliki nagłówkowe Canna
 Group:         Development/Libraries
-Requires:      %{name}-libs = %{version}
+Requires:      %{name}-libs = %{version}-%{release}
 
 %description devel
 This package contains the header files for building programs which use
 Canna.
 
-%description devel -l ja
-¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë¤Ï Canna ¤òÍøÍѤ·¤¿¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤Ëɬ
-ÍפʥإåÀ¥Õ¥¡¥¤¥ë¤È¥é¥¤¥Ö¥é¥ê¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
+%description devel -l ja.UTF-8
+このパッケージには Canna を利用したプログラムをコンパイルするために必
+要なヘッダファイルとライブラリを含んでいます。
 
-%description devel -l pl
-Ten pakiet zawiera pliki nag³ówkowe do budowania programów u¿ywaj±cych
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe do budowania programów używających
 Canna.
 
 %package static
 Summary:       Canna static libraries
-Summary(pl):   Biblioteki statyczne Canna
+Summary(pl.UTF-8):     Biblioteki statyczne Canna
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
 This package contains Canna static libraries.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Ten pakiet zawiera statyczne biblioteki Canna.
 
 %prep
-%setup -q -n %{name}35b2
+%setup -q -n %{name}%{_ver}%{_rc}
 %patch0 -p1
+%if "%{_lib}" == "lib64"
 %patch1 -p1
-%patch3 -p1
-%patch2 -p0
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p2
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-
-%{__perl} -pi -e 's@/usr/lib$@%{_libdir}@' Canna.conf
+%endif
 
 %build
 xmkmf -a
-# by some reason sglobal.h is not made automatically - workaround:
-%{__make} sglobal.h -C lib/canna
 %{__make} canna \
        CDEBUGFLAGS="%{rpmcflags}" \
        CXXDEBUGFLAGS="%{rpmcflags}"
@@ -138,9 +126,6 @@ install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/skel}
        MANSUFFIX=1 \
        LIBMANSUFFIX=3
 
-# default manuals are in Japanese; install English ones too
-mv -f Canna.conf Canna.conf.orig
-sed -e 's/^#define JAPANESEMAN.*//' Canna.conf.orig > Canna.conf
 xmkmf -a
 %{__make} install.man \
        DESTDIR=$RPM_BUILD_ROOT \
@@ -148,6 +133,13 @@ xmkmf -a
        MANSUFFIX=1 \
        LIBMANSUFFIX=3
 
+# convert man symlinks to files
+for l in $(find $RPM_BUILD_ROOT%{_mandir} -type l); do
+       t=$(readlink $l)
+       rm -f $l
+       echo ".so $t" > $l
+done
+
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/canna
 install %{SOURCE2} $RPM_BUILD_ROOT/etc/skel/.canna
 
@@ -156,47 +148,29 @@ unix
 localhost
 EOF
 
+rm -rf $RPM_BUILD_ROOT%{_prefix}/man
+
 %clean
-rm -fr $RPM_BUILD_ROOT
+rm -rf $RPM_BUILD_ROOT
 
 %pre
-if [ -n "`getgid canna`" ]; then
-       if [ "`getgid canna`" != "41" ]; then
-               echo "Warning: group canna doesn't have gid=41. Correct this before installing Canna." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/groupadd -g 41 -r -f canna
-fi
-if [ -n "`id -u canna 2>/dev/null`" ]; then
-       if [ "`id -u canna`" != "41" ]; then
-               echo "Warning: user canna doesn't have uid=41. Correct this before installing Canna." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 41 -r -d /var/lib/canna -s /bin/false \
-               -c "Canna Service User" -g canna canna 1>&2
-fi
+%groupadd -g 41 canna
+%useradd -u 41 -d /var/lib/canna -s /bin/false -c "Canna Service User" -g canna canna
 
 %post
 /sbin/chkconfig --add canna
-if [ -f /var/lock/subsys/canna ]; then
-       /etc/rc.d/init.d/canna restart 1>&2
-else
-       echo "Run \"/etc/rc.d/init.d/canna start\" to start Canna service."
-fi
+%service canna restart "Canna service"
 
 %preun
 if [ "$1" = "0" ]; then
-       if [ -f /var/lock/subsys/canna ]; then
-               /etc/rc.d/init.d/canna stop 1>&2
-       fi
+       %service canna stop
        /sbin/chkconfig --del canna
 fi
 
 %postun
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel canna
+       %userremove canna
+       %groupremove canna
 fi
 
 %post  libs -p /sbin/ldconfig
@@ -204,33 +178,37 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc README WHATIS doc
+%doc README WHATIS
 %lang(ja) %doc CHANGES.jp README.jp WHATIS.jp
 %attr(755,root,root) %{_bindir}/*
 %attr(755,root,root) %{_sbindir}/cannaserver
 %attr(755,root,root) %{_sbindir}/cannakill
 %attr(754,root,root) /etc/rc.d/init.d/canna
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/hosts.canna
-%config(noreplace) %verify(not size mtime md5) /etc/skel/.canna
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/hosts.canna
+%config(noreplace) %verify(not md5 mtime size) /etc/skel/.canna
 %{_mandir}/man1/*
 %lang(ja) %{_mandir}/ja/man1/*
 %attr(770,root,canna) /var/log/canna
-%dir /var/lib/canna
-%config(noreplace) %verify(not size mtime md5) /var/lib/canna/default.canna
-%config(noreplace) %verify(not size mtime md5) /var/lib/canna/engine.cf
-%attr(775,root,canna) %dir /var/lib/canna/dic
-%attr(664,root,canna) %config(noreplace) %verify(not size mtime md5) /var/lib/canna/dic/*.cbp
-%attr(775,root,canna) %dir /var/lib/canna/dic/canna
-%attr(664,root,canna) %config(noreplace) %verify(not size mtime md5) /var/lib/canna/dic/canna/*.c*
-%config(noreplace) %verify(not size mtime md5) /var/lib/canna/dic/canna/dics.dir
-/var/lib/canna/sample
+
+%dir %{_datadir}/canna
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/canna/default.canna
+%attr(775,root,canna) %dir %{_datadir}/canna/dic
+%attr(664,root,canna) %config(noreplace) %verify(not md5 mtime size) %{_datadir}/canna/dic/*.cbp
+%attr(775,root,canna) %dir %{_datadir}/canna/dic/canna
+%attr(664,root,canna) %config(noreplace) %verify(not md5 mtime size) %{_datadir}/canna/dic/canna/*.c*
+%config(noreplace) %verify(not md5 mtime size) %{_datadir}/canna/dic/canna/dics.dir
+%{_datadir}/canna/sample
 
 %files libs
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libRKC.so.1.0.0
-%attr(755,root,root) %{_libdir}/libRKC16.so.1.0.0
-%attr(755,root,root) %{_libdir}/libcanna.so.1.0.0
-%attr(755,root,root) %{_libdir}/libcanna16.so.1.0.0
+%attr(755,root,root) %{_libdir}/libRKC.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libRKC.so.1
+%attr(755,root,root) %{_libdir}/libRKC16.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libRKC16.so.1
+%attr(755,root,root) %{_libdir}/libcanna.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcanna.so.1
+%attr(755,root,root) %{_libdir}/libcanna16.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcanna16.so.1
 
 %files devel
 %defattr(644,root,root,755)
This page took 0.637835 seconds and 4 git commands to generate.