Группа :: Разработка/Java
Пакет: tyrex
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Packager: Igor Vlasenko <viy at altlinux.ru>
BuildRequires: /proc
BuildRequires: jpackage-compat
%define javadir %{_datadir}/java
%define javadocdir %{_datadir}/javadoc
Summary: An Open Source implementation of the Java Transaction Service
Name: tyrex
Version: 1.0.3
Release: alt2_1jpp5
Epoch: 0
Group: Development/Java
License: BSD-like
Url: http://tyrex.sourceforge.net
BuildArch: noarch
BuildRequires: jpackage-utils >= 0:1.7.4
BuildRequires: ant >= 0:1.6.5
BuildRequires: ant-trax
BuildRequires: avalon-framework
BuildRequires: avalon-logkit
BuildRequires: castor0
BuildRequires: j2ee-connector
BuildRequires: javamail
BuildRequires: jta_1_0_1B_api
BuildRequires: geronimo-corba-1.0-apis geronimo-javamail-1.3.1-api
#BuildRequires: jts >= 0:1.0-5jpp
BuildRequires: junit
BuildRequires: ldapsdk
BuildRequires: log4j
BuildRequires: openorb >= 0:1.4.0-3jpp
BuildRequires: openorb-tns
BuildRequires: xalan-j2
BuildRequires: xalan-j2-xsltc
BuildRequires: xerces-j2
BuildRequires: xml-commons-apis
Source0: http://prdownloads.sourceforge.net/tyrex/%{name}-%{version}-src.tgz
Source1: tyrex-1.0.3.pom
Patch0: tyrex-1.0.3-build.patch
Patch1: tyrex-1.0.3-Current.patch
Patch2: tyrex-1.0.3-OTSTest.patch
Requires(post): jpackage-utils >= 0:1.7.3
Requires(postun): jpackage-utils >= 0:1.7.3
%description
Tyrex is a J2EE service provider for both Servlet
and EJB container, JMS providers and generic connectors.
It provides services for security and authentication,
local and distributed transactions, resource configuration
and pooling, and TP monitoring.
- Full support for JTA and OTS transactions APIs
- Support for local and distributed transactions
- JAAS-based authentication, LDAP login module
- Configurable transaction processing monitor
- JDBC pooling and automatic JDBC resource enlistment
- JCA connection manager
- XML based configuration
- JNDI environment naming context
- Transaction context propagation over IIOP
- Can be used as a stand alone OTS server
%package javadoc
Group: Development/Documentation
Summary: Javadoc for %{name}
BuildArch: noarch
%description javadoc
%{summary}.
%package manual
Group: Development/Documentation
Summary: Documents for %{name}
BuildArch: noarch
%description manual
%{summary}.
%prep
%setup -q
# remove external jars
for j in $(find . -name "*.jar"); do
mv $j $j.no
done
for j in $(find src -name "*.java" -exec grep -l 'assert *(' {} \;); do
sed -i -e 's:assert *(:assertTrue(:' $j
done
for j in $(find src -name "*.java" -exec grep -l '\.PI\.' {} \;); do
sed -i -e 's:\.PI\.:\.orb\.pi\.:g' $j
done
%patch0 -b .sav0
%patch1 -b .sav1
%patch2 -b .sav2
pushd lib
mv ots-jts_1.0.jar.no ots-jts_1.0.jar
popd
%build
export JAVA_HOME=%{_jvmdir}/java-1.5.0
export OPT_JAR_LIST="ant/ant-trax"
export CLASSPATH=$(build-classpath \
castor0 \
commons-logging \
avalon-framework \
avalon-logkit \
geronimo-corba-1.0-apis \
geronimo-javamail-1.3.1-api \
geronimo-j2ee-connector-1.5-api \
\
jta_1_0_1B_api \
junit \
log4j \
openorb/orb \
openorb/orb-omg \
openorb/orb-tools \
openorb/tns \
openorb/tools \
)
CLASSPATH=$CLASSPATH:build/classes:build/tests:lib/ots-jts_1.0.jar
#export OPT_JAR_LIST="ant/ant-trax"
ant -Dbuild.sysclasspath=only -f src/build.xml all-iiop doc javadoc
%install
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 dist/%{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
%add_to_maven_depmap %{name} %{name} %{version} JPP %{name}
install -m 644 dist/%{name}-%{version}-iiop.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-iiop-%{version}.jar
install -m 644 dist/%{name}-%{version}-iiop-tests.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-iiop-tests-%{version}.jar
install -m 644 dist/%{name}-%{version}-tests.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-tests-%{version}.jar
install -m 644 dist/%{name}-%{version}-tests-unit.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-tests-unit-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
# pom
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}.pom
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/schema
install -m 644 build/schema/* \
$RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/schema
# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -prf build/doc/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
rm -rf build/doc/javadoc
# manual
install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
cp -prf build/doc/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}
%postun javadoc
if [ "$1" = "0" ]; then
rm -f %{_javadocdir}/%{name}
fi
%files
%doc %{_docdir}/%{name}-%{version}/license.txt
%{_javadir}/*.jar
%{_datadir}/%{name}-%{version}
%{_datadir}/maven2
%{_mavendepmapfragdir}
# hack; explicitly added docdir if not owned
%doc %dir %{_docdir}/%{name}-%{version}
%files javadoc
%{_javadocdir}/%{name}-%{version}
%ghost %doc %{_javadocdir}/%{name}
%files manual
%doc %{_docdir}/%{name}-%{version}
%changelog
…
Полный changelog можно просмотреть здесь
BuildRequires: /proc
BuildRequires: jpackage-compat
%define javadir %{_datadir}/java
%define javadocdir %{_datadir}/javadoc
Summary: An Open Source implementation of the Java Transaction Service
Name: tyrex
Version: 1.0.3
Release: alt2_1jpp5
Epoch: 0
Group: Development/Java
License: BSD-like
Url: http://tyrex.sourceforge.net
BuildArch: noarch
BuildRequires: jpackage-utils >= 0:1.7.4
BuildRequires: ant >= 0:1.6.5
BuildRequires: ant-trax
BuildRequires: avalon-framework
BuildRequires: avalon-logkit
BuildRequires: castor0
BuildRequires: j2ee-connector
BuildRequires: javamail
BuildRequires: jta_1_0_1B_api
BuildRequires: geronimo-corba-1.0-apis geronimo-javamail-1.3.1-api
#BuildRequires: jts >= 0:1.0-5jpp
BuildRequires: junit
BuildRequires: ldapsdk
BuildRequires: log4j
BuildRequires: openorb >= 0:1.4.0-3jpp
BuildRequires: openorb-tns
BuildRequires: xalan-j2
BuildRequires: xalan-j2-xsltc
BuildRequires: xerces-j2
BuildRequires: xml-commons-apis
Source0: http://prdownloads.sourceforge.net/tyrex/%{name}-%{version}-src.tgz
Source1: tyrex-1.0.3.pom
Patch0: tyrex-1.0.3-build.patch
Patch1: tyrex-1.0.3-Current.patch
Patch2: tyrex-1.0.3-OTSTest.patch
Requires(post): jpackage-utils >= 0:1.7.3
Requires(postun): jpackage-utils >= 0:1.7.3
%description
Tyrex is a J2EE service provider for both Servlet
and EJB container, JMS providers and generic connectors.
It provides services for security and authentication,
local and distributed transactions, resource configuration
and pooling, and TP monitoring.
- Full support for JTA and OTS transactions APIs
- Support for local and distributed transactions
- JAAS-based authentication, LDAP login module
- Configurable transaction processing monitor
- JDBC pooling and automatic JDBC resource enlistment
- JCA connection manager
- XML based configuration
- JNDI environment naming context
- Transaction context propagation over IIOP
- Can be used as a stand alone OTS server
%package javadoc
Group: Development/Documentation
Summary: Javadoc for %{name}
BuildArch: noarch
%description javadoc
%{summary}.
%package manual
Group: Development/Documentation
Summary: Documents for %{name}
BuildArch: noarch
%description manual
%{summary}.
%prep
%setup -q
# remove external jars
for j in $(find . -name "*.jar"); do
mv $j $j.no
done
for j in $(find src -name "*.java" -exec grep -l 'assert *(' {} \;); do
sed -i -e 's:assert *(:assertTrue(:' $j
done
for j in $(find src -name "*.java" -exec grep -l '\.PI\.' {} \;); do
sed -i -e 's:\.PI\.:\.orb\.pi\.:g' $j
done
%patch0 -b .sav0
%patch1 -b .sav1
%patch2 -b .sav2
pushd lib
mv ots-jts_1.0.jar.no ots-jts_1.0.jar
popd
%build
export JAVA_HOME=%{_jvmdir}/java-1.5.0
export OPT_JAR_LIST="ant/ant-trax"
export CLASSPATH=$(build-classpath \
castor0 \
commons-logging \
avalon-framework \
avalon-logkit \
geronimo-corba-1.0-apis \
geronimo-javamail-1.3.1-api \
geronimo-j2ee-connector-1.5-api \
\
jta_1_0_1B_api \
junit \
log4j \
openorb/orb \
openorb/orb-omg \
openorb/orb-tools \
openorb/tns \
openorb/tools \
)
CLASSPATH=$CLASSPATH:build/classes:build/tests:lib/ots-jts_1.0.jar
#export OPT_JAR_LIST="ant/ant-trax"
ant -Dbuild.sysclasspath=only -f src/build.xml all-iiop doc javadoc
%install
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 dist/%{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
%add_to_maven_depmap %{name} %{name} %{version} JPP %{name}
install -m 644 dist/%{name}-%{version}-iiop.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-iiop-%{version}.jar
install -m 644 dist/%{name}-%{version}-iiop-tests.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-iiop-tests-%{version}.jar
install -m 644 dist/%{name}-%{version}-tests.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-tests-%{version}.jar
install -m 644 dist/%{name}-%{version}-tests-unit.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-tests-unit-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
# pom
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}.pom
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/schema
install -m 644 build/schema/* \
$RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/schema
# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -prf build/doc/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
rm -rf build/doc/javadoc
# manual
install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
cp -prf build/doc/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}
%postun javadoc
if [ "$1" = "0" ]; then
rm -f %{_javadocdir}/%{name}
fi
%files
%doc %{_docdir}/%{name}-%{version}/license.txt
%{_javadir}/*.jar
%{_datadir}/%{name}-%{version}
%{_datadir}/maven2
%{_mavendepmapfragdir}
# hack; explicitly added docdir if not owned
%doc %dir %{_docdir}/%{name}-%{version}
%files javadoc
%{_javadocdir}/%{name}-%{version}
%ghost %doc %{_javadocdir}/%{name}
%files manual
%doc %{_docdir}/%{name}-%{version}
%changelog
…
Полный changelog можно просмотреть здесь