Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37817514
en ru br
Репозитории ALT
5.1: 1.3.8-alt2_2jpp5
4.1: 1.2.9-alt4_5jpp1.7
4.0: 1.2.9-alt4_5jpp1.7
3.0: 1.2.6-alt2
www.altlinux.org/Changes

Группа :: Разработка/Java
Пакет: struts

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Packager: Igor Vlasenko <viy at altlinux.ru>
BuildRequires: /proc
BuildRequires: jpackage-compat
%define version 1.3.8
%define name struts
# Copyright (c) 2000-2009, JPackage Project
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the
#    distribution.
# 3. Neither the name of the JPackage Project nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

%define gcj_support 0

# If you want only core modules to be built,

# give rpmbuild option '--with coreonly'

%define with_coreonly %{?_with_coreonly:1}%{!?_with_coreonly:0}
%define without_coreonly %{!?_with_coreonly:1}%{?_with_coreonly:0}

%define full_name       jakarta-%{name}
%define tomcat5appsdir  %{_var}/lib/tomcat5/webapps
%define tomcat5ctxdir   %{_sysconfdir}/tomcat5/Catalina/localhost
%define webapps         blank documentation example examples tiles-documentation
%define webapplibs      commons-beanutils commons-digester commons-fileupload commons-validator oro struts

Name:           struts
Version:        1.3.8
Release:        alt2_2jpp5
Epoch:          0
Summary:        Web application framework
License:        Apache Software License 2.0
Group:          Development/Java
Source0:        %{name}-%{version}-all.zip
Source1:        %{name}-settings.xml
Source2:        %{name}-jpp-depmap.xml
Source3:        %{name}-master.pom

Patch0:         struts-1.3.8-core-pom.patch
Patch1:         struts-1.3.8-Tomcat5xTestSetup.patch
Patch2:         struts-1.3.8-assembly-pom.patch
Patch3:         struts-1.3.8-taglib-pom.patch
Patch4:         struts-1.3.8-pom.patch
Url:            http://struts.apache.org/
Requires: antlr
Requires: servletapi4
Requires: jakarta-commons-beanutils
Requires: jakarta-commons-chain
Requires: jakarta-commons-digester
Requires: jakarta-commons-fileupload
Requires: jakarta-commons-logging
Requires: jakarta-commons-validator
Requires: oro

BuildRequires: jpackage-utils >= 1.7.5
BuildRequires: ant >= 0:1.6.5
BuildRequires: junit
BuildRequires: maven2 >= 0:2.0.7
BuildRequires: maven2-plugin-antrun
BuildRequires: maven2-plugin-assembly
BuildRequires: maven2-plugin-checkstyle
BuildRequires: maven2-plugin-compiler
BuildRequires: maven2-plugin-dependency
BuildRequires: maven2-plugin-install
BuildRequires: maven2-plugin-jar
BuildRequires: maven2-plugin-javadoc
BuildRequires: maven2-plugin-pmd
BuildRequires: maven2-plugin-project-info-reports
BuildRequires: maven2-plugin-resources
BuildRequires: maven2-plugin-site
BuildRequires: maven2-plugin-war
BuildRequires: maven-jxr
BuildRequires: maven-surefire-plugin
BuildRequires: maven-surefire-report-plugin
BuildRequires: cargo-maven2-plugin
BuildRequires: dtddoc-maven2-plugin
BuildRequires: taglib-maven2-plugin
BuildRequires: bcel
BuildRequires: checkstyle4 < 0:5.0
BuildRequires: checkstyle4-optional
BuildRequires: jhighlight
BuildRequires: maven2-default-skin

BuildRequires: jakarta-taglibs-standard
BuildRequires: servlet_2_4_api
BuildRequires: jsp_2_0_api
BuildRequires: myfaces
BuildRequires: antlr
BuildRequires: jakarta-commons-beanutils
BuildRequires: jakarta-commons-digester
BuildRequires: jakarta-commons-fileupload
BuildRequires: jakarta-commons-logging
BuildRequires: jakarta-commons-validator
BuildRequires: oro
BuildRequires: xpp3-minimal


