diff --git a/FreeWnn-1.1.1-a023.1.tar.xz b/FreeWnn-1.1.1-a023.1.tar.xz
new file mode 100644
index 0000000..62a5230
--- /dev/null
+++ b/FreeWnn-1.1.1-a023.1.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:117c0071433768397f804ff51e3912f173be7842be04764951c0d41f3092a8f7
+size 2601184
diff --git a/FreeWnn-1.1.1-a023.1.tar.xz.asc b/FreeWnn-1.1.1-a023.1.tar.xz.asc
new file mode 100644
index 0000000..e5e7f2b
--- /dev/null
+++ b/FreeWnn-1.1.1-a023.1.tar.xz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEoLN+0W2JCopMqR15KfgLojUMXP8FAlxi14cACgkQKfgLojUM
+XP8hKg//WsBnMaDfMmk9NjlwbXgp779bdVQPt9E7qb+WnoPXpOzJ/s2mRQTCOfdJ
+CQEDl9uVnMcMfy8xr03gZBBHFRztPq9xqsy8Bc0Cu8pa4yCo3GxrOTpsRvy5sA6E
+Y4iEKHjiPbNvfEzTC+LDyxhEBamqFyzbhCp930uiZZRgUaAotzXJZFposmqx4Sgy
+wfcK2J7+3B6zQB9+w8rONDDLCzqSJKdDIkMltIFVLFVN9EB088GLPX1BG2AJdJtT
+mInBAzG72YnQ+P4+1nwwcFhEHK+yiFSurxbSVxifO9mplA6qKnCG2Ll/ThHoWWUD
+T/1oPUm41mxBRG8MxDzeli3jE7KX/IR3l7LoL8SPuaRzCD3u54A5ril4jnhc2vIP
+1is7FLu1GkbVcSCVLXQ0SdoxAFfD8HbIarQtcg5XpRZJHNiwVhRxkJCL3VR0UOi+
+DwP7MXchB6w4JxwYtj/qRkIhMXHVaZ727eVlLp/TmQQFqsW5cYOAdOexyW4cCWtu
+DNH5fEM0PDRZWVBT2mobJyyqH+r/oTtDcGq/9kRhByY6vR0UqIwi565WubQB8/DK
+gvuCKSUIhSU8qv1FGDbJHB2e1jmYhHjSwW2a2l8g1L2JXuYe83HAtTvkZXZqNJud
+6REEhIrEOpABSqkD8WZ9fmxaA9lTxsfMi4DjWiHL743sLpGbqhQ=
+=NQgY
+-----END PGP SIGNATURE-----
diff --git a/FreeWnn-1.1.1-a023.tar.gz b/FreeWnn-1.1.1-a023.tar.gz
deleted file mode 100644
index 47bc911..0000000
--- a/FreeWnn-1.1.1-a023.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ca5b59eaab658a19bcebdbe3007cee88c17de83477843d95c3ed5cecc10f1d92
-size 3712238
diff --git a/FreeWnn-trad_cpp.patch b/FreeWnn-trad_cpp.patch
deleted file mode 100644
index d294ed8..0000000
--- a/FreeWnn-trad_cpp.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-Index: FreeWnn-1.1.1-a023/Wnn/pubdicplus/Makefile.in
-===================================================================
---- FreeWnn-1.1.1-a023.orig/Wnn/pubdicplus/Makefile.in
-+++ FreeWnn-1.1.1-a023/Wnn/pubdicplus/Makefile.in
-@@ -325,7 +325,7 @@ fzk.master-.c: fzk.master
- $(LN) $? $@
-
- std.fsrc: fzk.master-.c $(FZK_SRC)
-- $(FZK_PP) fzk.master-.c > $@
-+ $(CPP) -traditional-cpp $(FZK_FLAGS) fzk.master-.c > $@
-
- full.fsrc: fzk.master-.c $(FZK_SRC)
- $(FZK_PP) -DKANSAI fzk.master-.c > $@
-Index: FreeWnn-1.1.1-a023/cWnn/cdic/Makefile.in
-===================================================================
---- FreeWnn-1.1.1-a023.orig/cWnn/cdic/Makefile.in
-+++ FreeWnn-1.1.1-a023/cWnn/cdic/Makefile.in
-@@ -64,10 +64,10 @@ all:: $(ALLTGT)
- $(DICS): $(HINSI)
-
- $(FULL):: $(FZK_SRCS) con.master-.c
-- $(FZK_PP) -I$(srcdir) $(FZK_FLAG) con.master-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-+ $(CPP) -traditional-cpp -I$(srcdir) $(FZK_FLAG) con.master-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-
- $(FULLR):: $(FZK_SRCS) con.masterR-.c
-- $(FZK_PP) -I$(srcdir) $(FZK_FLAG) con.masterR-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-+ $(CPP) -traditional-cpp -I$(srcdir) $(FZK_FLAG) con.masterR-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-
- # To avoid circular dependency, we don't use 'con.master?.c'
- con.master-.c: con.master
-Index: FreeWnn-1.1.1-a023/cWnn/tdic/Makefile.in
-===================================================================
---- FreeWnn-1.1.1-a023.orig/cWnn/tdic/Makefile.in
-+++ FreeWnn-1.1.1-a023/cWnn/tdic/Makefile.in
-@@ -64,10 +64,10 @@ all:: $(ALLTGT)
- $(DICS): $(HINSI)
-
- $(FULL):: $(FZK_SRCS) con.master-.c
-- $(FZK_PP) -I$(srcdir) $(FZK_FLAG) con.master-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-+ $(CPP) -traditional-cpp -I$(srcdir) $(FZK_FLAG) con.master-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-
- $(FULLR):: $(FZK_SRCS) con.masterR-.c
-- $(FZK_PP) -I$(srcdir) $(FZK_FLAG) con.masterR-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-+ $(CPP) -traditional-cpp -I$(srcdir) $(FZK_FLAG) con.masterR-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-
- # To avoid circular dependency, we don't use 'con.master?.c'
- con.master-.c: con.master
-Index: FreeWnn-1.1.1-a023/kWnn/kdic/Makefile.in
-===================================================================
---- FreeWnn-1.1.1-a023.orig/kWnn/kdic/Makefile.in
-+++ FreeWnn-1.1.1-a023/kWnn/kdic/Makefile.in
-@@ -62,7 +62,7 @@ all:: $(ALLTGT)
- $(DICS): $(HINSI)
-
- $(FULL):: $(FZK_SRCS) fzk.master-.c
-- $(FZK_PP) -I$(srcdir) $(FZK_FLAG) fzk.master-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-+ $(CPP) -traditional-cpp -I$(srcdir) $(FZK_FLAG) fzk.master-.c | egrep -v '^(# |#line |#pragma |$$)' | $(ATOF) -h $(HINSI) $@
-
- # To avoid circular dependency, we don't use 'fzk.master.c'
- fzk.master-.c: fzk.master
diff --git a/_service b/_service
new file mode 100644
index 0000000..b2d8485
--- /dev/null
+++ b/_service
@@ -0,0 +1,12 @@
+
+
+ :pserver:anonymous@cvs.osdn.net:/cvsroot/freewnn
+ cvs
+
+
+
+ *.tar
+ xz
+
+
+
diff --git a/fcwnn.service b/fcwnn.service
new file mode 100644
index 0000000..91ad676
--- /dev/null
+++ b/fcwnn.service
@@ -0,0 +1,13 @@
+[Unit]
+ConditionPathExists=/etc/FreeWnn/zh_CN/cserverrc
+Description=Free Wnn (mainland) Chinese Server, for input of simplified Chinese
+
+[Service]
+Type=forking
+User=wnn
+ExecStartPre=/bin/rm -f /tmp/cd_sockV4
+ExecStart=/usr/bin/cserver
+ExecStopPost=/bin/rm -f /tmp/cd_sockV4
+
+[Install]
+WantedBy=multi-user.target
diff --git a/fkwnn.service b/fkwnn.service
new file mode 100644
index 0000000..d394412
--- /dev/null
+++ b/fkwnn.service
@@ -0,0 +1,13 @@
+[Unit]
+ConditionPathExists=/etc/FreeWnn/ko_KR/kserverrc
+Description=Free Wnn Korean Server, for input of Korean
+
+[Service]
+Type=forking
+User=wnn
+ExecStartPre=/bin/rm -f /tmp/kd_sockV4
+ExecStart=/usr/bin/kserver
+ExecStopPost=/bin/rm -f /tmp/kd_sockV4
+
+[Install]
+WantedBy=multi-user.target
diff --git a/ftwnn.service b/ftwnn.service
new file mode 100644
index 0000000..24510eb
--- /dev/null
+++ b/ftwnn.service
@@ -0,0 +1,13 @@
+[Unit]
+ConditionPathExists=/etc/FreeWnn/zh_TW/tserverrc
+Description=Free Wnn Taiwan-Chinese Server, for input of traditional Chinese
+
+[Service]
+Type=forking
+User=wnn
+ExecStartPre=/bin/rm -f /tmp/td_sockV4
+ExecStart=/usr/bin/tserver
+ExecStopPost=/bin/rm -f /tmp/td_sockV4
+
+[Install]
+WantedBy=multi-user.target
diff --git a/fwnn.changes b/fwnn.changes
index 2bca265..48199d9 100644
--- a/fwnn.changes
+++ b/fwnn.changes
@@ -1,3 +1,29 @@
+-------------------------------------------------------------------
+Sat Mar 16 03:14:29 UTC 2019 - bkbin005@rinku.zaq.ne.jp
+
+- Remove tarball's URL: Upstream hasn't released tarball yet.
+
+-------------------------------------------------------------------
+Fri Mar 15 21:24:15 UTC 2019 - Jan Engelhardt
+
+- Do not hide errors coming from useradd.
+
+-------------------------------------------------------------------
+Sat Mar 9 07:51:43 UTC 2019 - bkbin005@rinku.zaq.ne.jp
+
+- Update to FreeWnn-1.1.1-a023.1:
+ * Deal with "Reproducible Buids".
+ See .
+- Remove FreeWnn-trad_cpp.patch: doesn't seem to need.
+
+-------------------------------------------------------------------
+Thu Mar 7 13:22:01 UTC 2019 - josef.moellers@suse.com
+
+- Added systemd support: Replaced sysv init files by systemd
+ service files.
+ [bsc#1116014,fwnn.service,fcwnn.service,fkwnn.service,
+ ftwnn.service]
+
-------------------------------------------------------------------
Thu Nov 23 13:49:55 UTC 2017 - rbrown@suse.com
diff --git a/fwnn.keyring b/fwnn.keyring
new file mode 100644
index 0000000..c7827fe
--- /dev/null
+++ b/fwnn.keyring
@@ -0,0 +1,158 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+CWx+ugYJm8I31Efj0CkLxerlEQ==
+=b7/t
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/fwnn.service b/fwnn.service
new file mode 100644
index 0000000..55696c1
--- /dev/null
+++ b/fwnn.service
@@ -0,0 +1,13 @@
+[Unit]
+ConditionPathExists=/etc/FreeWnn/ja/jserverrc
+Description=Free Wnn Kanji Server used for input of Japanese
+
+[Service]
+Type=forking
+User=wnn
+ExecStartPre=/bin/rm -f /tmp/jd_sockV4
+ExecStart=/usr/bin/jserver
+ExecStopPost=/bin/rm -f /tmp/jd_sockV4
+
+[Install]
+WantedBy=multi-user.target
diff --git a/fwnn.spec b/fwnn.spec
index 3cc8e8f..f51a1db 100644
--- a/fwnn.spec
+++ b/fwnn.spec
@@ -1,7 +1,7 @@
#
# spec file for package fwnn
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,25 +16,26 @@
#
-#Compat macro for new _fillupdir macro introduced in Nov 2017
-%if ! %{defined _fillupdir}
- %define _fillupdir /var/adm/fillup-templates
-%endif
-
%define base_version 1.1.1
-%define alpha_version a023
+%define alpha_version a023.1
Name: fwnn
-Version: 1.1.1a023
+Version: 1.1.1a023.1
Release: 0
Summary: FreeWnn Japanese Input System--Server Only
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: System/I18n/Japanese
Url: http://freewnn.sourceforge.jp/
-Source: http://iij.dl.osdn.jp/freewnn/63271/FreeWnn-%{base_version}-%{alpha_version}.tar.gz
-Source1: rcfwnn
-Source2: rcfcwnn
-Source3: rcftwnn
-Source4: rcfkwnn
+# Upstream hasn't released tarball yet.
+# I entered the following commands.
+# cvs -d :pserver:anonymous@cvs.osdn.net:/cvsroot/freewnn export -r freewnn-1-1-1-a023-1 -d FreeWnn-1.1.1-a023.1 FreeWnn
+# tar --xz -cf FreeWnn-1.1.1-a023.1.tar.xz FreeWnn-1.1.1-a023.1
+Source: FreeWnn-%{base_version}-%{alpha_version}.tar.xz
+Source1: FreeWnn-%{base_version}-%{alpha_version}.tar.xz.asc
+Source2: %{name}.keyring
+Source5: fwnn.service
+Source6: fcwnn.service
+Source7: fkwnn.service
+Source8: ftwnn.service
Source99: fwnn-rpmlintrc
Patch0: FreeWnn-fsstnd.patch
Patch1: FreeWnn-ja.patch
@@ -42,14 +43,12 @@ Patch1: FreeWnn-ja.patch
Patch2: FreeWnn-noroot.patch
Patch7: FreeWnn-s390x.patch
Patch8: FreeWnn-warnings.patch
-Patch14: FreeWnn-trad_cpp.patch
BuildRequires: fdupes
BuildRequires: ncurses-devel
BuildRequires: tcpd-devel
Requires: fwnncom = %{version}
-# %{_sbindir}/useradd
+# %%{_sbindir}/useradd
Requires(pre): shadow
-Requires(pre): %insserv_prereq %fillup_prereq
Conflicts: wnn6
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -110,7 +109,6 @@ Requires: fcwnncom = %{version}
Requires: fkwnn = %{version}
Requires: fwnn = %{version}
Requires(pre): shadow
-Requires(pre): %insserv_prereq %fillup_prereq
Requires(post): fcwnncom
%description -n fcwnn
@@ -152,7 +150,6 @@ Group: System/I18n/Chinese
Requires: fcwnn = %{version}
Requires: fcwnncom = %{version}
Requires(pre): shadow
-Requires(pre): %insserv_prereq %fillup_prereq
Requires(post): fcwnncom
%description -n ftwnn
@@ -163,7 +160,6 @@ Summary: Free kWnn Korean Input System
Group: System/I18n/Korean
Requires: fwnncom = %{version}
Requires(pre): shadow
-Requires(pre): %insserv_prereq %fillup_prereq
%description -n fkwnn
Free kWnn Korean input system.
@@ -190,13 +186,13 @@ client programs that use the Korean Input System, Free kWnn.
######################################################################
# package xwnmo
# I don't know how to build xwnmo. Will try that later ...
-# %package -n xwnmo
+# %%package -n xwnmo
# Requires: wnn
# Summary: xwnmo - Input Manager for the X11 Window System
# Summary(ja): xwnmo - Xウィンドウ・インプットマネージャー
# Group: Applications/X11
#
-# %description -n xwnmo
+# %%description -n xwnmo
#
# Xwnmo is a input manager for the Input Method of the X Window System.
# It is based on the X11 Input Method Specifications. It provides a
@@ -212,14 +208,13 @@ client programs that use the Korean Input System, Free kWnn.
%patch2 -p1
%patch7 -p2 -b .s390x
%patch8
-%patch14 -p1
-#%setup -b 1 -n Xsi # add include-files for Xwnmo
+#%%setup -b 1 -n Xsi # add include-files for Xwnmo
# SuSE setlocale patch, try to set LC_CTYPE if LC_ALL fails (Xwnmo) and
#......................................................................
-# %patch2 -p1
+# %%patch2 -p1
# Trying to make Xwnmo work...
#..................................................................
-# %patch3 -p1
+# %%patch3 -p1
%build
%configure --prefix=%{_prefix} \
@@ -270,22 +265,16 @@ for i in pubdic.5 usr_dic.5
do
mv %{buildroot}/%{_mandir}/man5/$i %{buildroot}/%{_mandir}/ja/man5/
done
-#----------------------------------------------------------------------
-# Make sure directories for of boot script installation exist:
-mkdir -p %{buildroot}%{_sysconfdir}/init.d
-mkdir -p %{buildroot}%{_fillupdir}
-mkdir -p %{buildroot}%{_sbindir}
-#----------------------------------------------------------------------
-# Install boot scripts:
-install -m 755 %{_sourcedir}/rcfwnn %{buildroot}%{_initddir}/fwnn
-install -m 755 %{_sourcedir}/rcfcwnn %{buildroot}%{_initddir}/fcwnn
-install -m 755 %{_sourcedir}/rcftwnn %{buildroot}%{_initddir}/ftwnn
-install -m 755 %{_sourcedir}/rcfkwnn %{buildroot}%{_initddir}/fkwnn
-#----------------------------------------------------------------------
-# Make symbolic links
-for i in fwnn fcwnn ftwnn fkwnn ; do
- ( cd %{buildroot}%{_sbindir}; ln -s -f ../..%{_initddir}/$i rc$i )
-done
+install -d %{buildroot}%{_unitdir}
+install -m 644 %{SOURCE5} %{buildroot}%{_unitdir}
+install -m 644 %{SOURCE6} %{buildroot}%{_unitdir}
+install -m 644 %{SOURCE7} %{buildroot}%{_unitdir}
+install -m 644 %{SOURCE8} %{buildroot}%{_unitdir}
+install -d %{buildroot}%{_sbindir}
+ln -s -f service %{buildroot}%{_sbindir}/rcfwnn
+ln -s -f service %{buildroot}%{_sbindir}/rcfcwnn
+ln -s -f service %{buildroot}%{_sbindir}/rcftwnn
+ln -s -f service %{buildroot}%{_sbindir}/rcfkwnn
ln -s -f %{_localstatedir}/lib/wnn/ja/dic %{buildroot}%{_sysconfdir}/FreeWnn/ja/dic
ln -s -f %{_localstatedir}/lib/wnn/zh_CN/dic %{buildroot}%{_sysconfdir}/FreeWnn/zh_CN/dic
ln -s -f %{_localstatedir}/lib/wnn/zh_TW/dic %{buildroot}%{_sysconfdir}/FreeWnn/zh_TW/dic
@@ -297,21 +286,24 @@ find %{buildroot} -type f -name "*.a" -delete -print
%fdupes -s %{buildroot}
%pre -n fwnn
-%{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn 2> /dev/null || :
+%service_add_pre fwnn.service
+getent passwd wnn >/dev/null || \
+ %{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false \
+ -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn
%post -n fwnn
+%service_add_post fwnn.service
# touch all public dictionary files:
chroot . usr/bin/wnntouch var/lib/wnn/ja/dic/gerodic/g-jinmei.dic
chroot . usr/bin/wnntouch var/lib/wnn/ja/dic/pubdic/*.*
-# Create symbolic runlevel links:
-%{fillup_and_insserv -y}
%preun -n fwnn
+%service_del_preun fwnn.service
%stop_on_removal fwnn
%postun -n fwnn
+%service_del_postun fwnn.service
%restart_on_update fwnn
-%insserv_cleanup
%post -n libjd0 -p /sbin/ldconfig
%postun -n libjd0 -p /sbin/ldconfig
@@ -319,69 +311,85 @@ chroot . usr/bin/wnntouch var/lib/wnn/ja/dic/pubdic/*.*
%postun -n libwnn0 -p /sbin/ldconfig
%pre -n fwnncom
-%{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn 2> /dev/null || :
+getent passwd wnn >/dev/null || \
+ %{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false \
+ -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn
%pre -n fcwnncom
-%{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn 2> /dev/null || :
+getent passwd wnn >/dev/null || \
+ %{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false \
+ -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn
%pre -n fcwnn
-%{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn 2> /dev/null || :
+%service_add_pre fcwnn.service
+getent passwd wnn >/dev/null || \
+ %{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false \
+ -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn
%preun -n fcwnn
+%service_del_preun fcwnn.service
%stop_on_removal fcwnn
%post -n fcwnn
+%service_add_post fcwnn.service
# touch all public dictionary files:
chroot . usr/bin/cwnntouch var/lib/wnn/zh_CN/dic/sys/*.*
# Create symbolic run level links:
-%fillup_and_insserv
%postun -n fcwnn
+%service_del_postun fcwnn.service
%restart_on_update fcwnn
-%insserv_cleanup
%post -n libcwnn0 -p /sbin/ldconfig
%postun -n libcwnn0 -p /sbin/ldconfig
%pre -n ftwnn
-%{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn 2> /dev/null || :
+%service_add_pre ftwnn.service
+getent passwd wnn >/dev/null || \
+ %{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false \
+ -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn
%preun -n ftwnn
+%service_del_preun ftwnn.service
%stop_on_removal ftwnn
%post -n ftwnn
+%service_add_post ftwnn.service
# touch all public dictionary files:
chroot . usr/bin/cwnntouch var/lib/wnn/zh_TW/dic/sys/*.*
# Create symbolic run level links:
-%fillup_and_insserv
%postun -n ftwnn
+%service_del_postun ftwnn.service
%restart_on_update ftwnn
-%insserv_cleanup
%pre -n fkwnn
-%{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn 2> /dev/null || :
+%service_add_pre fkwnn.service
+getent passwd wnn >/dev/null || \
+ %{_sbindir}/useradd -r -o -g root -u 66 -s /bin/false \
+ -c "Wnn System Account" -d %{_localstatedir}/lib/wnn wnn
%preun -n fkwnn
+%service_del_preun fkwnn.service
%stop_on_removal fkwnn
%post -n fkwnn
+%service_add_post fkwnn.service
# touch all public dictionary files:
chroot . usr/bin/kwnntouch var/lib/wnn/ko_KR/dic/sys/*.*
# Create symbolic run level links:
-%fillup_and_insserv
%postun -n fkwnn
+%service_del_postun fkwnn.service
%restart_on_update fkwnn
-%insserv_cleanup
%post -n libkwnn0 -p /sbin/ldconfig
%postun -n libkwnn0 -p /sbin/ldconfig
%files
%defattr(-,root,root)
-%config %{_initddir}/fwnn
%{_sbindir}/rcfwnn
+%{_unitdir}/fwnn.service
%{_bindir}/atod
%{_bindir}/dtoa
%{_bindir}/oldatonewa
@@ -464,8 +472,8 @@ chroot . usr/bin/kwnntouch var/lib/wnn/ko_KR/dic/sys/*.*
%files -n fcwnn
%defattr(-,root,root)
-%config %{_initddir}/fcwnn
%{_sbindir}/rcfcwnn
+%{_unitdir}/fcwnn.service
%{_bindir}/cserver
%config %{_sysconfdir}/FreeWnn/zh_CN/cixing.data
%config %{_sysconfdir}/FreeWnn/zh_CN/cserverrc
@@ -520,8 +528,8 @@ chroot . usr/bin/kwnntouch var/lib/wnn/ko_KR/dic/sys/*.*
%files -n ftwnn
%defattr(-,root,root)
-%config %{_initddir}/ftwnn
%{_sbindir}/rcftwnn
+%{_unitdir}/ftwnn.service
%{_bindir}/tserver
%config %{_sysconfdir}/FreeWnn/zh_TW/cixing.data
%{_sysconfdir}/FreeWnn/zh_TW/dic
@@ -551,8 +559,8 @@ chroot . usr/bin/kwnntouch var/lib/wnn/ko_KR/dic/sys/*.*
%files -n fkwnn
%defattr(-,root,root)
-%config %{_initddir}/fkwnn
%{_sbindir}/rcfkwnn
+%{_unitdir}/fkwnn.service
%{_bindir}/kserver
%{_bindir}/katod
%{_bindir}/katof
@@ -590,11 +598,11 @@ chroot . usr/bin/kwnntouch var/lib/wnn/ko_KR/dic/sys/*.*
%{_includedir}/kwnn/
%{_libdir}/libkwnn.so
# I don't know how to build xwnmo. Will try that later ...
-# %files -n xwnmo
-# %doc Xwnmo/manual Xwnmo/manual.en Xwnmo/README Xwnmo/README.j
-# %doc Xwnmo/X11R6/README Xwnmo/X11R6/include/README
-# %doc Xwnmo/xjutil/README Xwnmo/xjutil/README.j Xwnmo/xwnmo/README
-# %doc Xwnmo/xwnmo/README.j Xwnmo/xwnmo/SEP_README Xwnmo/xwnmo/SEP_README.j
+# %%files -n xwnmo
+# %%doc Xwnmo/manual Xwnmo/manual.en Xwnmo/README Xwnmo/README.j
+# %%doc Xwnmo/X11R6/README Xwnmo/X11R6/include/README
+# %%doc Xwnmo/xjutil/README Xwnmo/xjutil/README.j Xwnmo/xwnmo/README
+# %%doc Xwnmo/xwnmo/README.j Xwnmo/xwnmo/SEP_README Xwnmo/xwnmo/SEP_README.j
# /usr/X11R6/lib/X11/app-defaults/Xwnmo
# /usr/X11R6/bin/xwnmo
# /usr/X11R6/bin/killxwnmo
@@ -644,9 +652,9 @@ chroot . usr/bin/kwnntouch var/lib/wnn/ko_KR/dic/sys/*.*
# /var/lib/wnn/ko_KR/uumkey.xim
# /var/lib/wnn/ko_KR/xim.msg
# /var/lib/wnn/ko_KR/xjutil.msg
-# %config /var/lib/wnn/ximconf
-# %config /var/lib/wnn/ximrc
-# %config /var/lib/wnn/ximrc_vi
-# %config /var/lib/wnn/cvt_xim_tbl
+# %%config /var/lib/wnn/ximconf
+# %%config /var/lib/wnn/ximrc
+# %%config /var/lib/wnn/ximrc_vi
+# %%config /var/lib/wnn/cvt_xim_tbl
%changelog
diff --git a/rcfcwnn b/rcfcwnn
deleted file mode 100644
index be80e0d..0000000
--- a/rcfcwnn
+++ /dev/null
@@ -1,91 +0,0 @@
-#! /bin/sh
-# Copyright (c) 1996, 2000 S.u.S.E. GmbH Fuerth, Germany. All rights reserved.
-#
-# Author: Mike Fabian , 2000
-#
-# /etc/init.d/fcwnn
-#
-### BEGIN INIT INFO
-# Provides: fcwnn
-# Required-Start: $network $remote_fs $named
-# Required-Stop: $network $remote_fs $named
-# Default-Start: 3 5
-# Default-Stop:
-# Short-Description: Free Wnn (mainland) Chinese Server
-# Description: Free Wnn (mainland) Chinese Server, for input of simplified Chinese
-### END INIT INFO
-
-. /etc/rc.status
-
-FREE_CWNN_BIN=/usr/bin/cserver
-test -x $FREE_CWNN_BIN || exit 5
-
-# First reset status of this service
-rc_reset
-
-if [ ! -f /etc/FreeWnn/zh_CN/cserverrc ] ; then
- echo "can't find /etc/FreeWnn/zh_CN/cserverrc"
- # program is not configured
- exit 6
-fi
-
-case "$1" in
- start)
- echo -n "Starting Free Wnn (mainland) Chinese Server"
- if test -e /tmp/cd_sockV4 ; then
- rm /tmp/cd_sockV4
- fi
- # redirect message
- # "startproc: startproc: signal catched /usr/bin/cserver: Terminated
- # to /dev/null
- startproc -u wnn -q -t 1 $FREE_CWNN_BIN > /dev/null 2>&1
- rc_status -v
- ;;
- stop)
- echo "Shutting down Free Wnn (mainland) Chinese Server"
- # don't use 'cwnnkill', because this doesn't kill cserver
- # if there are still clients.
- killproc -TERM $FREE_CWNN_BIN
- rc_status -v
- if test -e /tmp/cd_sockV4 ; then
- rm /tmp/cd_sockV4
- fi
- ;;
- try-restart)
- $0 status >/dev/null && $0 restart
- rc_status
- ;;
- restart)
- $0 stop
- $0 start
- rc_status
- ;;
- force-reload)
- $0 stop && $0 start
- rc_status
- ;;
- reload)
- rc_failed 3
- rc_status -v
- ;;
- status)
- echo -n "Checking for Free Wnn (mainland) Chinese Server: "
- checkproc $FREE_CWNN_BIN
- rc_status -v
- ;;
- full-status)
- $0 status
- rc_status
- if test -x /usr/bin/cwnnstat ; then
- /usr/bin/cwnnstat
- else
- echo "Full status not available, can't start \`/usr/bin/cwnnstat'"
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status|full-status}"
- exit 1
- ;;
-esac
-
-rc_exit
diff --git a/rcfkwnn b/rcfkwnn
deleted file mode 100644
index 4dac043..0000000
--- a/rcfkwnn
+++ /dev/null
@@ -1,91 +0,0 @@
-#! /bin/sh
-# Copyright (c) 1996, 2000 S.u.S.E. GmbH Fuerth, Germany. All rights reserved.
-#
-# Author: Mike Fabian , 2000
-#
-# /etc/init.d/fkwnn
-#
-### BEGIN INIT INFO
-# Provides: fkwnn
-# Required-Start: $network $remote_fs $named
-# Required-Stop: $network $remote_fs $named
-# Default-Start: 3 5
-# Default-Stop:
-# Short-Description: Free Wnn Korean Server
-# Description: Free Wnn Korean Server, for input of Korean
-### END INIT INFO
-
-. /etc/rc.status
-
-FREE_KWNN_BIN=/usr/bin/kserver
-test -x $FREE_KWNN_BIN || exit 5
-
-# First reset status of this service
-rc_reset
-
-if [ ! -f /etc/FreeWnn/ko_KR/kserverrc ] ; then
- echo "can't find /etc/FreeWnn/ko_KR/kserverrc"
- # program is not configured
- exit 6
-fi
-
-case "$1" in
- start)
- echo -n "Starting Free Wnn Korean Server"
- if test -e /tmp/kd_sockV4 ; then
- rm /tmp/kd_sockV4
- fi
- # redirect message
- # "startproc: startproc: signal catched /usr/bin/kserver: Terminated
- # to /dev/null
- startproc -u wnn -q -t 1 $FREE_KWNN_BIN > /dev/null 2>&1
- rc_status -v
- ;;
- stop)
- echo "Shutting down Free Wnn Korean Server"
- # don't use 'kwnnkill', because this doesn't kill kserver
- # if there are still clients.
- killproc -TERM $FREE_KWNN_BIN
- rc_status -v
- if test -e /tmp/kd_sockV4 ; then
- rm /tmp/kd_sockV4
- fi
- ;;
- try-restart)
- $0 status >/dev/null && $0 restart
- rc_status
- ;;
- restart)
- $0 stop
- $0 start
- rc_status
- ;;
- force-reload)
- $0 stop && $0 start
- rc_status
- ;;
- reload)
- rc_failed 3
- rc_status -v
- ;;
- status)
- echo -n "Checking for Free Wnn Korean Server: "
- checkproc $FREE_KWNN_BIN
- rc_status -v
- ;;
- full-status)
- $0 status
- rc_status
- if test -x /usr/bin/kwnnstat ; then
- /usr/bin/kwnnstat
- else
- echo "Full status not available, can't start \`/usr/bin/kwnnstat'"
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status|full-status}"
- exit 1
- ;;
-esac
-
-rc_exit
diff --git a/rcftwnn b/rcftwnn
deleted file mode 100644
index df2f42e..0000000
--- a/rcftwnn
+++ /dev/null
@@ -1,91 +0,0 @@
-#! /bin/sh
-# Copyright (c) 1996, 2000 S.u.S.E. GmbH Fuerth, Germany. All rights reserved.
-#
-# Author: Mike Fabian , 2000
-#
-# /etc/init.d/ftwnn
-#
-### BEGIN INIT INFO
-# Provides: ftwnn
-# Required-Start: $network $remote_fs $named
-# Required-Stop: $network $remote_fs $named
-# Default-Start: 3 5
-# Default-Stop:
-# Short-Description: Free Wnn Taiwan-Chinese Server
-# Description: Free Wnn Taiwan-Chinese Server, for input of traditional Chinese
-### END INIT INFO
-
-. /etc/rc.status
-
-FREE_TWNN_BIN=/usr/bin/tserver
-test -x $FREE_TWNN_BIN || exit 5
-
-# First reset status of this service
-rc_reset
-
-if [ ! -f /etc/FreeWnn/zh_TW/tserverrc ] ; then
- echo "can't find /etc/FreeWnn/zh_TW/tserverrc"
- # program is not configured
- exit 6
-fi
-
-case "$1" in
- start)
- echo -n "Starting Free Wnn Taiwan-Chinese Server"
- if test -e /tmp/td_sockV4 ; then
- rm /tmp/td_sockV4
- fi
- # redirect message
- # "startproc: startproc: signal catched /usr/bin/tserver: Terminated
- # to /dev/null
- startproc -u wnn -q -t 1 $FREE_TWNN_BIN > /dev/null 2>&1
- rc_status -v
- ;;
- stop)
- echo "Shutting down Free Wnn Taiwan-Chinese Server"
- # don't use 'cwnnkill', because this doesn't kill tserver
- # if there are still clients.
- killproc -TERM $FREE_TWNN_BIN
- rc_status -v
- if test -e /tmp/td_sockV4 ; then
- rm /tmp/td_sockV4
- fi
- ;;
- try-restart)
- $0 status >/dev/null && $0 restart
- rc_status
- ;;
- restart)
- $0 stop
- $0 start
- rc_status
- ;;
- force-reload)
- $0 stop && $0 start
- rc_status
- ;;
- reload)
- rc_failed 3
- rc_status -v
- ;;
- status)
- echo -n "Checking for Free Wnn Taiwan-Chinese Server"
- checkproc $FREE_TWNN_BIN
- rc_status -v
- ;;
- full-status)
- $0 status
- rc_status
- if test -x /usr/bin/cwnnstat ; then
- /usr/bin/cwnnstat
- else
- echo "Full status not available, can't start \`/usr/bin/cwnnstat'"
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status|full-status}"
- exit 1
- ;;
-esac
-
-rc_exit
diff --git a/rcfwnn b/rcfwnn
deleted file mode 100644
index f15b220..0000000
--- a/rcfwnn
+++ /dev/null
@@ -1,91 +0,0 @@
-#! /bin/sh
-# Copyright (c) 1996, 2000 S.u.S.E. GmbH Fuerth, Germany. All rights reserved.
-#
-# Author: Mike Fabian , 2000
-#
-# /etc/init.d/fwnn
-#
-### BEGIN INIT INFO
-# Provides: fwnn
-# Required-Start: $network $remote_fs $named
-# Required-Stop: $network $remote_fs $named
-# Default-Start: 3 5
-# Default-Stop:
-# Short-Description: Free Wnn Kanji Server
-# Description: Free Wnn Kanji Server used for input of Japanese
-### END INIT INFO
-
-. /etc/rc.status
-
-FREE_WNN_BIN=/usr/bin/jserver
-test -x $FREE_WNN_BIN || exit 5
-
-# First reset status of this service
-rc_reset
-
-if [ ! -f /etc/FreeWnn/ja/jserverrc ] ; then
- echo "can't find /etc/FreeWnn/ja/jserverrc"
- # program is not configured
- exit 6
-fi
-
-case "$1" in
- start)
- echo -n "Starting Free Wnn Kanji Server"
- if test -e /tmp/jd_sockV4 ; then
- rm /tmp/jd_sockV4
- fi
- # redirect message
- # "startproc: startproc: signal catched /usr/bin/jserver: Terminated
- # to /dev/null
- startproc -u wnn -q -t 1 $FREE_WNN_BIN > /dev/null 2>&1
- rc_status -v
- ;;
- stop)
- echo "Shutting down Free Wnn Kanji Server"
- # don't use 'wnnkill', because this doesn't kill jserver
- # if there are still clients.
- killproc -TERM $FREE_WNN_BIN
- rc_status -v
- if test -e /tmp/jd_sockV4 ; then
- rm /tmp/jd_sockV4
- fi
- ;;
- try-restart)
- $0 status >/dev/null && $0 restart
- rc_status
- ;;
- restart)
- $0 stop
- $0 start
- rc_status
- ;;
- force-reload)
- $0 stop && $0 start
- rc_status
- ;;
- reload)
- rc_failed 3
- rc_status -v
- ;;
- status)
- echo -n "Checking for Free Wnn Kanji Server: "
- checkproc $FREE_WNN_BIN
- rc_status -v
- ;;
- full-status)
- $0 status
- rc_status
- if test -x /usr/bin/wnnstat ; then
- /usr/bin/wnnstat
- else
- echo "Full status not available, can't start \`/usr/bin/wnnstat'"
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|try-restart|restart|force-reload|reload|status|full-status}"
- exit 1
- ;;
-esac
-
-rc_exit