From febde22912d7d35f9577efa35dea9f7d93bdbdb7 Mon Sep 17 00:00:00 2001 From: topazus Date: Nov 21 2023 14:56:12 +0000 Subject: update to 13.0.9 --- diff --git a/.gitignore b/.gitignore index 2ac4ed3..e2cb383 100644 --- a/.gitignore +++ b/.gitignore @@ -1,100 +1 @@ -/groonga-1.0.2.tar.gz -/groonga-1.0.3.tar.gz -/groonga-1.0.4.tar.gz -/groonga-1.0.6.tar.gz -/groonga-1.0.8.tar.gz -/groonga-1.1.0.tar.gz -/groonga-1.2.0.tar.gz -/groonga-1.2.1.tar.gz -/groonga-1.2.2.tar.gz -/groonga-1.2.3.tar.gz -/groonga-1.2.4.tar.gz -/groonga-1.2.5.tar.gz -/groonga-1.2.6.tar.gz -/groonga-1.2.7.tar.gz -/groonga-1.2.8.tar.gz -/groonga-1.2.9.tar.gz -/groonga-1.3.0.tar.gz -/groonga-2.0.0.tar.gz -/groonga-2.0.1.tar.gz -/groonga-2.0.2.tar.gz -/groonga-2.0.3.tar.gz -/groonga-2.0.4.tar.gz -/groonga-2.0.5.tar.gz -/groonga-2.0.9.tar.gz -/groonga-3.0.2.tar.gz -/groonga-3.0.3.tar.gz -/groonga-3.0.4.tar.gz -/groonga-3.0.5.tar.gz -/groonga-3.0.6.tar.gz -/groonga-3.0.7.tar.gz -/groonga-3.0.8.tar.gz -/groonga-3.0.9.tar.gz -/groonga-3.1.0.tar.gz -/groonga-3.1.1.tar.gz -/groonga-3.1.2.tar.gz -/groonga-4.0.0.tar.gz -/groonga-4.0.1.tar.gz -/groonga-4.0.2.tar.gz -/groonga-4.0.3.tar.gz -/groonga-4.0.4.tar.gz -/groonga-4.0.5.tar.gz -/groonga-4.0.6.tar.gz -/groonga-4.0.7.tar.gz -/groonga-4.0.8.tar.gz -/groonga-4.0.9.1.tar.gz -/groonga-4.1.0.tar.gz -/groonga-5.0.0.tar.gz -/groonga-5.0.1.tar.gz -/groonga-5.0.2.tar.gz -/groonga-5.0.3.tar.gz -/groonga-5.0.4.tar.gz -/groonga-5.0.5.tar.gz -/groonga-5.0.6.tar.gz -/groonga-5.0.7.tar.gz -/groonga-5.0.8.tar.gz -/groonga-5.0.9.tar.gz -/groonga-5.1.0.tar.gz -/groonga-5.1.1.tar.gz -/groonga-5.1.2.tar.gz -/groonga-6.0.0.tar.gz -/groonga-6.0.1.tar.gz -/groonga-6.0.2.tar.gz -/groonga-6.0.4.tar.gz -/groonga-6.0.5.tar.gz -/groonga-6.0.9.tar.gz -/groonga-6.1.0.tar.gz -/groonga-6.1.1.tar.gz -/groonga-6.1.3.tar.gz -/groonga-6.1.5.tar.gz -/groonga-7.0.1.tar.gz -/groonga-7.0.2.tar.gz -/groonga-7.0.3.tar.gz -/groonga-7.0.4.tar.gz -/groonga-7.0.5.tar.gz -/groonga-7.0.6.tar.gz -/groonga-7.0.8.tar.gz -/groonga-7.0.9.tar.gz -/groonga-7.1.0.tar.gz -/groonga-8.0.0.tar.gz -/groonga-8.0.1.tar.gz -/groonga-8.0.2.tar.gz -/groonga-8.0.3.tar.gz -/groonga-8.0.5.tar.gz -/groonga-8.0.6.tar.gz -/groonga-8.0.7.tar.gz -/groonga-8.0.8.tar.gz -/groonga-8.0.9.tar.gz -/groonga-8.1.1.tar.gz -/groonga-9.0.1.tar.gz -/groonga-9.0.4.tar.gz -/groonga-9.0.6.tar.gz -/groonga-9.0.7.tar.gz -/groonga-9.0.8.tar.gz -/groonga-9.0.9.tar.gz -/groonga-9.1.2.tar.gz -/groonga-10.0.1.tar.gz -/groonga-10.0.2.tar.gz -/groonga-10.0.4.tar.gz -/groonga-10.0.6.tar.gz -/groonga-10.0.8.tar.gz +/groonga-*.tar.gz diff --git a/groonga.spec b/groonga.spec index a0e7a3a..e99a67c 100644 --- a/groonga.spec +++ b/groonga.spec @@ -1,37 +1,41 @@ -%global php_extdir %(php-config --extension-dir 2>/dev/null || echo "undefined") -# Bug1799474 workaround -%define _legacy_common_support 1 - -Name: groonga -Version: 10.0.8 -Release: %autorelease -Summary: An Embeddable Fulltext Search Engine - -License: LGPLv2 -URL: https://groonga.org/ -Source0: https://packages.groonga.org/source/groonga/groonga-%{version}.tar.gz - -BuildRequires: gcc-c++ -BuildRequires: gcc -BuildRequires: mecab-devel -BuildRequires: zlib-devel -BuildRequires: lz4-devel -BuildRequires: msgpack-devel -BuildRequires: zeromq-devel -BuildRequires: libevent-devel -BuildRequires: libedit-devel -BuildRequires: pcre-devel -BuildRequires: systemd-rpm-macros -BuildRequires: libstemmer-devel -BuildRequires: openssl-devel -BuildRequires: re2c -BuildRequires: libzstd-devel -BuildRequires: rapidjson-devel -BuildRequires: make -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-plugin-suggest = %{version}-%{release} -Obsoletes: %{name}-python < 6.0.9-1 -Obsoletes: %{name}-php < 6.0.9-1 +Name: groonga +Version: 13.0.9 +Release: %autorelease +Summary: An Embeddable Fulltext Search Engine + +License: LGPL-2.1-only +URL: https://groonga.org/ +Source0: https://github.com/groonga/groonga/releases/download/v%{version}/groonga-%{version}.tar.gz + +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: ninja-build +BuildRequires: ruby +BuildRequires: mecab-devel +BuildRequires: zlib-devel +BuildRequires: lz4-devel +BuildRequires: msgpack-devel +BuildRequires: zeromq-devel +BuildRequires: libevent-devel +BuildRequires: libedit-devel +BuildRequires: systemd-rpm-macros +BuildRequires: libstemmer-devel +BuildRequires: openssl-devel +BuildRequires: libzstd-devel +BuildRequires: rapidjson-devel +BuildRequires: xxhash-devel +%ifnarch %{ix86} +BuildRequires: libarrow-devel +%endif + +BuildRequires: blosc2-devel +# required by blosc2-devel +BuildRequires: zlib-ng-devel + +Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-plugin-suggest = %{version}-%{release} + +Provides: bundled(onigmo) %description Groonga is an embeddable full-text search engine library. It can @@ -39,133 +43,135 @@ integrate with DBMS and scripting languages to enhance their search functionality. It also provides a standalone data store server based on relational data model. -%package libs -Summary: Runtime libraries for Groonga -License: LGPLv2 and (MIT or GPLv2) - -%description libs -This package contains the libraries for Groonga - -%package server-common -Summary: Common packages for the Groonga server and the Groonga HTTP server -License: LGPLv2 -Requires: %{name} = %{version}-%{release} -Requires(pre): shadow-utils - -%description server-common -This package provides common settings for server use - -%package server-gqtp -Summary: Groonga GQTP server -License: LGPLv2 -Requires: %{name}-server-common = %{version}-%{release} -Requires(pre): shadow-utils -Requires(post): systemd -Requires(preun): systemd -Obsoletes: %{name}-server < 2.0.7-0 - -%description server-gqtp -This package contains the Groonga GQTP server - -%package httpd -Summary: Groonga HTTP server -License: LGPLv2 and BSD -Requires: %{name}-server-common = %{version}-%{release} -Provides: %{name}-server-http = %{version}-%{release} -Obsoletes: %{name}-server-http <= 4.0.7-2 - -%description httpd -This package contains the Groonga HTTP server. It has many features -because it is based on nginx HTTP server. - -%package doc -Summary: Documentation for Groonga -License: LGPLv2 and BSD +%package libs +Summary: Runtime libraries for Groonga +License: LGPL-2.1-only and (MIT or GPLv2) -%description doc -Documentation for Groonga +%description libs +This package contains the libraries for Groonga. + +%package devel +Summary: Development files for Groonga +Requires: %{name}-libs = %{version}-%{release} + +%description devel +This package contains libraries and header files for Groonga. + +%package server-common +Summary: Common files for the Groonga server and the Groonga HTTP server +License: LGPL-2.1-only +Requires: %{name} = %{version}-%{release} +Requires(pre): shadow-utils + +%description server-common +This package provides common settings for server use. + +%package server-gqtp +Summary: Groonga GQTP server +License: LGPL-2.1-only +Requires: %{name}-server-common = %{version}-%{release} +Requires(pre): shadow-utils +Requires(post): systemd +Requires(preun):systemd -%package devel -Summary: Libraries and header files for Groonga -Requires: %{name}-libs = %{version}-%{release} +%description server-gqtp +This package contains the Groonga GQTP server. -%description devel -Libraries and header files for Groonga +%package server-http +Summary: Groonga HTTP server +License: LGPL-2.1-only and BSD-3-Clause +Requires: %{name}-server-common = %{version}-%{release} +Requires(pre): shadow-utils +Requires(post): systemd +Requires(preun):systemd -%package tokenizer-mecab -Summary: MeCab tokenizer for Groonga -Requires: %{name}-libs = %{version}-%{release} +%description server-http +This package contains the Groonga HTTP server. -%description tokenizer-mecab -MeCab tokenizer for Groonga +%package plugin-tokenizer-mecab +Summary: MeCab tokenizer for Groonga +Requires: %{name}-libs = %{version}-%{release} -%package plugin-suggest -Summary: Suggest plugin for Groonga -Requires: %{name}-libs = %{version}-%{release} +%description plugin-tokenizer-mecab +This package contains MeCab tokenizer for Groonga. -%description plugin-suggest -Suggest plugin for Groonga +%package plugin-suggest +Summary: Suggest plugin for Groonga +Requires: %{name}-libs = %{version}-%{release} -%package plugin-token-filters -Summary: Token filters plugin for Groonga -Requires: %{name}-libs = %{version}-%{release} +%description plugin-suggest +This package contains suggest plugin for Groonga. -%description plugin-token-filters -Token filters plugins for Groonga which provides -stop word and stemming features. +%package plugin-token-filters +Summary: Token filters plugin for Groonga +Requires: %{name}-libs = %{version}-%{release} + +%description plugin-token-filters +Token filters plugins for Groonga, which provides stop word and stemming +features. + +%package munin-plugins +Summary: Munin plugins for Groonga +Requires: %{name}-libs = %{version}-%{release} +Requires: munin-node +Requires(post): munin-node + +%description munin-plugins +This package contains munin plugins for Groonga. + +%package doc +Summary: Documentation for Groonga +License: LGPL-2.1-only and BSD-3-Clause + +%description doc +This package contains documentation for Groonga. -%package munin-plugins -Summary: Munin plugins for Groonga -Requires: %{name}-libs = %{version}-%{release} -Requires: munin-node -Requires(post): munin-node +%package examples +Summary: Examples for Groonga +License: LGPL-2.1-only +Requires: %{name} = %{version}-%{release} -%description munin-plugins -Munin plugins for Groonga +%description examples +This package contains the examples for Groonga. + +%package tools +Summary: Tools for Groonga +License: LGPL-2.1-only +Requires: %{name} = %{version}-%{release} + +%description tools +This package contains the tools for Groonga. %prep -#% define optflags -O0 -%setup -q +%autosetup -p1 + %build -%configure \ - --disable-static \ - --enable-mruby \ - --with-package-platform=fedora \ - --with-zlib --with-lz4 \ - --with-munin-plugins - -sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool -sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool -make %{?_smp_mflags} unitdir="%{_unitdir}" -# Exit %%build section explicitly not to execute unexpected configure script again -exit 0 +%cmake \ + -GNinja \ + -DCMAKE_BUILD_TYPE=Release \ + -DGRN_WITH_MRUBY=ON \ + -DGRN_FOR_RHEL=ON \ + -DGRN_WITH_BLOSC=OFF \ +%ifnarch %{ix86} + -DGRN_WITH_APACHE_ARROW=ON \ +%endif + -DGRN_WITH_MUNIN_PLUGINS=ON \ + -DGRN_WITH_DOC=ON \ + -DGRN_WITH_EXAMPLES=ON \ + -DGRN_WITH_TOOLS=ON \ + -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} + +%cmake_build %install -make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" -find %{buildroot} -type f -name "*.la" -delete -rm $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/groonga-server-http - -mv $RPM_BUILD_ROOT%{_datadir}/doc/groonga groonga-doc - -# Since F17, %%{_unitdir} is moved from /lib/systemd/system to -# /usr/lib/systemd/system. So we need to manually install the service -# file into the new place. The following should work with < F17, -# though Groonga package started using systemd native service since -# F17 and won't be submitted to earlier releases. -mkdir -p $RPM_BUILD_ROOT%{_unitdir} - -# Remove obsolete files -rm -f $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/groonga-server-http -rm -f $RPM_BUILD_ROOT%{_unitdir}/groonga-server-http.service - -mkdir -p $RPM_BUILD_ROOT/run/groonga -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/groonga/db -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/groonga -mkdir -p $RPM_BUILD_ROOT%{_libdir}/groonga/plugins/normalizers - -mv $RPM_BUILD_ROOT%{_datadir}/groonga/munin/ $RPM_BUILD_ROOT%{_datadir}/ -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/munin/plugin-conf.d/ -cat < $RPM_BUILD_ROOT%{_sysconfdir}/munin/plugin-conf.d/groonga +%cmake_install + +mkdir -p %{buildroot}%{_localstatedir}/lib/groonga/db +mkdir -p %{buildroot}%{_localstatedir}/log/groonga +mkdir -p %{buildroot}%{_libdir}/groonga/plugins/normalizers + +mkdir -p %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/ +cat < %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/groonga [groonga_*] user groonga group groonga @@ -176,41 +182,33 @@ cat < $RPM_BUILD_ROOT%{_sysconfdir}/munin/plugin-conf.d/groonga env.http_host 127.0.0.1 env.http_port 10041 env.http_database_path %{_localstatedir}/lib/groonga/db/db - env.http_pid_path /run/groonga/groonga-http.pid + env.http_pid_path %{_rundir}/groonga/groonga-http.pid env.http_query_log_path %{_localstatedir}/log/groonga/query-http.log - env.httpd_host 127.0.0.1 - env.httpd_port 10041 - env.httpd_database_path %{_localstatedir}/lib/groonga/db/db - env.httpd_pid_path /run/groonga/groonga-httpd.pid - env.httpd_query_log_path %{_localstatedir}/log/groonga/httpd/groonga-query.log - env.gqtp_host 127.0.0.1 env.gqtp_port 10043 env.gqtp_database_path %{_localstatedir}/lib/groonga/db/db - env.gqtp_pid_path /run/groonga/groonga-gqtp.pid + env.gqtp_pid_path %{_rundir}/groonga/groonga-gqtp.pid env.gqtp_query_log_path %{_localstatedir}/log/groonga/query-gqtp.log EOC -%ldconfig_scriptlets libs - %post munin-plugins %{_sbindir}/munin-node-configure --shell --remove-also | grep -e 'groonga_' | sh -[ -f %{_localstatedir}/lock/subsys/munin-node ] && \ - systemctl restart munin-node > /dev/null 2>&1 -: +%systemd_postun munin-node %pre server-common getent group groonga >/dev/null || groupadd -r groonga getent passwd groonga >/dev/null || \ useradd -r -g groonga -d %{_localstatedir}/lib/groonga -s /sbin/nologin \ - -c 'groonga' groonga + -c 'groonga' groonga if [ $1 = 1 ] ; then - mkdir -p %{_localstatedir}/lib/groonga/db - groonga -n %{_localstatedir}/lib/groonga/db/db shutdown > /dev/null - chown -R groonga:groonga %{_localstatedir}/lib/groonga - mkdir -p /run/groonga - chown -R groonga:groonga /run/groonga + mkdir -p %{_localstatedir}/log/groonga + mkdir -p %{_localstatedir}/lib/groonga/db + groonga -n %{_localstatedir}/lib/groonga/db/db shutdown > /dev/null + chown -R groonga:groonga %{_localstatedir}/log/groonga + chown -R groonga:groonga %{_localstatedir}/lib/groonga + mkdir -p %{_localstatedir}/run/groonga + chown -R groonga:groonga %{_localstatedir}/run/groonga fi exit 0 @@ -223,31 +221,33 @@ exit 0 %postun server-gqtp %systemd_postun groonga-server-gqtp.service -%post httpd -%systemd_post groonga-httpd.service +%post server-http +%systemd_post groonga-server-http.service -%preun httpd -%systemd_preun groonga-httpd.service +%preun server-http +%systemd_preun groonga-server-http.service -%postun httpd -%systemd_postun groonga-httpd.service +%postun server-http +%systemd_postun groonga-server-http.service %postun munin-plugins if [ $1 -eq 0 ]; then - [ -f %{_localstatedir}/lock/subsys/munin-node ] && \ - systemctl restart munin-node >/dev/null 2>&1 - : + [ -f %{_localstatedir}/lock/subsys/munin-node ] && \ + systemctl restart munin-node >/dev/null 2>&1 + : fi %files +%license COPYING +%doc README.md %{_bindir}/groonga -%{_bindir}/groonga-benchmark %{_bindir}/grndb %files libs %license COPYING %doc README.md +%config(noreplace) %{_sysconfdir}/groonga/synonyms.tsv %{_libdir}/*.so.* %dir %{_libdir}/groonga %dir %{_libdir}/groonga/plugins @@ -257,31 +257,19 @@ fi %dir %{_libdir}/groonga/plugins/tokenizers %dir %{_libdir}/groonga/plugins/ruby %dir %{_libdir}/groonga/plugins/sharding -%dir %{_libdir}/groonga/scripts/ruby -%dir %{_libdir}/groonga/scripts/ruby/command_line -%dir %{_libdir}/groonga/scripts/ruby/context -%dir %{_libdir}/groonga/scripts/ruby/expression_rewriters -%dir %{_libdir}/groonga/scripts/ruby/expression_tree -%dir %{_libdir}/groonga/scripts/ruby/groonga-log -%dir %{_libdir}/groonga/scripts/ruby/initialize -%dir %{_libdir}/groonga/scripts/ruby/logger -%dir %{_libdir}/groonga/scripts/ruby/query_logger %{_libdir}/groonga/plugins/functions/*.so %{_libdir}/groonga/plugins/query_expanders/tsv.so -%{_libdir}/groonga/plugins/ruby/*.rb -%{_libdir}/groonga/plugins/*.rb +%{_libdir}/groonga/plugins/ruby/eval.rb %{_libdir}/groonga/plugins/sharding/*.rb -%{_libdir}/groonga/scripts/ruby/*.rb -%{_libdir}/groonga/scripts/ruby/command_line/*.rb -%{_libdir}/groonga/scripts/ruby/context/*.rb -%{_libdir}/groonga/scripts/ruby/groonga-log/*.rb -%{_libdir}/groonga/scripts/ruby/expression_rewriters/*.rb -%{_libdir}/groonga/scripts/ruby/expression_tree/*.rb -%{_libdir}/groonga/scripts/ruby/initialize/*.rb -%{_libdir}/groonga/scripts/ruby/logger/*.rb -%{_libdir}/groonga/scripts/ruby/query_logger/*.rb +%{_libdir}/groonga/plugins/*.rb +%{_libdir}/groonga/scripts/ruby/ %{_datadir}/groonga/ -%config(noreplace) %{_sysconfdir}/groonga/synonyms.tsv + +%files devel +%{_includedir}/groonga/ +%{_libdir}/*.so +%{_libdir}/cmake/Groonga/ +%{_libdir}/pkgconfig/groonga*.pc %files server-common %config(noreplace) %{_sysconfdir}/tmpfiles.d/groonga.conf @@ -295,27 +283,16 @@ fi %attr(0755,groonga,groonga) %dir %{_localstatedir}/lib/%{name} %attr(0755,groonga,groonga) %dir %{_localstatedir}/lib/%{name}/db -%files httpd -%config(noreplace) %{_sysconfdir}/groonga/httpd/* -%config(noreplace) %{_sysconfdir}/sysconfig/groonga-httpd -%config(noreplace) %{_sysconfdir}/logrotate.d/groonga-httpd -%{_unitdir}/groonga-httpd.service -%{_sbindir}/groonga-httpd -%{_sbindir}/groonga-httpd-restart +%files server-http +%config(noreplace) %{_sysconfdir}/groonga/ +%config(noreplace) %{_sysconfdir}/sysconfig/groonga-server-http +%config(noreplace) %{_sysconfdir}/logrotate.d/groonga-server-http +%{_unitdir}/groonga-server-http.service %ghost %dir /run/%{name} %attr(0755,groonga,groonga) %dir %{_localstatedir}/lib/%{name} %attr(0755,groonga,groonga) %dir %{_localstatedir}/lib/%{name}/db -%files doc -%doc README.md COPYING -%doc groonga-doc/* - -%files devel -%{_includedir}/groonga/ -%{_libdir}/*.so -%{_libdir}/pkgconfig/groonga*.pc - -%files tokenizer-mecab +%files plugin-tokenizer-mecab %{_libdir}/groonga/plugins/tokenizers/mecab.so %files plugin-token-filters @@ -327,8 +304,19 @@ fi %{_libdir}/groonga/plugins/suggest/suggest.so %files munin-plugins -%{_datadir}/munin/plugins/* +%{_datadir}/groonga/munin/plugins/* %config(noreplace) %{_sysconfdir}/munin/plugin-conf.d/* +%files doc +%doc README.md +%license COPYING +%{_datadir}/doc/groonga/ + +%files examples +%{_datadir}/groonga/examples/ + +%files tools +%{_datadir}/groonga/tools/ + %changelog %autochangelog diff --git a/packit.yaml b/packit.yaml new file mode 100644 index 0000000..c2e942e --- /dev/null +++ b/packit.yaml @@ -0,0 +1,22 @@ +upstream_package_name: groonga +upstream_project_url: https://github.com/groonga/groonga + +downstream_package_name: groonga + +specfile_path: groonga.spec + +jobs: + - job: pull_from_upstream + trigger: release + dist_git_branches: + - rawhide + + - job: koji_build + trigger: commit + dist_git_branches: + - fedora-all + + - job: bodhi_update + trigger: commit + dist_git_branches: + - fedora-all diff --git a/sources b/sources index 548f836..cfa0fea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (groonga-10.0.8.tar.gz) = ba69b40f0a6f6992e4b46cc9744054b813ad99a1205f0921e90762dffa5f5ad84b2868b6b604b657b6ec908d73d1307478bf77eadee93fa05699b15a5450587f +SHA512 (groonga-13.0.9.tar.gz) = ea74a7b5dce2caa79ee0b1e670265f935d699781886980582c8804423b320fb8afe414aafd5a90d9a8c1e79fc55fe939dd93fb9e0837ac856912a73e9f5f1c1e