X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=blobdiff_plain;f=Canna.spec;h=fe9a411e2d7647c776d5a4d1f69b72ffa36a0b10;hb=aa8acece008aa6721c5f56a6d48964a48aae9caa;hp=8db87f5428d27a8aaf5b0c9f6ab8e4ee4cb12060;hpb=812067c6a57d97cde75dbf051910df0027597990;p=packages%2FCanna.git diff --git a/Canna.spec b/Canna.spec index 8db87f5..fe9a411 100644 --- a/Canna.spec +++ b/Canna.spec @@ -1,35 +1,46 @@ +%define _ver %(echo %{version} | tr -d .) +%define _rc p3 +%define _rel 0.1 Summary: Japanese input system Summary(ja): ÆüËܸìÆþÎÏ¥·¥¹¥Æ¥à Summary(pl): System wprowadzania znaków japoñskich Name: Canna -Version: 3.5b2 -Release: 41 +Version: 3.7 +Release: 0.%{_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: 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 -URL: http://www.nec.co.jp/japanese/product/computer/soft/canna/ +#Patch2: %{name}-glibc.patch # looks outdated +#Patch3: %{name}-stdin.patch # looks outdated +#Patch4: %{name}-bcopy.patch # looks outdated +#Patch5: %{name}-security.patch # looks outdated +#Patch6: %{name}-hosts.canna-fix.patch # looks outdated +#Patch7: %{name}-nonstrip.patch # merged into Canna-conf.patch +Patch8: %{name}-wconv.patch +#Patch9: %{name}-multivul.patch # apparently outdated +#Patch10: %{name}-fixes.patch # outdated apparently +URL: http://canna.sourceforge.jp/ +BuildRequires: cpp BuildRequires: imake -PreReq: rc-scripts +BuildRequires: rpmbuild(macros) >= 1.268 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: 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 @@ -101,21 +112,15 @@ This package contains Canna static libraries. Ten pakiet zawiera statyczne biblioteki Canna. %prep -%setup -q -n %{name}35b2 +%setup -q -n %{name}%{_ver}%{_rc} %patch0 -p1 -%patch1 -p1 -%patch3 -p1 -%patch2 -p0 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 +%patch8 -p1 %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}" + CDEBUGFLAGS="%{rpmcflags}" \ + CXXDEBUGFLAGS="%{rpmcflags}" %install rm -rf $RPM_BUILD_ROOT @@ -123,16 +128,22 @@ install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/skel} %{__make} install install.man \ DESTDIR=$RPM_BUILD_ROOT \ - MANSUFFIX=1 LIBMANSUFFIX=3 + 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 \ cannaManDir=%{_mandir} \ - MANSUFFIX=1 LIBMANSUFFIX=3 + 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 @@ -142,49 +153,30 @@ unix localhost EOF -gzip -9nf CHANGES.jp README* WHATIS* +rm -rf $RPM_BUILD_ROOT%{_prefix}/man + %clean rm -fr $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 @@ -192,33 +184,33 @@ fi %files %defattr(644,root,root,755) -%doc README.gz WHATIS.gz doc -%lang(ja) %doc {CHANGES.jp,README.jp,WHATIS.jp}.gz +%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) %{_libdir}/libRKC16.so.*.* +%attr(755,root,root) %{_libdir}/libcanna.so.*.* +%attr(755,root,root) %{_libdir}/libcanna16.so.*.* %files devel %defattr(644,root,root,755)