LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File canna.spec of Package canna (Project DISCONTINUED:openSUSE:11.1)

# spec file for package canna (Version 3.7p3)
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/

# norootforbuild

Name:           canna
BuildRequires:  ncurses-devel pwdutils termcap xorg-x11-devel
License:        BSD 3-Clause
Group:          System/I18n/Japanese
PreReq:         /usr/sbin/useradd /bin/rm %insserv_prereq %fillup_prereq
#BuildPrereq:  termcap
Requires:       cannadic
AutoReqProv:    on
Provides:       locale(ja)
Version:        3.7p3
Release:        201
# http://canna.sourceforge.jp/
Url:            http://www.nec.co.jp/japanese/product/computer/soft/canna/
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Summary:        Kana and Kanji Conversion System
Source:         http://downloads.sourceforge.jp/canna/9565/Canna37p3.tar.bz2
Source1:        candoc.tar.bz2
Source2:        rccanna
Source3:        hosts.canna
Source4:        jisx6002.kpdef
Patch0:         unoff1.patch
Patch5:         security.patch
Patch7:         Canna.conf.patch
Patch9:         canuum.suse.patch
# multibyte patch needed for Nicolatter,
# see http://www2.airnet.ne.jp/pak04955/dl-linux.htm
# Patch can also be found in the nicolatter package
Patch11:        Canna36p3-q1.diff
Patch12:        default-dictionaries.patch
Patch14:        security-okir.patch
Patch15:        add-kpdef.patch
Patch17:        sort.patch
Patch18:        control-reaches-end-of-void-function.patch
Patch19:        noconfwrapper.patch
Patch20:        canna-noredefine_fgets.patch
Patch21:        canna-include.patch
Patch22:        fix-uninit.patch
Patch23:        canna-strip.patch
Patch24:        bug-262623-internet-usage-broken-by-security-patch.patch
Patch25:        Canna37p3-destbufferoverflow.patch
# Summary(ja):  Canna - かな漢字変換システム
# %description -n canna -l ja
# UNIX 上で共通に使える日本語入力システムとして Wnn が存在しました。
# 『かんな』は UNIX 上の日本語入力として Wnn 以外にもう一つの選択肢を
# 与えることができればと思いフリーソフトウェアとして誰でも利用できるよ
# うにしました。
# 『かんな』は Wnn と同様、アプリケーションプログラムとかな漢字変換辞
# 書をアクセスするかな漢字変換サーバが別のプロセスとして分離されたクラ
# イアント・サーバ型の動作をします。このことを含め『かんな』の特長とし
# て以下があります。
# (1) クライアント・サーバ方式のかな漢字変換
# (2) 逐次自動変換のサポート
# (3) 統一的なユーザインタフェースの提供
# (4) 広範囲なカスタマイズのサポート
# (5) lisp 言語ベースのカスタマイズ記述
# (6) 単語登録時の最適な品詞づけ
# (7) 統一的なユーザインタフェースを簡単に提供するためのライブラリ
# (8) 辞書をメンテナンスするためのコマンド群
# (9) カスタマイズを簡単に行うためのカスタマイズツールの提供
# (10) Nemacs(Mule)、kinput2、uum のサポート

Canna converts Kana to Kanji based on a client/server model. An
application program communicates with a Kana to Kanji conversion server
to achieve Japanese input. Canna can be used in Emacs, X Window System
environments, and on TTYs. Canna provides more than ten tools to
maintain Kana to Kanji conversion dictionaries.

    Osamu Hata <hata@d1.bs2.mt.nec.co.jp>

%package -n canna-libs
License:        BSD 3-Clause
Summary:        Canna Libraries
Group:          System/I18n/Japanese
Provides:       canna:/usr/lib/libcanna.so.1.1
#Summary(ja): Canna ユーザインタフェースレベルのライブラリ
# %description -n canna-libs -l ja
# Canna ユーザインタフェースレベルのライブラリ

%description -n canna-libs
Canna Libraries

    Osamu Hata <hata@d1.bs2.mt.nec.co.jp>

%package -n canna-devel
License:        BSD 3-Clause
Summary:        Libraries of Canna
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}, %{name}-libs = %{version}
Provides:       cannadev
Obsoletes:      cannadev
#Summary(ja): Canna ユーザインタフェースレベルのライブラリ
# %description -n canna-devel -l ja
# Canna ユーザインタフェースレベルのライブラリ

%description -n canna-devel
Canna libraries.

    Osamu Hata <hata@d1.bs2.mt.nec.co.jp>

