177 lines
6.4 KiB
RPMSpec
177 lines
6.4 KiB
RPMSpec
Name: hsqldb
|
|
Version: 2.4.0
|
|
Release: 5
|
|
Epoch: 1
|
|
Summary: HyperSQL Database Engine
|
|
License: BSD-3-Clause
|
|
URL: https://github.com/ryenus/hsqldb
|
|
Source0: https://github.com/ryenus/hsqldb/archive/hsqldb-%{version}.tar.gz
|
|
Source1: %{name}.cfg
|
|
Source2: %{name}-server.properties
|
|
Source3: %{name}-webserver.properties
|
|
Source4: %{name}-sqltool.rc
|
|
Source5: http://www.hsqldb.org/repos/org/hsqldb/hsqldb/%{version}/hsqldb-%{version}.pom
|
|
Source6: %{name}.systemd
|
|
Source7: %{name}-wrapper
|
|
Source8: %{name}-post
|
|
Source9: %{name}-stop
|
|
Patch0: 0001-Fix-javadoc-build.patch
|
|
Patch1: 0002-Build-cmdline-classes.patch
|
|
# https://sourceforge.net/p/hsqldb/svn/6614/
|
|
Patch2: CVE-2022-41853.patch
|
|
|
|
BuildRequires: ant javapackages-local systemd-units glassfish-servlet-api
|
|
Requires: %{name}-lib = %{epoch}:%{version}-%{release} glassfish-servlet-api
|
|
Requires: javapackages-tools
|
|
Requires(pre): shadow-utils
|
|
Requires(post): systemd-units
|
|
Requires(preun): systemd-units
|
|
Requires(postun): systemd-units
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
HSQLdb is a relational database engine written in JavaTM , with a JDBC
|
|
driver, supporting a subset of ANSI-92 SQL. It offers a small (about
|
|
100k), fast database engine which offers both in memory and disk based
|
|
tables. Embedded and server modes are available. Additionally, it
|
|
includes tools such as a minimal web server, in-memory query and
|
|
management tools (can be run as applets or servlets, too) and a number
|
|
of demonstration examples.
|
|
Downloaded code should be regarded as being of production quality. The
|
|
product is currently being used as a database and persistence engine in
|
|
many Open Source Software projects and even in commercial projects and
|
|
products! In it's current version it is extremely stable and reliable.
|
|
It is best known for its small size, ability to execute completely in
|
|
memory and its speed. Yet it is a completely functional relational
|
|
database management system that is completely free under the Modified
|
|
BSD License. Yes, that's right, completely free of cost or restrictions!
|
|
|
|
%package lib
|
|
Summary: HyperSQL Database Engine library
|
|
|
|
%description lib
|
|
Library part of %{name}.
|
|
|
|
%package manual
|
|
Summary: Manual for %{name}
|
|
|
|
%description manual
|
|
Documentation for %{name}.
|
|
|
|
%package javadoc
|
|
Summary: Javadoc for %{name}
|
|
|
|
%description javadoc
|
|
Javadoc for %{name}.
|
|
|
|
%package demo
|
|
Summary: Demo for %{name}
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
%description demo
|
|
Demonstrations and samples for %{name}.
|
|
|
|
%prep
|
|
%autosetup -n %{name}-%{version} -p1
|
|
find . -name "*.sh" -exec chmod 755 \{\} \;
|
|
for dir in `find . -name _notes`; do rm -rf $dir; done
|
|
find . -name "*.jar" -exec rm -f {} \;
|
|
find . -name "*.class" -exec rm -f {} \;
|
|
find . -name "*.war" -exec rm -f {} \;
|
|
find . -name "*.zip" -exec rm -f {} \;
|
|
chmod -R go=u-w *
|
|
sed -i -e 's/doc-src/doc/g' build/build.xml
|
|
sed -i -e 's|doc/apidocs|%{_javadocdir}/%{name}|g' index.html
|
|
|
|
%build
|
|
pushd build
|
|
export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
|
|
ant hsqldb javadoc -Dservletapi.lib=$(build-classpath glassfish-servlet-api)
|
|
popd
|
|
|
|
%install
|
|
%mvn_file :%{name} %{name}
|
|
%mvn_artifact %{SOURCE5} lib/%{name}.jar
|
|
%mvn_install -J doc/apidocs
|
|
install -d -m 755 %{buildroot}%{_unitdir}
|
|
install -d -m 755 %{buildroot}%{_prefix}/lib/%{name}
|
|
install -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}.service
|
|
install -m 755 %{SOURCE7} %{buildroot}%{_prefix}/lib/%{name}/%{name}-wrapper
|
|
install -m 755 %{SOURCE8} %{buildroot}%{_prefix}/lib/%{name}/%{name}-post
|
|
install -m 755 %{SOURCE9} %{buildroot}%{_prefix}/lib/%{name}/%{name}-stop
|
|
install -d -m 755 %{buildroot}%{_sysconfdir}/sysconfig
|
|
install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}
|
|
install -m 644 %{SOURCE2} %{buildroot}%{_localstatedir}/lib/%{name}/server.properties
|
|
install -m 644 %{SOURCE3} %{buildroot}%{_localstatedir}/lib/%{name}/webserver.properties
|
|
install -m 600 %{SOURCE4} %{buildroot}%{_localstatedir}/lib/%{name}/sqltool.rc
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}/lib
|
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}/data
|
|
install -d -m 755 %{buildroot}%{_pkgdocdir}
|
|
cp -r doc index.html %{buildroot}%{_pkgdocdir}
|
|
pushd %{buildroot}%{_localstatedir}/lib/%{name}/lib
|
|
# build-classpath can not be used as the jar is not
|
|
# yet present during the build
|
|
ln -s %{_javadir}/hsqldb.jar hsqldb.jar
|
|
ln -s $(build-classpath glassfish-servlet-api) servlet.jar
|
|
popd
|
|
|
|
%preun
|
|
%systemd_preun hsqldb.service
|
|
|
|
%pre
|
|
%{_sbindir}/groupadd -g 96 -f -r %{name} 2> /dev/null || :
|
|
%{_sbindir}/useradd -u 96 -g %{name} -s /sbin/nologin \
|
|
-d %{_localstatedir}/lib/%{name} -r %{name} 2> /dev/null || :
|
|
|
|
%post
|
|
%systemd_post hsqldb.service
|
|
|
|
%postun
|
|
%systemd_postun_with_restart hsqldb.service
|
|
%triggerun -- hsqldb < 1.8.1.3-9
|
|
/usr/bin/systemd-sysv-convert --save hsqldb >/dev/null 2>&1 ||:
|
|
/bin/systemctl --no-reload enable hsqldb.service >/dev/null 2>&1 ||:
|
|
/sbin/chkconfig --del hsqldb >/dev/null 2>&1 || :
|
|
/bin/systemctl try-restart hsqldb.service >/dev/null 2>&1 || :
|
|
|
|
%files
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
|
|
%{_unitdir}/%{name}.service
|
|
%{_prefix}/lib/%{name}/%{name}-wrapper
|
|
%{_prefix}/lib/%{name}/%{name}-post
|
|
%{_prefix}/lib/%{name}/%{name}-stop
|
|
%attr(0700,hsqldb,hsqldb) %{_localstatedir}/lib/%{name}/data
|
|
%{_localstatedir}/lib/%{name}/lib
|
|
%{_localstatedir}/lib/%{name}/server.properties
|
|
%{_localstatedir}/lib/%{name}/webserver.properties
|
|
%attr(0600,hsqldb,hsqldb) %{_localstatedir}/lib/%{name}/sqltool.rc
|
|
%dir %{_localstatedir}/lib/%{name}
|
|
%dir %{_prefix}/lib/%{name}
|
|
|
|
%files lib -f .mfiles
|
|
|
|
%files manual
|
|
%doc %{_pkgdocdir}
|
|
|
|
%files javadoc
|
|
%doc %{_javadocdir}/%{name}
|
|
|
|
%files demo
|
|
|
|
%changelog
|
|
* Thu Dec 07 2023 yaoxin <yao_xin001@hoperun.com> - 1:2.4.0-5
|
|
- Fix CVE-2022-41853
|
|
|
|
* Tue May 10 2022 liyanan <liyanan32@h-partners.com> - 2.4.0-4
|
|
- License compliance rectification
|
|
|
|
* Wed Jun 16 2021 lingsheng <lingsheng@huawei.com> - 2.4.0-3
|
|
- Add dependency javapackages-tools required by hsqldb service
|
|
|
|
* Mon Jun 07 2021 maminjie <maminjie1@huawei.com> - 2.4.0-2
|
|
- Fix 0002-Build-cmdline-classes.patch
|
|
|
|
* Tue Aug 4 2020 leiju <leiju4@huawei.com> - 2.4.0-1
|
|
- Package init
|