%if %{without_coreonly}
BuildRequires: bsf
BuildRequires: excalibur-avalon-framework
BuildRequires: excalibur-avalon-logkit
BuildRequires: groovy-jsr
BuildRequires: jakarta-commons-chain
BuildRequires: jakarta-commons-codec
BuildRequires: jakarta-commons-el
BuildRequires: jakarta-taglibs-standard
BuildRequires: log4j
%endif

Group:          Development/Java
%if ! %{gcj_support}
Buildarch:      noarch
%endif

Obsoletes:         struts-webapps-tomcat3 < %{epoch}:%{version}
Provides:          struts-webapps-tomcat3 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-webapps-tomcat4 < %{epoch}:%{version}
Provides:          struts-webapps-tomcat4 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-webapps-tomcat5 < %{epoch}:%{version}
Provides:          struts-webapps-tomcat5 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-chain-webapps-tomcat3 < %{epoch}:%{version}
Provides:          struts-chain-webapps-tomcat3 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-chain-webapps-tomcat4 < %{epoch}:%{version}
Provides:          struts-chain-webapps-tomcat4 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-chain-webapps-tomcat5 < %{epoch}:%{version}
Provides:          struts-chain-webapps-tomcat5 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-el-webapps-tomcat3 < %{epoch}:%{version}
Provides:          struts-el-webapps-tomcat3 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-el-webapps-tomcat4 < %{epoch}:%{version}
Provides:          struts-el-webapps-tomcat4 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-el-webapps-tomcat5 < %{epoch}:%{version}
Provides:          struts-el-webapps-tomcat5 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-faces-webapps-tomcat3 < %{epoch}:%{version}
Provides:          struts-faces-webapps-tomcat3 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-faces-webapps-tomcat4 < %{epoch}:%{version}
Provides:          struts-faces-webapps-tomcat4 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-faces-webapps-tomcat5 < %{epoch}:%{version}
Provides:          struts-faces-webapps-tomcat5 = %{epoch}:%{version}-%{release}
Obsoletes:         struts-chain < %{epoch}:%{version}
Provides:          struts-chain = %{epoch}:%{version}-%{release}
Requires: antlr
Requires: jakarta-commons-beanutils
Requires: jakarta-commons-chain
Requires: jakarta-commons-digester
Requires: jakarta-commons-fileupload
Requires: jakarta-commons-logging
Requires: jakarta-commons-validator
Requires: jsp_api
Requires: junit
Requires: servlet_api

Requires(post): jpackage-utils >= 0:1.7.5
Requires(postun): jpackage-utils >= 0:1.7.5
%if %{gcj_support}
BuildRequires: gnu-crypto
BuildRequires: java-gcj-compat-devel
Requires(post): java-gcj-compat
Requires(postun): java-gcj-compat
%endif

%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/Documentation
BuildArch: noarch

%description manual
Documentation for %{name}.

%package javadoc
Summary:        Javadoc for %{name}
Group:          Development/Documentation
BuildArch: noarch

%description javadoc
%{summary}.

%if %{without_coreonly}

%package el
Summary:        The %{name} EL extension
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
Requires: %{name}-taglib = %{version}-%{release}
Requires: %{name}-tiles = %{version}-%{release}
Prereq:         jakarta-taglibs-standard
%if %{gcj_support}
Requires(post): java-gcj-compat
Requires(postun): java-gcj-compat
%endif

%description el
%{summary}.

%package faces
Summary:        The %{name}-faces integration library
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
Requires: %{name}-taglib = %{version}-%{release}
Requires: %{name}-tiles = %{version}-%{release}
Requires: myfaces
%if %{gcj_support}
Requires(post): java-gcj-compat
Requires(postun): java-gcj-compat
%endif

%description faces
%{summary}.