%setup -q -n Canna37p3
%patch0 -p1 -b .unoff1
%patch5 -p1 -b .security
%patch7 -p1 -b .Canna.conf
%patch9 -p1 -b .canuum.suse
%patch11 -p1 -b .Canna36p3-q1.diff
%patch12 -p1 -b .default-dictionaries
%patch14 -p1 -b .security-okir
%patch15 -p1 -b .add-kpdef
%patch17 -p1 -b .sortcall
%patch18 -p1 -b .control-reaches-end-of-void-function
%patch19 -p1 -b .noconfwrapper
%patch20 -p0 -b .noredefine
perl -pi -e 's#/usr/lib/termcap#%{_libdir}/termcap#' canuum/Imakefile
perl -pi -e 's#lib64#%{_lib}#' Canna.conf
cp ${RPM_SOURCE_DIR}/jisx6002.kpdef dic/phono/
%patch21 -p1
%patch24 -p1

%{suse_update_config -f canuum}
make Makefile
make CDEBUGFLAGS="$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing" CXXDEBUGFLAGS="$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing" canna                 
pushd canuum
    export CDEBUGFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
    export CXXDEBUGFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
    xmkmf -a
    make CDEBUGFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" CXXDEBUGFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"

# create home directory for user 'wnn':
mkdir -p $RPM_BUILD_ROOT/var/lib/wnn
# add user 'wnn' (also used for Canna, not only for wnn)
/usr/sbin/useradd -r -o -g bin -u 66 -s /bin/false -c "Wnn System Account" -d /var/lib/wnn wnn 2> /dev/null || :
make install DESTDIR=%{?buildroot} RPM_BUILD=TRUE
make install.man MANSUFFIX=1 LIBMANSUFFIX=3 DESTDIR=%{?buildroot}
# Make links for utility programs 
# (excluded from Make process via RPM_BUILD=TRUE)
(cd %{?buildroot}/usr/bin; \
for i in cpdic lsdic mkdic mvdic rmdic syncdic addwords delwords
	ln -sf catdic $i
done; \
ln -sf ../bin/catdic ../sbin/cannakill)
pushd canuum
    make install DESTDIR=%{?buildroot}
    make install.man MANSUFFIX=1 LIBMANSUFFIX=3 DESTDIR=%{?buildroot}
    chmod 755 $RPM_BUILD_ROOT/usr/bin/canuum
mkdir -p $RPM_BUILD_ROOT/etc/init.d
mkdir -p $RPM_BUILD_ROOT/usr/sbin
mkdir -p $RPM_BUILD_ROOT/var/lib/canna/log
install -m 755 $RPM_SOURCE_DIR/rccanna $RPM_BUILD_ROOT/etc/init.d/canna
ln -s ../../etc/init.d/canna $RPM_BUILD_ROOT/usr/sbin/rccanna
install -m 644 $RPM_SOURCE_DIR/hosts.canna %{?buildroot}/etc/hosts.canna
# Remove all cannakill manpages because we've disabled it in
# the server.
rm -f `find $RPM_BUILD_ROOT/usr/share/man -name 'cannakill*'`
rm -f $RPM_BUILD_ROOT/usr/sbin/cannakill

%pre -n canna
/usr/sbin/useradd -r -o -g bin -u 66 -s /bin/false -c "Wnn System Account" -d /var/lib/wnn wnn 2> /dev/null || :

%post -n canna
%{fillup_and_insserv -y canna}

%preun -n canna
%stop_on_removal canna

%postun -n canna
%restart_on_update canna
if [ "$1" == "0" ]; then
  rm -rf /tmp/.iroha_unix

%post -n canna-libs -p /sbin/ldconfig

%postun -n canna-libs -p /sbin/ldconfig

