forked from pool/hsqldb
306 lines
11 KiB
RPMSpec
306 lines
11 KiB
RPMSpec
#
|
|
# spec file for package hsqldb (Version 1.8.0.10)
|
|
#
|
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define reltag patch01
|
|
|
|
Name: hsqldb
|
|
Version: 1.8.0.10
|
|
Release: 2
|
|
Summary: Hsqldb Database Engine
|
|
Group: Development/Libraries/Java
|
|
License: BSD 3-Clause
|
|
Url: http://hsqldb.sourceforge.net/
|
|
# http://downloads.sourceforge.net/hsqldb/hsqldb_1_8_0_10.zip
|
|
# unzip -q hsqldb_1_8_0_10.zip
|
|
# tar -cjf hsqldb-%{version}.tar.bz2 hsqldb/
|
|
Source0: %{name}-%{version}.tar.bz2
|
|
Source1: %{name}-1.8.0-standard.cfg
|
|
Source2: %{name}-1.8.0-standard-server.properties
|
|
Source3: %{name}-1.8.0-standard-webserver.properties
|
|
Source4: %{name}-1.8.0-standard-sqltool.rc
|
|
Source5: hsqldb-component-info.xml
|
|
Patch0: %{name}-1.8.0-scripts.patch
|
|
Patch1: hsqldb-tmp.patch
|
|
# Obsoleted by 1.8.0.10
|
|
#Patch2: hsqldb-1.8.0.8-backport.patch
|
|
Patch3: hsqldb-1.8.0.10-java6.patch
|
|
Patch1000: hsqldb-1.8.0.10-suse-initscript.patch
|
|
PreReq: servletapi5
|
|
PreReq: pwdutils
|
|
Requires(post): /bin/rm,/bin/ln
|
|
Requires(preun):/bin/rm
|
|
BuildRequires: ant
|
|
BuildRequires: junit
|
|
BuildRequires: jpackage-utils >= 1.5
|
|
BuildRequires: servletapi5
|
|
BuildRequires: unzip
|
|
BuildRequires: fdupes
|
|
PreReq: %fillup_prereq
|
|
BuildArch: noarch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
%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 manual
|
|
License: BSD 3-Clause
|
|
Summary: Hsqldb Database Engine
|
|
Group: Development/Libraries/Java
|
|
|
|
%description manual
|
|
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 javadoc
|
|
License: BSD 3-Clause
|
|
Summary: Hsqldb Database Engine
|
|
Group: Development/Libraries/Java
|
|
|
|
%description javadoc
|
|
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 demo
|
|
License: BSD 3-Clause
|
|
Summary: Hsqldb Database Engine
|
|
Group: Development/Libraries/Java
|
|
Requires: %{name} = %{version}
|
|
|
|
%description demo
|
|
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!
|
|
|
|
|
|
|
|
%prep
|
|
%setup -q -n %{name}
|
|
perl -pi -e 's/\r$//g' doc/*.txt doc/src/hsqldbstylesheet.css
|
|
# set right permissions
|
|
find . -name "*.sh" -exec chmod 755 \{\} \;
|
|
# remove all _notes directories
|
|
for dir in `find . -name _notes`; do rm -rf $dir; done
|
|
# remove all binary libs
|
|
find . -name "*.jar" -exec rm -f {} \;
|
|
find . -name "*.class" -exec rm -f {} \;
|
|
find . -name "*.war" -exec rm -f {} \;
|
|
# correct silly permissions
|
|
chmod -R go=u-w *
|
|
%patch0 -p0
|
|
%patch1 -p1
|
|
if [[ $(readlink -f ${JAVA_HOME} | grep '1\.6\.0') ]]; then
|
|
%patch3 -b .java6-compatibility
|
|
fi
|
|
%patch1000 -b .suse-initscript
|
|
|
|
%build
|
|
export CLASSPATH=$(build-classpath \
|
|
jsse/jsse \
|
|
jsse/jnet \
|
|
jsse/jcert \
|
|
jdbc-stdext \
|
|
servletapi5 \
|
|
junit)
|
|
export OPT_JAR_LIST=:
|
|
pushd build
|
|
ant -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 jar javadoc
|
|
popd
|
|
|
|
%install
|
|
# jar
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
|
|
install -m 644 lib/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
|
|
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} ${jar/-%{version}/}; done)
|
|
# bin
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
|
|
install -m 755 bin/runUtil.sh $RPM_BUILD_ROOT%{_bindir}/%{name}RunUtil
|
|
# sysv init
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_initrddir}
|
|
install -m 755 bin/%{name} $RPM_BUILD_ROOT%{_initrddir}/%{name}
|
|
# rchsqldb link
|
|
install -d -m 0755 $RPM_BUILD_ROOT/%{_sbindir}/
|
|
ln -sf %{_sysconfdir}/init.d/%{name} $RPM_BUILD_ROOT/%{_sbindir}/rc%{name}
|
|
# sysconfig
|
|
#install -d -m 0755 $RPM_BUILD_ROOT/var/adm/fillup-templates
|
|
#install -m 700 %{SOURCE1} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.%{name}
|
|
install -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/%{name}.conf
|
|
# serverconfig
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}
|
|
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/server.properties
|
|
install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/webserver.properties
|
|
install -m 600 %{SOURCE4} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/sqltool.rc
|
|
# lib
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/lib
|
|
install -m 644 lib/functions $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/lib
|
|
# data
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/data
|
|
# demo
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/demo
|
|
install -m 755 demo/*.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/demo
|
|
install -m 644 demo/*.html $RPM_BUILD_ROOT%{_datadir}/%{name}/demo
|
|
# javadoc
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
|
|
cp -r doc/src/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
|
|
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
|
|
# FIXME: (dwalluck): breaks --short-circuit
|
|
rm -rf doc/src
|
|
# manual
|
|
install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
|
|
cp -pr doc/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
|
|
cp -p index.html $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
|
|
%fdupes -s %{buildroot}
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%pre
|
|
# Add the "hsqldb" user and group
|
|
# we need a shell to be able to use su - later
|
|
if [ `getent group %{name}` ]; then
|
|
: OK group hsqldb already present
|
|
else
|
|
%{_sbindir}/groupadd -r %{name} 2> /dev/null || :
|
|
fi
|
|
if [ `getent passwd %{name}` ]; then
|
|
: OK user hsqldb already present
|
|
else
|
|
%{_sbindir}/useradd -r -g %{name} -c "Hsqldb" -s /bin/false \
|
|
-d %{_localstatedir}/lib/%{name} -o %{name} 2> /dev/null || :
|
|
fi
|
|
|
|
%post
|
|
%{fillup_and_insserv %{name}}
|
|
rm -f %{_localstatedir}/lib/%{name}/lib/hsqldb.jar
|
|
rm -f %{_localstatedir}/lib/%{name}/lib/servlet.jar
|
|
(cd %{_localstatedir}/lib/%{name}/lib
|
|
ln -s $(build-classpath hsqldb) hsqldb.jar
|
|
ln -s $(build-classpath servletapi5) servlet.jar
|
|
) 2>/dev/null || :
|
|
|
|
%postun
|
|
%restart_on_update %{name}
|
|
%insserv_cleanup
|
|
|
|
%preun
|
|
if [ "$1" = "0" ]; then
|
|
rm -f %{_localstatedir}/lib/%{name}/lib/hsqldb.jar
|
|
rm -f %{_localstatedir}/lib/%{name}/lib/servlet.jar
|
|
#%{_sbindir}/userdel %{name} >> /dev/null 2>&1 || :
|
|
#%{_sbindir}/groupdel %{name} >> /dev/null 2>&1 || :
|
|
fi
|
|
%stop_on_removal %{name}
|
|
|
|
%files
|
|
%defattr(0644,root,root,0755)
|
|
%dir %{_docdir}/%{name}-%{version}
|
|
%doc %{_docdir}/%{name}-%{version}/hsqldb_lic.txt
|
|
%{_javadir}/*
|
|
%attr(0755,root,root) %{_bindir}/*
|
|
%attr(0755,root,root) %{_sbindir}/rc%{name}
|
|
%attr(0755,root,root) %{_initrddir}/%{name}
|
|
%attr(0755,hsqldb,hsqldb) %{_localstatedir}/lib/%{name}/data
|
|
%{_localstatedir}/lib/%{name}/lib
|
|
%attr(0644,root,root) %{_localstatedir}/lib/%{name}/server.properties
|
|
%attr(0644,root,root) %{_localstatedir}/lib/%{name}/webserver.properties
|
|
%attr(0600,hsqldb,hsqldb) %{_localstatedir}/lib/%{name}/sqltool.rc
|
|
%dir %{_localstatedir}/lib/%{name}
|
|
%config %{_sysconfdir}/%{name}.conf
|
|
|
|
%files manual
|
|
%defattr(0644,root,root,0755)
|
|
%doc %{_docdir}/%{name}-%{version}
|
|
|
|
%files javadoc
|
|
%defattr(0644,root,root,0755)
|
|
%{_javadocdir}/%{name}-%{version}
|
|
%{_javadocdir}/%{name}
|
|
|
|
%files demo
|
|
%defattr(-,root,root,0755)
|
|
%{_datadir}/%{name}
|
|
|
|
%changelog
|
|
* Wed May 13 2009 mvyskocil@suse.cz
|
|
- Initial SUSE packaging od hsqldb 1.8.0.10 from jpackage.org
|