Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37619808
en ru br
ALT Linux repos
5.0: 1.2.9-alt4_5jpp1.7
4.1: 1.2.9-alt4_5jpp1.7
4.0: 1.2.9-alt4_5jpp1.7
3.0: 1.2.6-alt2

Group :: Development/Java
RPM: struts

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Name: struts
Version: 1.2.6
Release: alt2
Summary: Web application framework
License: Apache License
Group: Development/Java

%define tomcat4appsdir %_libdir/tomcat4/webapps
%define tomcat5appsdir  %_libdir/tomcat5/webapps
%define tomcat5ctxdir   %_sysconfdir/tomcat5/Catalina/localhost
%define tomcat_user tomcat
%define tomcat_group apache

%define webapps    blank example examples
%define webapplibs jakarta-commons-beanutils jakarta-commons-digester jakarta-commons-fileupload jakarta-commons-validator jakarta-oro struts

Source0: %name.tar.bz2
Source1: tomcat4-context-allowlinking.xml
Source2: tomcat5-context-allowlinking.xml
Patch0: %name.build.patch
Url: http://jakarta.apache.org/%name

BuildPreReq: /proc rpm-build-java
BuildRequires: ant ant-trax jaxp_transform_impl sed jakarta-servletapi4 jakarta-commons-beanutils
BuildRequires: jakarta-commons-collections jakarta-commons-digester jakarta-commons-fileupload
BuildRequires: jakarta-commons-logging jakarta-commons-validator jakarta-oro antlr
Buildarch: noarch

Requires: jakarta-servletapi4 jakarta-commons-beanutils jakarta-commons-digester jakarta-commons-fileupload
Requires: jakarta-commons-validator jakarta-commons-collections jakarta-oro antlr

%description
Welcome to the Struts Framework! The goal of this project is to provide
an open source framework useful in building web applications with Java
Servlet and JavaServer Pages (JSP) technology. Struts encourages
application architectures based on the Model-View-Controller (MVC)
design paradigm, colloquially known as Model 2 in discussions on various
servlet and JSP related mailing lists.
Struts includes the following primary areas of functionality:
A controller servlet that dispatches requests to appropriate Action
classes provided by the application developer.
JSP custom tag libraries, and associated support in the controller
servlet, that assists developers in creating interactive form-based
applications.
Utility classes to support XML parsing, automatic population of
JavaBeans properties based on the Java reflection APIs, and
internationalization of prompts and messages.
Struts is part of the Jakarta Project, sponsored by the Apache Software
Foundation. The official Struts home page is at
http://jakarta.apache.org/struts.

%package manual
Summary: Manual for %name
Group: Development/Java

%description manual
Documentation for %name.

%package javadoc
Summary: Javadoc for %name
Group: Development/Java
Requires: java-common

%description javadoc
Javadoc for %name.

%package webapps-tomcat4
Summary: Sample %name webapps for tomcat4
Group: Networking/WWW
Requires: %name = %version-%release
Requires: tomcat4-server

%description webapps-tomcat4
Sample %name webapps for tomcat4.

%package webapps-tomcat5
Summary: Sample %name webapps for tomcat5
Group: Networking/WWW
Requires: %name = %version-%release
Requires: tomcat5-server

%description webapps-tomcat5
Sample %name webapps for tomcat5.

%prep
%setup -n %name -q
# remove all binary libs
find . -name "*.jar" -exec rm -f {} \;

%build
# build struts
%set_classpath %_javadir/xml-commons-apis.jar
%add_classpath %_javadir/jaxp_parser_impl.jar
%add_classpath %_javadir/jaxp_transform_impl.jar
%add_classpath %_javadir/servletapi.jar
%add_classpath %_javadir/jakarta-commons-logging.jar
%add_classpath %_javadir/jakarta-commons-validator.jar
%add_classpath %_javadir/antlr.jar

