diff --git a/.gitignore b/.gitignore index acd2905..48f9b12 100644 --- a/.gitignore +++ b/.gitignore @@ -1,108 +1 @@ -jd-2.7.0-svn3593_trunk.tgz -jd-2.7.0-svn3600_trunk.tgz -jd-2.7.0-beta100808.tgz -jd-2.7.0-svn3613_trunk.tgz -/jd-2.7.0-rc100818.tgz -/jd-2.7.0-100823.tgz -/jd-2.7.5-svn3645_trunk.tgz -/jd-2.7.5-svn3663_trunk.tgz -/jd-2.7.5-svn3665_trunk.tgz -/jd-2.7.5-svn3669_trunk.tgz -/jd-2.7.5-svn3673_trunk.tgz -/jd-2.7.5-svn3680_trunk.tgz -/jd-2.7.5-svn3686_trunk.tgz -/jd-2.7.5-svn3688_trunk.tgz -/jd-2.7.5-svn3692_trunk.tgz -/jd-2.7.5-svn3700_trunk.tgz -/jd-2.7.5-svn3717_trunk.tgz -/jd-2.7.5-svn3722_trunk.tgz -/jd-2.7.5-svn3731_trunk.tgz -/jd-2.7.5-svn3739_trunk.tgz -/jd-2.7.5-svn3741_trunk.tgz -/jd-2.7.5-svn3749_trunk.tgz -/jd-2.7.5-svn3754_trunk.tgz -/jd-2.7.5-svn3757_trunk.tgz -/jd-2.7.5-beta101213.tgz -/jd-2.7.5-svn3779_trunk.tgz -/jd-2.7.5-svn3783_trunk.tgz -/jd-2.7.5-101228.tgz -/jd-2.8.0-svn3800_trunk.tgz -/jd-2.8.0-svn3806_trunk.tgz -/jd-2.8.0-svn3810_trunk.tgz -/jd-2.8.0-beta110118.tgz -/jd-2.8.0-rc110129.tgz -/jd-2.8.0-110203.tgz -/jd-2.8.1-svn3838_trunk.tgz -/jd-2.8.1-svn3840_trunk.tgz -/jd-2.8.1-svn3841_trunk.tgz -/jd-2.8.1-svn3842_trunk.tgz -/jd-2.8.1-beta110214.tgz -/jd-2.8.1-svn3852_trunk.tgz -/jd-2.8.1-svn3856_trunk.tgz -/jd-2.8.1-svn3859_trunk.tgz -/jd-2.8.1-svn3864_trunk.tgz -/jd-2.8.1-110312.tgz -/jd-2.8.2-svn3876_trunk.tgz -/jd-2.8.2-svn3882_trunk.tgz -/jd-2.8.2-svn3885_trunk.tgz -/jd-2.8.2-svn3887_trunk.tgz -/jd-2.8.2-svn3895_trunk.tgz -/jd-2.8.2-svn3898_trunk.tgz -/jd-2.8.2-svn3901_trunk.tgz -/jd-2.8.2-svn3903_trunk.tgz -/jd-2.8.2-svn3905_trunk.tgz -/jd-2.8.2-svn3907_trunk.tgz -/jd-2.8.2-svn3909_trunk.tgz -/jd-2.8.2-svn3914_trunk.tgz -/jd-2.8.2-svn3916_trunk.tgz -/jd-2.8.2-svn3920_trunk.tgz -/jd-2.8.2-svn3924_trunk.tgz -/jd-2.8.2-svn3925_trunk.tgz -/jd-2.8.2-beta110724.tgz -/jd-2.8.2-rc11083.tgz -/jd-2.8.2-110808.tgz -/jd-2.8.5-svn3963_trunk.tgz -/jd-2.8.5-svn3973_trunk.tgz -/jd-2.8.5-svn3974_trunk.tgz -/jd-2.8.5-svn3982_trunk.tgz -/jd-2.8.5-svn3993_trunk.tgz -/jd-2.8.5-beta120206.tgz -/jd-2.8.5-svn4017_trunk.tgz -/jd-2.8.5-svn4020_trunk.tgz -/jd-2.8.5-rc120811.tgz -/jd-2.8.5-120826.tgz -/jd-2.8.6-svn4051_trunk.tgz -/jd-2.8.6-svn4054_trunk.tgz -/jd-2.8.6-svn4072_trunk.tgz -/jd-2.8.6-svn4076_trunk.tgz -/jd-2.8.6-svn4077_trunk.tgz -/jd-2.8.6-svn4079_trunk.tgz -/jd-2.8.6-svn4081_trunk.tgz -/jd-2.8.6-svn4087_trunk.tgz -/jd-2.8.6-svn4089_trunk.tgz -/jd-2.8.6-svn4090_trunk.tgz -/jd-2.8.6-svn4096_trunk.tgz -/jd-2.8.6-beta130304.tgz -/jd-2.8.6-svn4105_trunk.tgz -/jd-2.8.6-svn4107_trunk.tgz -/jd-2.8.6-svn4109_trunk.tgz -/jd-2.8.6-rc130414.tgz -/jd-2.8.6-130518.tgz -/jd-2.8.7-svn4128_trunk.tgz -/jd-2.8.7-svn4132_trunk.tgz -/jd-2.8.7-rc131230.tgz -/jd-2.8.7-140104.tgz -/jd-2.8.8-svn4151_trunk.tgz -/jd-2.8.8-svn4152_trunk.tgz -/jd-2.8.8-beta140329.tgz -/jd-2.8.8-svn4166_trunk.tgz -/jd-2.8.8-svn4171_trunk.tgz -/jd-2.8.8-rc140429.tgz -/jd-2.8.8-140601.tgz -/jd-2.8.9-svn4193_trunk.tgz -/jd-2.8.9-rc150201.tgz -/jd-2.8.9-svn4207_trunk.tgz -/jd-2.8.9-150226.tgz -/JD-20180217T2310.tar.gz -/JD-20180502T1630.tar.gz -/JDim-20200131T1441.tar.gz +/JDim-*.tar.gz diff --git a/0007-MISC-remove_space-handle-the-case-str-consists-of-ju.patch b/0007-MISC-remove_space-handle-the-case-str-consists-of-ju.patch deleted file mode 100644 index 27a5fe6..0000000 --- a/0007-MISC-remove_space-handle-the-case-str-consists-of-ju.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 01cff84b8ea1221c3bd0a2f3017b75fc79ba823a Mon Sep 17 00:00:00 2001 -From: Mamoru TASAKA -Date: Fri, 31 Jan 2020 20:51:09 +0900 -Subject: [PATCH 07/11] MISC::remove_space: handle the case str consists of - just spaces (#176) - -In the funcion MISC::remove_space , when the input str consists of just spaces, -the current implementation causes invalid access against str because -the variable i2 can be (size_t)-1. -When compiled with -Wp,-D_GLIBCXX_ASSERTIONS, this actually causes abort like: - -/usr/include/c++/9/bits/basic_string.h:1048: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_reference std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator[](std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type) const [with _CharT = char; _Traits = std::char_traits; _Alloc = std::allocator; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_reference = const char&; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::size_type = long unsigned int]: Assertion '__pos <= size()' failed. - -Note that for this case, i finally becomes lng (== str.length()), and -str.substr(pos, len) returns empty string when pos == str.length(), so -this patch should behave as the previous behavior. ---- - src/jdlib/miscutil.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/jdlib/miscutil.cpp b/src/jdlib/miscutil.cpp -index a7d3dd34..ccd71e45 100644 ---- a/src/jdlib/miscutil.cpp -+++ b/src/jdlib/miscutil.cpp -@@ -304,7 +304,7 @@ std::string MISC::remove_space( const std::string& str ) - - // 前 - size_t i = 0; -- while( 1 ){ -+ while( i < lng ){ - - // 半角 - if( str[ i ] == ' ' ) ++i; -@@ -315,6 +315,7 @@ std::string MISC::remove_space( const std::string& str ) - str[ i +2 ] == str_space[ 2 ] ) i += lng_space; - else break; - } -+ if (i >= lng) return ""; - - // 後 - size_t i2 = lng -1; --- -2.24.1 - diff --git a/create-JD-git-bare-tarball.sh b/create-JD-git-bare-tarball.sh index cc2e9c5..17b610d 100644 --- a/create-JD-git-bare-tarball.sh +++ b/create-JD-git-bare-tarball.sh @@ -16,6 +16,16 @@ TMPDIR=$(mktemp -d /var/tmp/${REPONAME}-XXXXXX) pushd $TMPDIR git clone --mirror $GITURL + +mkdir TMP +pushd TMP +git clone ../${REPONAME}.git +cd ${REPONAME} +git log 2>&1 | head -n 5 +#grep version README.md +echo +popd + tar czf ${TARNAME} ${REPONAME}.git/ cp -p ${TARNAME} $PWDDIR diff --git a/jd.spec b/jd.spec index 4747de6..ba33ca3 100644 --- a/jd.spec +++ b/jd.spec @@ -11,36 +11,43 @@ ########################################## # Defined by upsteam # -%define main_ver 0.3.0 +%define main_ver 0.15.0 #%%define strtag 20200118 +%dnl %define pre_ver beta ########################################## # -%global reponame JDim -%global gitdate 20200118 -%global gitcommit 4ce7f5f017dde79f125274048dd3d3e51501826b +%global reponame JDim +%global gitdate 20260110 +%global gitcommit 95c8d64c60e607aebb9097b9dd4b865670b1844c +%dnl %global gitcommit JDim-v%{main_ver} %global shortcommit %(c=%{gitcommit}; echo ${c:0:7}) -%global tarballdate 20200131 -%global tarballtime 1441 +%global tarballdate 20260110 +%global tarballtime 2319 ########################################## # Defined by vendor # -%define vendor_rel 1 %define extra_rel %{nil} +%define use_gitcommit_as_rel 0 # Tag name changed from vendor to vendorname so as not to # overwrite Vendor entry in Summary %define vendorname fedora -%define gtkmmdevel pkgconfig(gtkmm-3.0) %define fontpackage mona-fonts-VLGothic ########################################## ########################################## -#%global rel %{vendor_rel}.D%{gitdate}git%{shortcommit}%{?dist} -%define rel %{vendor_rel}%{?dist} +%if 0%{?use_gitcommit_as_rel} >= 1 +%global gittag %{gitdate}git%{shortcommit} +%global gitver_rpm ^%{gittag} +%global gitver_build -%{gittag} +%else +%global gittag %{nil} +%global gitver_rpm %{nil} +%global gitver_build %{nil} +%endif %define _with_migemo 1 -%define _with_onig 0 %define migemo_dict %{_datadir}/cmigemo/utf-8/migemo-dict %if ! 0%{?fedora} @@ -48,25 +55,40 @@ %endif ########################################## +########################################## +%global use_gcc_strict_sanitize 0 + +%global flagrel %{nil} +%if 0%{?use_cppcheck} >= 1 +%global flagrel %{flagrel}.cppcheck +%endif +%if 0%{?use_gcc_strict_sanitize} >= 1 +%global flagrel %{flagrel}.san +%endif + +#%%undefine _annotated_build +%if 0%{?use_gitcommit_as_rel} >= 1 +%global clamp_mtime_to_source_date_epoch 0 +%endif +########################################## + + Name: jd Epoch: 1 -Version: %{main_ver}%{?strtag:.%{strtag}} -Release: %{rel} +Version: %{main_ver}%{?strtag:.%{strtag}}%{?pre_ver:~%{pre_ver}}%{gitver_rpm} +Release: 1%{?dist}%{flagrel} Summary: A 2ch browser -License: GPLv2 +# Automatically converted from old format: GPLv2 - review is highly recommended. +License: GPL-2.0-only URL: https://github.com/JDimproved/JDim -#Source0: http://dl.sourceforge.jp/jd4linux/%{repoid}/%{name}-%{main_ver}-%{strtag}.tgz +%dnl Source0: http://dl.sourceforge.jp/jd4linux/%{repoid}/%{name}-%{main_ver}-%{strtag}.tgz Source0: JDim-%{tarballdate}T%{tarballtime}.tar.gz Source1: create-JD-git-bare-tarball.sh -Patch0: jdim-0.3.0-env-pkg-distro-specific.patch -# Upstream patch -Patch1007: 0007-MISC-remove_space-handle-the-case-str-consists-of-ju.patch - BuildRequires: gcc-c++ -BuildRequires: %{gtkmmdevel} +BuildRequires: pkgconfig(gtkmm-3.0) BuildRequires: libgcrypt-devel BuildRequires: libxcrypt-devel BuildRequires: pkgconfig(alsa) @@ -77,15 +99,18 @@ BuildRequires: pkgconfig(sm) %if 0%{?_with_migemo} >= 1 BuildRequires: cmigemo-devel %endif -%if 0%{?_with_onig} >= 1 -BuildRequires: oniguruma-devel -%endif -BuildRequires: libtool automake -BuildRequires: autoconf-archive +BuildRequires: meson +BuildRequires: gtest-devel BuildRequires: %{_bindir}/appstream-util BuildRequires: %{_bindir}/desktop-file-validate BuildRequires: git +BuildRequires: make + +%if 0%{?use_gcc_strict_sanitize} +BuildRequires: libasan +BuildRequires: libubsan +%endif Requires: %{fontpackage} @@ -94,7 +119,7 @@ Requires: %{fontpackage} JD is a 2ch browser based on gtkmm2. %prep -%setup -q -c -T -a 0 +%setup -q -c -T -n %{name}-%{main_ver}%{?strtag:.%{strtag}}%{gitver_build} -a 0 git clone ./%{reponame}.git cd JDim @@ -102,23 +127,24 @@ cd JDim git config user.name "%{name} Fedora maintainer" git config user.email "%{name}-owner@fedoraproject.org" -#git checkout -b %{version}-fedora %{gitcommit} -git checkout -b %{version}-fedora-local %{reponame}-v%{main_ver} +%if 0%{?use_gitcommit_as_rel} >= 1 +git checkout -b %{main_ver}-fedora-local %{gitcommit} +%else +git checkout -b %{main_ver}-fedora-local %{gitcommit} +#git checkout -b %{main_ver}-fedora-local %{reponame}-v%{main_ver} +%endif cp -a [A-Z]* .. -# Fedora specific -if ( uname -n | grep -q 'fedoraproject\.org' ) ; then -%patch0 -p2 -b .env_fedora -git commit -m "apply Fedora specific config" -a -fi -cat %PATCH1007 | git am - # reset to base, as git information is embedded in the source -git checkout -b %{version}-fedora -git reset %{reponame}-v%{main_ver} - -autoreconf -i +git checkout -b %{main_ver}-fedora +#git reset %{reponame}-v%{main_ver} +%if 0%{?use_gitcommit_as_rel} >= 1 +git reset %{gitcommit} +%else +git reset %{gitcommit} +#git reset %{reponame}-v%{main_ver} +%endif %build cd %{reponame} @@ -126,26 +152,37 @@ cd %{reponame} # set TZ for __TIME__ export TZ='Asia/Tokyo' -%configure \ - --with-alsa \ -%if 0%{?_with_onig} >= 1 - --with-regex=oniguruma \ +%set_build_flags +# workaround for calling crypt_r / linking -lcrypt issue with asan +# https://bugzilla.redhat.com/show_bug.cgi?id=1827338 +# https://github.com/google/sanitizers/issues/1365 +export LDFLAGS="$LDFLAGS -Wl,--push-state,--no-as-needed -lcrypt -Wl,--pop-state" + +%if 0%{?use_gcc_strict_sanitize} +export CC="${CC} -fsanitize=address -fsanitize=undefined" +export CXX="${CXX} -fsanitize=address -fsanitize=undefined" +export LDFLAGS="${LDFLAGS} -pthread" %endif - --with-xdgopen \ + +%meson \ + -Dalsa=enabled \ + -Dbuild_tests=enabled \ + -Dcompat_cache_dir=enabled \ %if 0%{?_with_migemo} >= 1 - --with-migemo \ - --with-migemodict=%{migemo_dict} \ + -Dmigemo=enabled \ + -Dmigemodict=%{migemo_dict} \ %endif - --with-gtkmm3 \ - %{nil} - -%{__make} %{?_smp_mflags} -k + -Dpackager="jd-%{version}-%{release}.%{_arch}.rpm by Fedora Project" \ + -Dtls=gnutls \ + %{nil} +%meson_build \ + --ninja-args "-k 0" %install cd %{reponame} -%{__make} install DESTDIR=$RPM_BUILD_ROOT +%meson_install # Create symlink ln -sf jdim %{buildroot}%{_bindir}/%{name} @@ -155,11 +192,17 @@ ln -sf jdim.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop desktop-file-validate %{buildroot}%{_datadir}/applications/jdim.desktop appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/jdim.metainfo.xml +cd %{reponame} +%if 0%{?use_gcc_strict_sanitize} >= 1 +export ASAN_OPTIONS=detect_leaks=0 +%endif +%meson_test -v %files %defattr(-,root,root,-) %license COPYING -%doc ChangeLog README +%doc ChangeLog +%doc README.md %{_bindir}/jdim %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop @@ -168,6 +211,118 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/jdim.metainfo. %{_datadir}/icons/hicolor/*/apps/jdim.* %changelog +* Sat Jan 10 2026 Mamoru TASAKA - 1:0.15.0-1 +- 0.15.0 + +* Sun Jul 27 2025 Mamoru TASAKA - 1:0.14.0-1 +- 0.14.0 + +* Thu Jul 24 2025 Fedora Release Engineering - 1:0.13.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 1:0.13.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jan 11 2025 Mamoru TASAKA - 1:0.13.0-1 +- 0.13.0 + +* Mon Jul 29 2024 Miroslav Suchý - 1:0.12.0-3 +- convert license to SPDX + +* Thu Jul 18 2024 Fedora Release Engineering - 1:0.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Jul 07 2024 Mamoru TASAKA - 1:0.12.0-1 +- 0.12.0 + +* Tue Jun 18 2024 Mamoru TASAKA - 1:0.12.0~beta-1 +- 0.12.0-beta + +* Wed Jan 24 2024 Fedora Release Engineering - 1:0.11.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 1:0.11.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 13 2024 Mamoru TASAKA - 1:0.11.0-1 +- 0.11.0 + +* Sun Dec 24 2023 Mamoru TASAKA - 1:0.11.0~beta-1 +- 0.11.0 beta + +* Sun Jul 23 2023 Mamoru TASAKA - 1:0.10.1-1 +- 0.10.1 + +* Thu Jul 20 2023 Fedora Release Engineering - 1:0.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Jul 9 2023 Mamoru TASAKA - 1:0.10.0-1 +- 0.10.0 + +* Mon Jun 19 2023 Mamoru TASAKA - 1:0.10.0~beta-1 +- 0.10.0 beta + +* Thu Jan 19 2023 Fedora Release Engineering - 1:0.9.0-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jan 18 2023 Mamoru TASAKA - 1:0.9.0-2 +- Add missing cstdint header inclusion (gcc13) + +* Sun Jan 8 2023 Mamoru TASAKA - 1:0.9.0-1 +- JDim 0.9.0 + +* Sun Dec 18 2022 Mamoru TASAKA - 1:0.9.0-0.1.beta.D20221218git3f6cf65 +- 0.9.0 beta + +* Wed Jul 27 2022 Mamoru TASAKA - 1:0.8.0-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jul 18 2022 Mamoru TASAKA - 1:0.8.0-1 +- JDim 0.8.0 + +* Sun Feb 06 2022 Mamoru TASAKA - 1:0.7.0-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Jan 16 2022 Mamoru TASAKA - 1:0.7.0-1 +- JDim 0.7.0 + +* Sun Jul 25 2021 Mamoru TASAKA - 1:0.6.0-1.1 +- Rebuild for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Jul 11 2021 Mamoru TASAKA - 1:0.6.0-1 +- JDim 0.6.0 + +* Wed May 5 2021 Mamoru TASAKA +- 20210502git5991e9 + +* Sat Jan 30 2021 Mamoru TASAKA - 1:0.5.0-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Jan 10 2021 Mamoru TASAKA - 1:0.5.0-1 +- JDim 0.5.0 + +* Thu Dec 31 2020 Mamoru TASAKA +- 20201229git7ee2d99 + +* Sun Dec 20 2020 Mamoru TASAKA +- 20201219git8310a3b + +* Wed Nov 25 2020 Mamoru TASAKA +- 20201121git11d9b64 + +* Thu Nov 5 2020 Mamoru TASAKA +- 20201031git3535ce7 + +* Tue Oct 27 2020 Mamoru TASAKA +- 20201025gita4796c6 + +* Tue Aug 11 2020 Mamoru TASAKA - 1:0.4.0-1 +- JDim 0.4.0 + +* Wed Jul 22 2020 Tom Stellard - 1:0.3.0-1.1 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + * Mon Feb 3 2020 Mamoru TASAKA - 1:0.3.0-1 - Use JDim, introduce Epoch - 0.3.0 diff --git a/jdim-0.3.0-env-pkg-distro-specific.patch b/jdim-0.3.0-env-pkg-distro-specific.patch deleted file mode 100644 index a4148c2..0000000 --- a/jdim-0.3.0-env-pkg-distro-specific.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- jd-0.3.0/JDim/src/environment.cpp.env_fedora 2020-01-31 14:58:08.306098160 +0900 -+++ jd-0.3.0/JDim/src/environment.cpp 2020-01-31 14:59:30.123024272 +0900 -@@ -619,7 +619,7 @@ std::string ENVIRONMENT::get_jdinfo() - jd_info << - "[バージョン] " << progname << " " << version << "\n" << - "[ディストリ ] " << distribution << "\n" << -- "[パッケージ] " << "バイナリ/ソース( <配布元> )" << "\n" << -+ "[パッケージ] " << "Fedora Project配布のバイナリrpm" << "\n" << - "[ DE/WM ] " << desktop << "\n" << - "[ gtkmm  ] " << get_gtkmm_version() << "\n" << - "[ glibmm  ] " << get_glibmm_version() << "\n" << diff --git a/noautobuild b/noautobuild deleted file mode 100644 index 596c815..0000000 --- a/noautobuild +++ /dev/null @@ -1 +0,0 @@ -Check svn later diff --git a/sources b/sources index 0c6e271..9728c56 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (JDim-20200131T1441.tar.gz) = 5a7de8f28ade52686665a4e6952ba8447890de1a71da9f986235ce9d90c6c651a291e6bd8fff6f9ad88ee10899a15e5d4cb5a4d0a69d3607ff87c273ffaa6b0c +SHA512 (JDim-20260110T2319.tar.gz) = c51355599dddc8794f0c7975a8f4db15879f4a4a99771493469a42927d43f1619b8ef02a70d7e492ea61cbc93c1b00232ec09fe59f5c10c1460dde06c8d84b2c