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 - 2.4.0-1 - Package init