Accepting request 1264973 from home:MargueriteSu:branches:M17N

- Update to ddskk 17.1_Neppu
  * too long see ChangeLog
- Update to skkdic 20250328
  * auto-updated by python script, have no idea what was changed

OBS-URL: https://build.opensuse.org/request/show/1264973
OBS-URL: https://build.opensuse.org/package/show/M17N/ddskk?expand=0&rev=31
This commit is contained in:
2025-03-28 08:51:18 +00:00
committed by Git OBS Bridge
parent 04ca6fb829
commit 4cfadfcbdd
9 changed files with 130 additions and 43 deletions
+8
View File
@@ -1,3 +1,11 @@
-------------------------------------------------------------------
Fri Mar 28 01:47:23 UTC 2025 - Marguerite Su <i@marguerite.su>
- Update to ddskk 17.1_Neppu
* too long see ChangeLog
- Update to skkdic 20250328
* auto-updated by python script, have no idea what was changed
-------------------------------------------------------------------
Mon Feb 26 08:01:42 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
+12 -14
View File
@@ -1,7 +1,7 @@
#
# spec file for package ddskk
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,21 +19,21 @@
# Current version does not build with current xemacs, disable for now
%define use_xemacs 0
Name: ddskk
Version: 20160304
Version: 20250328
Release: 0
Summary: SKK (Simple Kana to Kanji Conversion Program) for Emacs
License: GPL-2.0-or-later AND SUSE-Permissive AND SUSE-Public-Domain
Group: Productivity/Editors/Emacs
URL: http://openlab.ring.gr.jp/skk/ddskk.html
Source0: https://github.com/skk-dev/ddskk/archive/%{name}-16.2_Warabitai.tar.gz
Source0: https://github.com/skk-dev/ddskk/archive/%{name}-17.1_Neppu.tar.gz
Source1: suse-start.el
Source97: download-dic.sh
Source97: update_skkdic.py
Source98: README.SUSE
Source99: ddskk-rpmlintrc
# see README.SUSE for how to generate this file.
# NOTE: some dictionary files are not licenced under GPL-2.0+
# see commiters.txt
Source100: skkdic-20200228.tar.xz
Source100: skkdic-20250328.tar.xz
Patch2: bugzilla-141756-workaround.patch
# PATCH-FIX-OPENSUSE or UPSTREAM -- drop build date to make build reproducible
Patch3: ddskk-drop-build-date.patch
@@ -80,8 +80,8 @@ aggressively developed.
Summary: Main Dictionary for SKK
Group: System/I18n/Japanese
URL: http://openlab.ring.gr.jp/skk/dic.html
Requires(post): info
Requires(preun): info
Requires(post): info
Requires(preun): info
Provides: locale(scim-skk:ja)
%description -n skkdic
@@ -96,9 +96,9 @@ URL: http://openlab.ring.gr.jp/skk/dic.html
optional, additional dictionaries for SKK
%prep
%autosetup -p1 -n ddskk-ddskk-16.2_Warabitai
tar --strip-components=1 --xz -xf %{S:100} -C dic
%autosetup -p1 -n ddskk-ddskk-17.1_Neppu
mkdir -p dic
tar --strip-components=2 --xz -xf %{S:100} -C dic
cp dic/zipcode/SKK-JISYO.* dic/
%build
@@ -182,8 +182,6 @@ fi
%{emacs_package_dir}
%config %{emacs_sitelisp_dir}/suse-start-%{name}.el
%{_infodir}/*
%exclude %{_datadir}/doc/packages/ddskk/READMEs/README.MacOSX.ja
%exclude %{_datadir}/doc/packages/ddskk/READMEs/README.w32.ja.org
%if %{use_xemacs}
%files -n ddskk-xemacs
@@ -199,7 +197,7 @@ fi
%files -n skkdic
%defattr(-,root,root)
%doc dic/ChangeLog*
%license dic/committers.txt
%license dic/READMEs/committers.txt
%dir %{_datadir}/skk/
%{_datadir}/skk/SKK-JISYO.L
%{_datadir}/skk/skk.xpm
@@ -221,7 +219,7 @@ fi
%{_datadir}/skk/SKK-JISYO.JIS2004
%{_datadir}/skk/SKK-JISYO.assoc
%{_datadir}/skk/SKK-JISYO.china_taiwan
%{_datadir}/skk/SKK-JISYO.edict
#%{_datadir}/skk/SKK-JISYO.edict
%{_datadir}/skk/SKK-JISYO.fullname
%{_datadir}/skk/SKK-JISYO.geo
%{_datadir}/skk/SKK-JISYO.itaiji
+1 -2
View File
@@ -1,4 +1,3 @@
# skk-dic
# visit the link and see the last modification time
./download-dic.sh 20180307
python3 update_skkdic.py
-3
View File
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:35fd0b9d495a0db4d4eda0d0b02542e473d85264dcfaaf481b0e9e69818c4870
size 886862
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:839be1b26021f3a6e30db7fdc6eedfd1af03dee22ade56d028fde77433a807a3
size 952635
-21
View File
@@ -1,21 +0,0 @@
#!/bin/sh
if [ -z $1 ]; then
echo Usage: download-dic.sh YYYYMMDD
exit 1;
fi
dest=skkdic-$1
rm -r $dest
# wget -c -r -np -k -L -p http://openlab.ring.gr.jp/skk/skk/dic/
mkdir -p $dest
find openlab.ring.gr.jp/skk/skk/dic -name "SKK-JISYO.*" -exec cp {} $dest \;
# remove dictionaries that cannot be packaged
rm -f $dest/dic/SKK-JISYO.edict
mkdir -p $dest/READMEs
cp openlab.ring.gr.jp/skk/skk/dic/READMEs/committers.txt $dest/READMEs
cp openlab.ring.gr.jp/skk/skk/dic/ChangeLog* $dest
tar cvJf skkdic-$1.tar.xz $dest
-3
View File
@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aee573ff106b8faf2500d7c05e0b6a626a418ec6c29bc29a173be91b40390902
size 6272516
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:56277bdd9e11ab3ac637a82fa4ce6e25d763d1f44c63c4aed7b7abd56150f4b6
size 5835848
+103
View File
@@ -0,0 +1,103 @@
#!/usr/bin/env python3
import requests
from html.parser import HTMLParser
from urllib.parse import urljoin, urlparse
import os
from datetime import datetime
import re
import tarfile
class Parser(HTMLParser):
def __init__(self):
super().__init__()
self.files = []
self.directories = {}
self.content = {}
self.idx = 0
self.last_time = datetime.strptime('1970-01-01', '%Y-%m-%d')
def handle_starttag(self, tag, attrs):
for attr, value in attrs:
if attr != 'href':
continue
if value.endswith("/"):
self.directories[self.idx] = value
continue
elif value.startswith("SKK-JISYO") or value.startswith("ChangeLog") or value == "committers.txt":
if value != "SKK-JISYO.edict":
self.files.append(value)
def handle_data(self, data):
patt = re.compile(r'\d+-[A-Za-z]+-\d+')
match = patt.search(data)
if match:
mtime = datetime.strptime(match.group(), "%d-%b-%Y")
if mtime > self.last_time:
self.last_time = mtime
else:
self.content[self.idx] = data
self.idx += 1
def clean_parent(self):
j = 0
for i, v in self.directories.items():
if self.content[i] == 'Parent Directory':
j = i
break
del self.directories[j]
SKKDIC_DIR="./skkdic"
SERVER_PATH="http://openlab.ring.gr.jp/skk/skk/dic/"
def fetch_url(url, files):
response = requests.get(url)
if response.status_code == 200:
parser = Parser()
parser.feed(str(response.content))
parser.clean_parent()
last_time = parser.last_time
for file in parser.files:
files.append(urljoin(url, file))
if len(parser.directories) > 0:
for directory in parser.directories.values():
mtime = fetch_url(urljoin(url, directory), files)
if mtime > last_time:
last_time = mtime
return last_time
def download_files(files, last_time):
for file in files:
relpath = file.replace(SERVER_PATH, "")
response = requests.get(file)
if response.status_code == 200:
dest = os.path.join(SKKDIC_DIR + "-" + last_time, relpath)
parent = os.path.dirname(dest)
if not os.path.exists(parent):
os.makedirs(parent)
with open(dest, 'wb') as f:
f.write(response.content)
def remove_dir(directory):
for f in os.listdir(directory):
f = os.path.join(directory, f)
if os.path.isfile(f):
os.remove(f)
elif os.path.isdir(f):
remove_dir(f)
os.removedirs(directory)
def main():
files = []
last_time = datetime.strftime(fetch_url(SERVER_PATH, files), "%Y%m%d")
download_files(files, last_time)
dest = SKKDIC_DIR + "-" + last_time
with tarfile.open(dest + ".tar.xz", 'w:xz') as archive:
for f in os.listdir(dest):
archive.add(os.path.join(dest, f))
remove_dir(dest)
main()