%package mailreader-dao
Summary:        %{name} mailreader-dao library
Group:          Development/Java
Requires: jakarta-commons-digester
Requires: jakarta-commons-logging

%description mailreader-dao
%{summary}.

%package scripting
Summary:        %{name} scripting library
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
Requires: bsf

%description scripting
%{summary}.

%package taglib
Summary:        %{name} taglib library
Group:          Development/Java
Requires: %{name} = %{version}-%{release}

%description taglib
%{summary}.

%package tiles
Summary:        %{name} tiles library
Group:          Development/Java
Requires: %{name} = %{version}-%{release}

%description tiles
%{summary}.

%package webapp-blank
Summary:        Sample %{name} blank webapp
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
PreReq: antlr
PreReq: excalibur-avalon-framework
PreReq: excalibur-avalon-logkit
PreReq: jakarta-commons-beanutils
PreReq: jakarta-commons-chain
PreReq: jakarta-commons-digester
PreReq: jakarta-commons-logging
PreReq: jakarta-commons-validator
PreReq: log4j
PreReq: oro
PreReq: struts
PreReq: struts-taglib
PreReq: struts-tiles

%description webapp-blank
%{summary}.

%package webapp-cookbook
Summary:        Sample %{name} cookbook webapp
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
PreReq: antlr
PreReq: excalibur-avalon-framework
PreReq: excalibur-avalon-logkit
PreReq: jakarta-commons-beanutils
PreReq: jakarta-commons-chain
PreReq: jakarta-commons-digester
PreReq: jakarta-commons-logging
PreReq: jakarta-commons-validator
PreReq: log4j
PreReq: oro
PreReq: struts
PreReq: struts-taglib

%description webapp-cookbook
%{summary}.

%package webapp-el-example
Summary:        Sample %{name} EL webapp
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
PreReq: antlr
PreReq: excalibur-avalon-framework
PreReq: excalibur-avalon-logkit
PreReq: jakarta-commons-beanutils
PreReq: jakarta-commons-chain
PreReq: jakarta-commons-digester
PreReq: jakarta-commons-logging
PreReq: jakarta-commons-validator
PreReq: jakarta-taglibs-standard
PreReq: log4j
PreReq: oro
PreReq: struts
PreReq: struts-el
PreReq: struts-taglib

%description webapp-el-example
%{summary}.

%package webapp-examples
Summary:        Sample %{name} webapp
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
PreReq: antlr
PreReq: excalibur-avalon-framework
PreReq: excalibur-avalon-logkit
PreReq: jakarta-commons-beanutils
PreReq: jakarta-commons-chain
PreReq: jakarta-commons-digester
PreReq: jakarta-commons-fileupload
PreReq: jakarta-commons-logging
PreReq: jakarta-commons-validator
PreReq: jakarta-taglibs-standard
PreReq: log4j
PreReq: oro
PreReq: struts
PreReq: struts-taglib

%description webapp-examples
%{summary}.

%package webapps-faces
Summary:        Sample %{name} faces webapps
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
PreReq: antlr
PreReq: excalibur-avalon-framework
PreReq: excalibur-avalon-logkit
PreReq: jakarta-commons-beanutils
PreReq: jakarta-commons-chain
PreReq: jakarta-commons-codec
PreReq: jakarta-commons-digester
PreReq: jakarta-commons-el
PreReq: jakarta-commons-logging
PreReq: jakarta-commons-validator
PreReq: jakarta-taglibs-standard
PreReq: log4j
PreReq: myfaces
PreReq: oro
PreReq: struts
PreReq: struts-faces
PreReq: struts-taglib
PreReq: struts-tiles

%description webapps-faces
%{summary}.