%doc CHANGES.jp README{,.jp} WHATIS{,.jp} ${RPM_SOURCE_DIR}/candoc.tar.bz2
%doc INSTALL{,.jp}
%dir %attr(-,wnn,root) /var/log/canna
%dir %attr(-,wnn,root) /var/lib/canna/log
%dir %attr(-,wnn,root) /var/lib/wnn
# don't package cannakill, it is disabled by okir's security patch anyway
# /usr/sbin/cannakill
# more secure permission for cannaserver
# (setuid and setgid bits was set per default).
%attr(755,root,root) /usr/sbin/cannaserver
%config /var/lib/canna/default.canna
#%config /var/lib/canna/engine.cf
%dir /var/lib/canna/
%dir %attr(755,wnn,root) /var/lib/canna/dic/
%attr(-,wnn,root) /var/lib/canna/dic/*cbp
%dir %attr(755,wnn,root) /var/lib/canna/dic/canna/
%attr(-,wnn,root) /var/lib/canna/dic/canna/*
%dir /usr/share/man/ja/
%dir /usr/share/man/ja/man1/

%files -n canna-libs
%defattr(-, root, root)

%files -n canna-devel
%defattr(-, root, root)
%dir /usr/include/canna
%dir /usr/share/man/ja/
%dir /usr/share/man/ja/man3/

* Mon Dec 01 2008 ro@suse.de
- added baselibs.conf for canna-libs (required by uim)
* Wed Oct 08 2008 crrodriguez@suse.de
- fix buffer overflow
* Mon Aug 25 2008 ro@suse.de
- initscript: add $remote_fs to should start (binary below /usr)
  copy Required-Start list to Required-Stop to fix build
- remove outdated options from fillup_and_insserv call
* Mon Apr 16 2007 mfabian@suse.de
- Bugzilla #262623: "canna internet usage broken by suse security
  jail patch": fix with patch supplied by IBM.
* Fri Mar 30 2007 rguenther@suse.de
- add ncurses-devel BuildRequires
* Thu Jan 25 2007 sndirsch@suse.de
- move from /usr/X11R6 to /usr
* Tue Feb 28 2006 mfabian@suse.de
- add "Provides: locale(ja)".
* Thu Feb 02 2006 tiwai@suse.de
- fixed the broken system path via non-root build
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jan 17 2006 schwab@suse.de
- Don't strip binaries.
* Wed Dec 21 2005 ro@suse.de
- remove not packaged cannakill symlink
* Sun Oct 30 2005 dmueller@suse.de
- fix build
- fix build with non-root
* Wed Sep 21 2005 yxu@suse.de
- add prototypes for functions
* Mon Jun 13 2005 ro@suse.de
- do not redefine fgets
* Wed Jun 08 2005 uli@suse.de
- build with -fPIC, static libs are used in loadable modules by
  some packages
* Mon Sep 20 2004 mfabian@suse.de
- Bugzilla #45561: move .so files to canna-libs package. uim needs
  the .so files but uim should not need to have canna-devel
  installed to work.
* Tue Jul 27 2004 mfabian@suse.de
- update to 37p3.
* Mon May 24 2004 ro@suse.de
- skip confwrapper which breaks with new XVENDORNAME
* Mon Apr 05 2004 mfabian@suse.de
- Bugzilla #37733: fix insecure use of temporary files in
* Tue Mar 09 2004 mfabian@suse.de
- update to 37p1.
* Tue Oct 14 2003 meissner@suse.de
- suse_update_config for new config.guess.
* Tue Oct 07 2003 ro@suse.de
- fix sort calling syntax
* Thu Sep 18 2003 mfabian@suse.de
- Bugzilla #31220: fix permissions and ownerships.
* Sat Sep 13 2003 mfabian@suse.de
- Bugzilla #29396: apply patch for x86_64.
  Many thanks to Mitsuru Chinen <mchinen@yamato.ibm.com>.
* Mon Sep 01 2003 mfabian@suse.de
- update to 3.6p3.
- remove patch which added the canuum sources (included now).
- Build canuum against ncurses instead of against termcap,
  adapt SuSE patch to suppress the "permission denied" messages
  when leaving canuum.
- add latest patch for Nicolatter: Canna36p3-q1.diff
- remove most of Canna35b2-unoff1.patch (mostly included in 3.6p3,
  I'll check the remaining ones in detail later).
- remove Canna35b2-unoff2.patch (already included in 3.6p3).
- remove Canna35b2-hack1.patch (already included in 3.6p3).
- remove Canna35b2.patch (already included in 3.6p3).
- remove Canna35b2.intptr.dif (included upstream).
- remove Canna35b2.dif (obsolete).
- adapt Olaf Kirchs security patch.
* Tue Aug 19 2003 mfabian@suse.de
- Use new stop_on_removal/restart_on_upate macros.
- add %%run_ldconfig to %%post and %%postun of canna-libs.
* Mon Jun 16 2003 mfabian@suse.de
- fix "directory not owned by any package".
* Wed Oct 23 2002 mfabian@suse.de
- map '|' (= Shift+Yen on the jp106 keyboard) to
  JIS X 6002 keymap (Requested by Shunya).
* Wed Oct 23 2002 mfabian@suse.de
- add keyboard map for JIS X 6002 keyboard.
* Wed Aug 21 2002 mfabian@suse.de
- add security patch by Olaf Kirch okir at suse.de which makes
  cannaserver run in a chroot jail and fixes some other security
- link canuum statically against libtermcap to remove the
  dependency on libtermcap.rpm
- .spec file cleanup
* Wed Aug 14 2002 mfabian@suse.de
- fix typo in .spec file which led to omission of the .la files
  in canna-devel
* Sun Aug 11 2002 mfabian@suse.de
- move shared libraries into new sub-package "canna-libs".
  This is to make dynamic linking of canna clients possible without
  making them require the whole 3.6 MB canna package.
- replace network route named -> $network $named
  in Required-Start of /etc/init.d/canna
* Thu Aug 01 2002 mfabian@suse.de
- add /bin/rm %%insserv_prereq %%fillup_prereq to Prereq:
* Sat Jul 27 2002 adrian@suse.de
- add %%run_ldconfig
* Wed Jul 24 2002 mfabian@suse.de
- Don't parse rc.config in init script
- add home-dir to base package
- change usage of useradd in pre script to comply with
  the package howto
* Mon Apr 22 2002 mfabian@suse.de
- fix %%{_libdir} for x86_64
* Sat Jan 26 2002 mfabian@suse.de
- use %%{_libdir}
* Thu Jan 17 2002 ro@suse.de
- added imakefile.dif to force early include generation
* Thu Jan 10 2002 egmont@suselinux.hu
- changed /sbin/init.d to /etc/init.d in init script comment
* Fri Dec 07 2001 mfabian@suse.de
- get rid of START_CANNA variable in /etc/rc.config:
  use new macros fill_up_and_insserv and insserv_cleanup and
  remove testing for START_CANNA from init script.
* Mon Sep 17 2001 mfabian@suse.de
- integrate canuum into the main package again. Splitting it
  into a sub-package is too late for SuSE 7.3.
* Sun Sep 16 2001 mfabian@suse.de
- move canuum into an additional sub-package. Only canuum needs
  libtermcap, by moving it into a sub-package, the main canna
  packages doesn't require libtermcap anymore.
* Sat Sep 08 2001 mfabian@suse.de
- added entry "yubin7" to the default dictionary lists
* Fri Sep 07 2001 mfabian@suse.de
- mount more dictionaries by default, especially mount
  the supplemental cannadic dictionaries by default
- add Requires: cannadic.
* Tue May 22 2001 mfabian@suse.de
- add a /etc/hosts.canna file to limit the access to the
  cannaserver to the local host by default.
* Thu May 03 2001 mfabian@suse.de
- make init script comply with latest LSB spec
* Thu Mar 08 2001 mfabian@suse.de
- improve init script (wait for server to remove socket, using
  Werner's new "usleep")
- fix %%postun, "sbin/init.d" -> "etc/init.d"
* Wed Mar 07 2001 mfabian@suse.de
- add xf86 to "# neededforbuild"
* Fri Mar 02 2001 mfabian@suse.de
- add multibyte patch needed for Nicolatter.
* Mon Nov 27 2000 mfabian@suse.de
- removed socket before starting the Canna server.
  sometimes these socket remains after killing the Canna server
  which prevents a restart.
* Mon Nov 27 2000 mfabian@suse.de
- added "route named" to "Required-Start:"
- moved init script to /etc/init.d
* Fri Nov 24 2000 mfabian@suse.de
- fixed bug in new init script
* Thu Nov 23 2000 mfabian@suse.de
- change to new init script mechanism:
  rewrote rccanna and use insserv to handle links to init script
* Thu Nov 16 2000 mfabian@suse.de
- added missing newline at end of file "rc.config.canna"
* Sun Nov 12 2000 ro@suse.de
- never redeclare/redefine bcopy/bzero
* Sat Oct 28 2000 mfabian@suse.de
- avoided "permission denied" messages when leaving canuum
  (on exit, canuum called chown("/dev/ptyp1", 0, 0),
  chmod("/dev/ptyp1", 0666), chown("/dev/ttyp1", 0, 0)
  and chmod("/dev/ttyp1", 0666). This only worked as long as
  canuum was suid root and failed now because bk@suse.de
  removed the suid bits. But these chown and chmod don't
  seem to make sense on linux anyway, therefore I just
  removed them).
- changed Japanese locale from ja_JP.ujis to ja_JP to stop
  (this stops canuum from complaining about wrong locale during
- add "useradd wnn" to the pre-install script, to make it build
  and install on systems where there is no user wnn yet
  (e.g. SuSE 7.0, 6.4)
- used bzip2 for sources instead of gzip.
- removed some garbage from old patches
* Fri Oct 27 2000 bk@suse.de
- fixed startproc call(security)
- changed canna uid from bin to wnn
- removed suid bits from binaries
- fixed uninstall scripts
* Fri Sep 22 2000 schwab@suse.de
- Fix integer/pointer clashes.
* Thu Aug 10 2000 mfabian@suse.de
- moved Japanese manpages from subdirectories "ja_JP.ujis" to
  subdirectories "ja".
* Mon Jul 17 2000 mfabian@suse.de
- security patch, fixes buffer overrun problem in function
  SetDicHome( client, cxnum ) in file Canna35b2/server/misc.c
* Tue Jul 11 2000 mfabian@suse.de
- fixed links to noexisting manpages.
  Some manpages were still links to pages in section 3x:
  mfabian@gregory:/usr/X11R6/man/man3$ zcat XKanjiControl.3.gz
  .so man3/uilib.3x
  and these didn't exist, because we did put them in section 3.