+%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
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}"
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 \
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
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
%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)