%package webapp-mailreader
Summary:        Sample %{name} mailreader webapp
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
PreReq: antlr
PreReq: excalibur-avalon-framework
PreReq: excalibur-avalon-logkit
PreReq: jakarta-commons-beanutils
PreReq: jakarta-commons-chain
PreReq: jakarta-commons-digester
PreReq: jakarta-commons-logging
PreReq: jakarta-commons-validator
PreReq: log4j
PreReq: oro
PreReq: struts
PreReq: struts-mailreader-dao
PreReq: struts-taglib

%description webapp-mailreader
%{summary}.

%package webapp-scripting-mailreader
Summary:        Sample %{name} scripting mailreader webapp
Group:          Development/Java
Requires: %{name} = %{version}-%{release}
PreReq: antlr
PreReq: bsf
PreReq: excalibur-avalon-framework
PreReq: excalibur-avalon-logkit
PreReq: groovy-jsr
PreReq: jakarta-commons-beanutils
PreReq: jakarta-commons-chain
PreReq: jakarta-commons-digester
PreReq: jakarta-commons-logging
PreReq: jakarta-commons-validator
PreReq: log4j
PreReq: oro
PreReq: struts
PreReq: struts-mailreader-dao
PreReq: struts-scripting
PreReq: struts-taglib

%description webapp-scripting-mailreader
%{summary}.

%endif


%prep
%setup -q
%patch0 -b .sav0
%patch1 -b .sav1
%patch2 -b .sav2
%patch3 -b .sav3
%patch4 -b .sav4
# remove all binary libs
#find . -name "*.jar" -exec rm -f {} \;
for j in $(find . -name "*.jar"); do
   mv $j $j.no
done

%build
cp %{SOURCE1} maven2-settings.xml

sed -i -e "s|<url>__JPP_URL_PLACEHOLDER__</url>|<url>file://`pwd`/m2_repo/repository</url>|g" maven2-settings.xml
sed -i -e "s|<url>__JAVADIR_PLACEHOLDER__</url>|<url>file://`pwd`/external_repo</url>|g" maven2-settings.xml
sed -i -e "s|<url>__MAVENREPO_DIR_PLACEHOLDER__</url>|<url>file://`pwd`/m2_repo/repository</url>|g" maven2-settings.xml
sed -i -e "s|<url>__MAVENDIR_PLUGIN_PLACEHOLDER__</url>|<url>file:///usr/share/maven2/plugins</url>|g" maven2-settings.xml
sed -i -e "s|<url>__ECLIPSEDIR_PLUGIN_PLACEHOLDER__</url>|<url>file:///usr/share/eclipse/plugins</url>|g" maven2-settings.xml

mkdir external_repo
ln -s %{_javadir} external_repo/JPP

export M2SETTINGS=$(pwd)/maven2-settings.xml
export MAVEN_REPO_LOCAL=`pwd`/m2_repo/repository
mkdir -p $MAVEN_REPO_LOCAL/JPP/maven2/default_poms
cp %{SOURCE3} $MAVEN_REPO_LOCAL/JPP/maven2/default_poms/org.apache.struts-struts-master.pom

export MAVEN_OPTS="-Xmx128M"
cd src
mvn-jpp -e \
       -P apps,assembly \
       -s ${M2SETTINGS} \
       -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
       -Dmaven2.jpp.depmap.file=%{SOURCE2} \
       install

#        -Dcargo.tomcat5x.home=%{_datadir}/tomcat5 \

#        -P apps,itest,assembly \

mvn-jpp -e \
       -P apps,assembly \
       -s ${M2SETTINGS} \
       -Dmaven.repo.local=$MAVEN_REPO_LOCAL \
       -Dmaven2.jpp.depmap.file=%{SOURCE2} \
       site

#       javadoc:javadoc


%install

# jars

install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 src/core/target/%{name}-core-%{version}.jar \
       $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
%if %{without_coreonly}
install -m 644 src/el/target/%{name}-el-%{version}.jar \
       $RPM_BUILD_ROOT%{_javadir}/%{name}-el-%{version}.jar
install -m 644 src/extras/target/%{name}-extras-%{version}.jar \
       $RPM_BUILD_ROOT%{_javadir}/%{name}-extras-%{version}.jar