%ant_build \
-Dcommons-beanutils.jar=%_javadir/jakarta-commons-beanutils.jar \
-Dcommons-collections.jar=%_javadir/jakarta-commons-collections.jar \
-Dcommons-digester.jar=%_javadir/jakarta-commons-digester.jar \
-Dcommons-fileupload.jar=%_javadir/jakarta-commons-fileupload.jar \
-Dcommons-logging.jar=%_javadir/jakarta-commons-logging.jar \
-Dcommons-validator.jar=%_javadir/jakarta-commons-validator.jar \
-Djakarta-oro.jar=%_javadir/jakarta-oro.jar \
-Dservlet.jar=%_javadir/servletapi.jar \
-Djsp.jar= \
-Dantlr.jar=%_javadir/antlr.jar \
-Dcompile.deprecation=false \
compile.library compile.webapps compile.javadoc

%install
# jars
%__install -d -m 755 %buildroot%_javadir
%__install -m 644 target/library/%name.jar %buildroot%_javadir/%name.jar
# javadoc
%__install -d -m 755 %buildroot%_javadocdir/%name
%__cp -pr target/documentation/api/* %buildroot%_javadocdir/%name
#%__rm -rf target/documentation/api
# data
%__install -d -m 755 %buildroot%_datadir/%name
%__install -m 644 target/library/*.tld %buildroot%_datadir/%name
%__install -m 644 target/library/*.dtd %buildroot%_datadir/%name

# tomcat 4 webapps

%__install -d -m 755 %buildroot%tomcat4appsdir
for webapp in %webapps; do
cp -pr target/$webapp %buildroot%tomcat4appsdir/%name-$webapp
rm -f %buildroot%tomcat4appsdir/%name-$webapp/WEB-INF/lib/*.jar
cat %SOURCE1 | sed -e "s/ at  at  at APPNAME at  at  at /$webapp/g;" > %buildroot%tomcat4appsdir/%name-$webapp.xml
for jar in %webapplibs; do
%__ln_s -f $(relative %_javadir/$jar.jar %tomcat4appsdir/%name-$webapp/WEB-INF/lib/) \
%buildroot%tomcat4appsdir/%name-$webapp/WEB-INF/lib/
done
for tld in %buildroot%_datadir/%name/*.tld; do
t=`basename $tld`
%__ln_s -f $(relative %_datadir/%name/$t %tomcat4appsdir/%name-$webapp/WEB-INF/) \
%buildroot%tomcat4appsdir/%name-$webapp/WEB-INF/
done
done

# tomcat 5 webapps

%__install -d -m 755 %buildroot%tomcat5appsdir
%__install -d -m 755 %buildroot%tomcat5ctxdir
for webapp in %webapps; do
cp -pr target/$webapp %buildroot%tomcat5appsdir/%name-$webapp
rm -f %buildroot%tomcat5appsdir/%name-$webapp/WEB-INF/lib/*.jar
cat %SOURCE2 | sed -e "s/ at  at  at APPNAME at  at  at /$webapp/g;" > %buildroot%tomcat5ctxdir/%name-$webapp.xml
for jar in %webapplibs; do
%__ln_s -f $(relative %_javadir/$jar.jar %tomcat5appsdir/%name-$webapp/WEB-INF/lib/) \
%buildroot%tomcat5appsdir/%name-$webapp/WEB-INF/lib/
done
for tld in %buildroot%_datadir/%name/*.tld; do
t=`basename $tld`
%__ln_s -f $(relative %_datadir/%name/$t %tomcat5appsdir/%name-$webapp/WEB-INF/) \
%buildroot%tomcat5appsdir/%name-$webapp/WEB-INF/
done
done

%files
%doc INSTALL LICENSE.txt README STATUS.txt
%_javadir/*
%_datadir/%name

%files manual
%doc target/documentation/*.html
%doc target/documentation/*.gif
%doc target/documentation/uml
%doc target/documentation/proposals
%doc target/documentation/faqs
%doc target/documentation/userGuide
%doc target/documentation/images

%files javadoc
%_javadocdir/%name

%files webapps-tomcat4
%defattr(-,%tomcat_user,%tomcat_group)
%tomcat4appsdir/%name-blank
%tomcat4appsdir/%name-example
%tomcat4appsdir/%name-examples
%tomcat4appsdir/%name-*.xml

%files webapps-tomcat5
%defattr(-,%tomcat_user,%tomcat_group)
%tomcat5appsdir/%name-blank
%tomcat5appsdir/%name-example
%tomcat5appsdir/%name-examples
%tomcat5ctxdir/%name-*.xml

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin