# # 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/sh \ -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