install -m 644 src/faces/target/%{name}-faces-%{version}.jar \
       $RPM_BUILD_ROOT%{_javadir}/%{name}-faces-%{version}.jar
install -m 644 src/mailreader-dao/target/%{name}-mailreader-dao-%{version}.jar \
       $RPM_BUILD_ROOT%{_javadir}/%{name}-mailreader-dao-%{version}.jar
install -m 644 src/scripting/target/%{name}-scripting-%{version}.jar \
       $RPM_BUILD_ROOT%{_javadir}/%{name}-scripting-%{version}.jar
install -m 644 src/taglib/target/%{name}-taglib-%{version}.jar \
       $RPM_BUILD_ROOT%{_javadir}/%{name}-taglib-%{version}.jar
install -m 644 src/tiles/target/%{name}-tiles-%{version}.jar \
       $RPM_BUILD_ROOT%{_javadir}/%{name}-tiles-%{version}.jar
%endif
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/}; done)
pushd $RPM_BUILD_ROOT%{_javadir}
ln -s %{_datadir}/%{name}/apps struts-apps
popd

# poms and depmap frags

install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms
install -m 644 src/apps/blank/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.struts-apps-blank.pom
%add_to_maven_depmap org.apache.struts %{name}-blank %{version} JPP/%{name}-apps blank
install -m 644 src/apps/cookbook/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.struts-apps-cookbook.pom
%add_to_maven_depmap org.apache.struts %{name}-cookbook %{version} JPP/%{name}-apps cookbook
install -m 644 src/apps/el-example/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.struts-apps-el-example.pom
%add_to_maven_depmap org.apache.struts %{name}-el %{version} JPP/%{name}-apps el-example
install -m 644 src/apps/examples/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.struts-apps-examples.pom
%add_to_maven_depmap org.apache.struts %{name}-examples %{version} JPP/%{name}-apps examples
install -m 644 src/apps/faces-example1/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.struts-apps-faces-example1.pom
%add_to_maven_depmap org.apache.struts %{name}-faces-example1 %{version} JPP/%{name}-apps faces-example1
install -m 644 src/apps/faces-example2/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.struts-apps-faces-example2.pom
%add_to_maven_depmap org.apache.struts %{name}-faces-example2 %{version} JPP/%{name}-apps faces-example2
install -m 644 src/apps/mailreader/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.struts-apps-mailreader.pom
%add_to_maven_depmap org.apache.struts %{name}-mailreader %{version} JPP/%{name}-apps mailreader
install -m 644 src/apps/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-apps.pom
%add_to_maven_depmap org.apache.struts %{name}-apps %{version} JPP %{name}-apps
install -m 644 src/apps/scripting-mailreader/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.struts-apps-scripting-mailreader.pom
%add_to_maven_depmap org.apache.struts %{name}-scripting-mailreader %{version} JPP/%{name}-apps scripting-mailreader
install -m 644 src/assembly/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-assembly.pom
%add_to_maven_depmap org.apache.struts %{name}-assembly %{version} JPP %{name}-assembly
install -m 644 src/core/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts.pom
%add_to_maven_depmap org.apache.struts %{name}-core %{version} JPP %{name}
install -m 644 src/el/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-el.pom
%add_to_maven_depmap org.apache.struts %{name}-el %{version} JPP %{name}-el
install -m 644 src/extras/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-extras.pom
%add_to_maven_depmap org.apache.struts %{name}-extras %{version} JPP %{name}-extras
install -m 644 src/faces/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-faces.pom
%add_to_maven_depmap org.apache.struts %{name}-faces %{version} JPP %{name}-faces
install -m 644 src/integration/apps-it/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-it-apps.pom
%add_to_maven_depmap org.apache.struts %{name}-it-apps %{version} JPP %{name}-it-apps
install -m 644 src/integration/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-it.pom
%add_to_maven_depmap org.apache.struts %{name}-it %{version} JPP %{name}-it
install -m 644 src/mailreader-dao/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-mailreader-dao.pom
%add_to_maven_depmap org.apache.struts %{name}-mailreader-dao %{version} JPP %{name}-mailreader-dao
install -m 644 src/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-parent.pom
%add_to_maven_depmap org.apache.struts %{name}-parent %{version} JPP %{name}-parent
install -m 644 src/scripting/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-scripting.pom
%add_to_maven_depmap org.apache.struts %{name}-scripting %{version} JPP %{name}-scripting
install -m 644 src/taglib/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-taglib.pom
%add_to_maven_depmap org.apache.struts %{name}-taglib %{version} JPP %{name}-taglib
install -m 644 src/tiles/pom.xml \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-tiles.pom
%add_to_maven_depmap org.apache.struts %{name}-tiles %{version} JPP %{name}-tiles

install -m 644 %{SOURCE3} \
       $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-struts-master.pom
%add_to_maven_depmap org.apache.struts %{name}-master %{version} JPP %{name}-master

# javadoc

install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr src/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
rm -rf src/target/site/apidocs

# data

install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}

install -m 644 src/tiles/src/main/resources/META-INF/tld/struts*.tld $RPM_BUILD_ROOT%{_datadir}/%{name}
install -m 644 src/taglib/src/main/resources/META-INF/tld/struts*.tld $RPM_BUILD_ROOT%{_datadir}/%{name}
install -m 644 src/el/src/main/resources/META-INF/tld/struts*.tld $RPM_BUILD_ROOT%{_datadir}/%{name}
install -m 644 src/faces/src/main/resources/META-INF/tld/struts*.tld $RPM_BUILD_ROOT%{_datadir}/%{name}

install -m 644 docs/dtds/struts*.dtd $RPM_BUILD_ROOT%{_datadir}/%{name}
install -m 644 docs/dtds/tiles*.dtd $RPM_BUILD_ROOT%{_datadir}/%{name}

install -m 644 src/core/src/main/resources/org/apache/struts/validator/vali*.xml $RPM_BUILD_ROOT%{_datadir}/%{name}


%if %{without_coreonly}

echo $RPM_BUILD_DIR
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/apps
pushd $RPM_BUILD_ROOT%{_datadir}/%{name}/apps
mkdir blank
pushd blank
unzip $RPM_BUILD_DIR/%{name}-%{version}/src/assembly/target/apps/struts-blank-%{version}.war
rm WEB-INF/lib/*
popd
mkdir cookbook
pushd cookbook
unzip $RPM_BUILD_DIR/%{name}-%{version}/src/assembly/target/apps/struts-cookbook-%{version}.war
rm WEB-INF/lib/*
popd
mkdir el-example
pushd el-example
unzip $RPM_BUILD_DIR/%{name}-%{version}/src/assembly/target/apps/struts-el-example-%{version}.war
rm WEB-INF/lib/*
popd
mkdir examples
pushd examples
unzip $RPM_BUILD_DIR/%{name}-%{version}/src/assembly/target/apps/struts-examples-%{version}.war
rm WEB-INF/lib/*
popd
mkdir faces-example1
pushd faces-example1
unzip $RPM_BUILD_DIR/%{name}-%{version}/src/assembly/target/apps/struts-faces-example1-%{version}.war
rm WEB-INF/lib/*
popd
mkdir faces-example2
pushd faces-example2
unzip $RPM_BUILD_DIR/%{name}-%{version}/src/assembly/target/apps/struts-faces-example2-%{version}.war
rm WEB-INF/lib/*
popd
mkdir mailreader
pushd mailreader
unzip $RPM_BUILD_DIR/%{name}-%{version}/src/assembly/target/apps/struts-mailreader-%{version}.war
rm WEB-INF/lib/*
popd
mkdir scripting-mailreader
pushd scripting-mailreader
unzip $RPM_BUILD_DIR/%{name}-%{version}/src/assembly/target/apps/struts-scripting-mailreader-%{version}.war
rm WEB-INF/lib/*
popd
popd

%endif

# core docs

install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/docs
cp -p {LICENSE.txt,NOTICE.txt} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
cp -pr docs $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}

%if %{gcj_support}
export CLASSPATH=$(build-classpath gnu-crypto)
%{_bindir}/aot-compile-rpm
%endif
rm -rf $RPM_BUILD_ROOT/var/lib/tomcat?/webapps/struts-documentation/download.cgi
%if %{without_coreonly}

%post webapp-blank
build-jar-repository %{_datadir}/%{name}/apps/blank/WEB-INF/lib \
antlr \
commons-beanutils \
commons-chain \
commons-digester \
commons-logging \
commons-validator \
excalibur/avalon-framework \
excalibur/avalon-logkit \
log4j \
oro \
struts \
struts-taglib \
struts-tiles

%preun webapp-blank
rm -f %{_datadir}/%{name}/apps/blank/WEB-INF/lib/*

%post webapp-cookbook
build-jar-repository %{_datadir}/%{name}/apps/cookbook/WEB-INF/lib \
antlr \
commons-beanutils \
commons-chain \
commons-digester \
commons-logging \
commons-validator \
excalibur/avalon-framework \
excalibur/avalon-logkit \
log4j \
oro \
struts \
struts-taglib

%preun webapp-cookbook
rm -f %{_datadir}/%{name}/apps/cookbook/WEB-INF/lib/*

%post webapp-el-example
build-jar-repository %{_datadir}/%{name}/apps/el-example/WEB-INF/lib \
antlr \
commons-beanutils \
commons-chain \
commons-digester \
commons-logging \
commons-validator \
excalibur/avalon-framework \
excalibur/avalon-logkit \
log4j \
oro \
struts \
struts-el \
struts-taglib \
taglibs-core \
taglibs-standard

%preun webapp-el-example
rm -f %{_datadir}/%{name}/apps/el-example/WEB-INF/lib/*

%post webapp-examples
build-jar-repository %{_datadir}/%{name}/apps/examples/WEB-INF/lib \
antlr \
commons-beanutils \
commons-chain \
commons-digester \
commons-fileupload \
commons-logging \
commons-validator \
excalibur/avalon-framework \
excalibur/avalon-logkit \
log4j \
oro \
struts \
struts-extras \
struts-taglib \
taglibs-core \
taglibs-standard

%preun webapp-examples
rm -f %{_datadir}/%{name}/apps/examples/WEB-INF/lib/*

%post webapps-faces
build-jar-repository %{_datadir}/%{name}/apps/faces-example1/WEB-INF/lib \
antlr \
commons-beanutils \
commons-chain \
commons-codec \
commons-digester \
commons-el \
commons-logging \
commons-validator \
excalibur/avalon-framework \
excalibur/avalon-logkit \
log4j \
myfaces/myfaces-all \
myfaces/myfaces-impl \
myfaces/myfaces-jsf-api \
oro \
struts \
struts-faces \
struts-taglib \
struts-tiles \
taglibs-core \
taglibs-standard

build-jar-repository %{_datadir}/%{name}/apps/faces-example2/WEB-INF/lib \
antlr \
commons-beanutils \
commons-chain \
commons-codec \
commons-digester \
commons-el \
commons-logging \
commons-validator \
excalibur/avalon-framework \
excalibur/avalon-logkit \
log4j \
myfaces/myfaces-all \
myfaces/myfaces-impl \
myfaces/myfaces-jsf-api \
oro \
struts \
struts-faces \
struts-taglib \
struts-tiles \
taglibs-core \
taglibs-standard

%preun webapps-faces
rm -f %{_datadir}/%{name}/apps/faces-example1/WEB-INF/lib/*
rm -f %{_datadir}/%{name}/apps/faces-example2/WEB-INF/lib/*

%post webapp-mailreader
build-jar-repository %{_datadir}/%{name}/apps/mailreader/WEB-INF/lib \
antlr \
commons-beanutils \
commons-chain \
commons-digester \
commons-logging \
commons-validator \
excalibur/avalon-framework \
excalibur/avalon-logkit \
log4j \
oro \
struts \
struts-extras \
struts-mailreader-dao \
struts-taglib

%preun webapp-mailreader
rm -f %{_datadir}/%{name}/apps/mailreader/WEB-INF/lib/*

%post webapp-scripting-mailreader
build-jar-repository %{_datadir}/%{name}/apps/scripting-mailreader/WEB-INF/lib \
antlr \
bsf \
commons-beanutils \
commons-chain \
commons-digester \
commons-logging \
commons-validator \
excalibur/avalon-framework \
excalibur/avalon-logkit \
groovy-jsr \
log4j \
oro \
struts \
struts-extras \
struts-mailreader-dao \
struts-scripting \
struts-taglib

%preun webapp-scripting-mailreader
rm -f %{_datadir}/%{name}/apps/scripting-mailreader/WEB-INF/lib/*
%endif

%files
%doc %{_docdir}/%{name}-%{version}/*.txt
%{_javadir}/%{name}-apps
%{_javadir}/%{name}-%{version}.jar
%{_javadir}/%{name}.jar
%{_javadir}/%{name}-extras-%{version}.jar
%{_javadir}/%{name}-extras.jar
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/*.dtd
%dir %{_datadir}/%{name}/*.tld
%dir %{_datadir}/%{name}/*.xml
%dir %{_datadir}/%{name}/apps
%{_datadir}/maven2/poms/*
%{_mavendepmapfragdir}/*
%if %{gcj_support}
%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
%{_libdir}/gcj/%{name}/%{name}-%{version}.jar.*
%endif
# hack; explicitly added docdir if not owned
%doc %dir %{_docdir}/%{name}-%{version}

%files manual
%dir %{_docdir}/%{name}-%{version}
%doc %{_docdir}/%{name}-%{version}/docs
# hack; explicitly added docdir if not owned
%doc %dir %{_docdir}/%{name}-%{version}

%files javadoc
%doc %{_javadocdir}/%{name}-%{version}
%doc %{_javadocdir}/%{name}

%files el
%{_javadir}/%{name}-el-%{version}.jar
%{_javadir}/%{name}-el.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-el-%{version}.jar.*
%endif

%files faces
%{_javadir}/%{name}-faces-%{version}.jar
%{_javadir}/%{name}-faces.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-faces-%{version}.jar.*
%endif

%files mailreader-dao
%{_javadir}/%{name}-mailreader-dao-%{version}.jar
%{_javadir}/%{name}-mailreader-dao.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-mailreader-dao-%{version}.jar.*
%endif

%files scripting
%{_javadir}/%{name}-scripting-%{version}.jar
%{_javadir}/%{name}-scripting.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-scripting-%{version}.jar.*
%endif

%files taglib
%{_javadir}/%{name}-taglib-%{version}.jar
%{_javadir}/%{name}-taglib.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-taglib-%{version}.jar.*
%endif

%files tiles
%{_javadir}/%{name}-tiles-%{version}.jar
%{_javadir}/%{name}-tiles.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-tiles-%{version}.jar.*
%endif

%files webapp-blank
%{_datadir}/%{name}/apps/blank

%files webapp-cookbook
%{_datadir}/%{name}/apps/cookbook

%files webapp-el-example
%{_datadir}/%{name}/apps/el-example

%files webapp-examples
%{_datadir}/%{name}/apps/examples

%files webapps-faces
%{_datadir}/%{name}/apps/faces-example1
%{_datadir}/%{name}/apps/faces-example2

%files webapp-mailreader
%{_datadir}/%{name}/apps/mailreader

%files webapp-scripting-mailreader
%{_datadir}/%{name}/apps/scripting-mailreader


%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin