164 lines
5.8 KiB
RPMSpec
164 lines
5.8 KiB
RPMSpec
|
|
Name: hsqldb
|
||
|
|
Version: 2.4.0
|
||
|
|
Release: 1
|
||
|
|
Epoch: 1
|
||
|
|
Summary: HyperSQL Database Engine
|
||
|
|
License: BSD
|
||
|
|
URL: http://hsqldb.sourceforge.net/
|
||
|
|
Source0: http://downloads.sourceforge.net/hsqldb/hsqldb-%{version}.zip
|
||
|
|
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
|
||
|
|
|
||
|
|
BuildRequires: ant javapackages-local systemd-units glassfish-servlet-api
|
||
|
|
Requires: %{name}-lib = %{epoch}:%{version}-%{release} glassfish-servlet-api
|
||
|
|
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
|
||
|
|
%setup -q -n %{name}-%{version}/%{name}
|
||
|
|
%patch0 -p1
|
||
|
|
%patch1 -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
|
||
|
|
* Tue Aug 4 2020 leiju <leiju4@huawei.com> - 2.4.0-1
|
||
|
|
- Package init
|