[maven2] Stip down maven 2 to bare minimum

Stanislav Ochotnicky sochotni at fedoraproject.org
Wed Jan 25 16:58:34 UTC 2012


commit d5056b3cbfabef27904189307c77f312d95ff46e
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Wed Jan 25 17:48:05 2012 +0100

    Stip down maven 2 to bare minimum
    
    - Remove scripts and most of home

 maven2.spec |  269 +++-------------------------------------------------------
 1 files changed, 14 insertions(+), 255 deletions(-)
---
diff --git a/maven2.spec b/maven2.spec
index 94fabf1..bd4af8f 100644
--- a/maven2.spec
+++ b/maven2.spec
@@ -3,7 +3,7 @@
 
 Name:	    maven2
 Version:	2.2.1
-Release:	31%{?dist}
+Release:	32%{?dist}
 Summary:	Java project management and project comprehension tool
 
 Group:		Development/Build Tools
@@ -62,8 +62,6 @@ Patch6:     %{name}-%{version}-strip-jackrabbit-dep.patch
 Patch7:     %{name}-%{version}-classworlds.patch
 
 BuildRequires: java-devel >= 1.6.0
-BuildRequires: classworlds
-BuildRequires: jdom
 
 %if %{bootstrap}
 BuildRequires: ant
@@ -79,152 +77,18 @@ BuildRequires: jakarta-commons-httpclient
 BuildRequires: apache-commons-io
 BuildRequires: apache-commons-lang
 BuildRequires: apache-commons-logging
-%if ! (0%{?fedora} > 14 || 0%{?rhel} > 6)
-BuildRequires: jakarta-commons-cli
-BuildRequires: jakarta-commons-collections
-%else
 BuildRequires: apache-commons-cli
 BuildRequires: apache-commons-collections
 BuildRequires: apache-commons-parent
-%endif
-BuildRequires: easymock
-BuildRequires: junit
-BuildRequires: nekohtml
-BuildRequires: ant
-BuildRequires: maven-doxia
-BuildRequires: jetty
-BuildRequires: maven-archiver
-BuildRequires: maven-assembly-plugin
-BuildRequires: maven-doxia-tools
-BuildRequires: maven-enforcer-api
+BuildRequires: maven
 BuildRequires: maven-enforcer-plugin
 BuildRequires: maven-shade-plugin
-BuildRequires: maven-clean-plugin
-BuildRequires: maven-compiler-plugin
-BuildRequires: maven-resources-plugin
-BuildRequires: maven-install-plugin
-BuildRequires: maven-jar-plugin
-BuildRequires: maven-plugin-testing-harness
-BuildRequires: maven-pmd-plugin
-BuildRequires: maven-shared-file-management
-BuildRequires: maven-shared-common-artifact-filters
-BuildRequires: maven-shared-dependency-tree
-BuildRequires: maven-shared-repository-builder
-BuildRequires: maven-shared-io
-BuildRequires: maven-shared-downloader
-BuildRequires: maven-shared-filtering
-BuildRequires: maven-shared-reporting-api
-BuildRequires: maven-site-plugin
-BuildRequires: maven-surefire-maven-plugin
-BuildRequires: maven-surefire-provider-junit
-BuildRequires: maven-scm
-BuildRequires: maven-wagon
-BuildRequires: modello
-BuildRequires: multithreadedtc
-BuildRequires: plexus-active-collections
-BuildRequires: plexus-ant-factory
-BuildRequires: plexus-archiver
-BuildRequires: plexus-cipher
-BuildRequires: plexus-bsh-factory
-BuildRequires: plexus-build-api
-BuildRequires: plexus-classworlds
-BuildRequires: plexus-compiler
-BuildRequires: plexus-component-api
-BuildRequires: plexus-containers-container-default
-BuildRequires: plexus-container-default
-BuildRequires: plexus-i18n
-BuildRequires: plexus-interactivity
-BuildRequires: plexus-interpolation
-BuildRequires: plexus-io
-BuildRequires: plexus-resources
-BuildRequires: plexus-sec-dispatcher
-BuildRequires: plexus-utils
-BuildRequires: plexus-velocity
-BuildRequires: regexp
-BuildRequires: forge-parent
-BuildRequires: spice-parent
-BuildRequires: jakarta-oro
-BuildRequires: regexp
-BuildRequires: slf4j
-BuildRequires: velocity
-BuildRequires: maven
-# this is only to temp fix problems in other packages
-BuildRequires: maven2
 %endif
 
 Requires: classworlds
 Requires: jdom
 
 %if !%{bootstrap}
-Requires: apache-resource-bundles
-Requires: objectweb-asm
-Requires: backport-util-concurrent
-Requires: bsh
-Requires: jsch
-Requires: apache-commons-codec
-Requires: jakarta-commons-httpclient
-Requires: apache-commons-io
-Requires: apache-commons-lang
-Requires: apache-commons-logging
-%if ! (0%{?fedora} > 14 || 0%{?rhel} > 6)
-Requires: jakarta-commons-cli
-Requires: jakarta-commons-collections
-%else
-Requires: apache-commons-cli
-Requires: apache-commons-collections
-Requires: apache-commons-parent
-%endif
-Requires: easymock
-Requires: junit
-Requires: nekohtml
-Requires: ant
-Requires: maven-doxia
-Requires: jetty
-Requires: maven-archiver
-Requires: maven-doxia-tools
-Requires: maven-enforcer-api
-Requires: maven-enforcer-plugin
-Requires: maven-plugin-testing-harness
-Requires: maven-shared-file-management
-Requires: maven-shared-common-artifact-filters
-Requires: maven-shared-dependency-tree
-Requires: maven-shared-repository-builder
-Requires: maven-shared-io
-Requires: maven-shared-downloader
-Requires: maven-shared-filtering
-Requires: maven-shared-reporting-api
-Requires: maven-surefire-provider-junit
-Requires: maven-scm
-Requires: maven-wagon
-Requires: modello
-Requires: multithreadedtc
-Requires: jakarta-oro
-Requires: plexus-active-collections
-Requires: plexus-ant-factory
-Requires: plexus-archiver
-Requires: plexus-cipher
-Requires: plexus-bsh-factory
-Requires: plexus-build-api
-Requires: plexus-classworlds
-Requires: plexus-compiler
-Requires: plexus-component-api
-Requires: plexus-containers-container-default
-Requires: plexus-container-default
-Requires: plexus-i18n
-Requires: plexus-interactivity
-Requires: plexus-interpolation
-Requires: plexus-io
-Requires: plexus-resources
-Requires: plexus-sec-dispatcher
-Requires: plexus-utils
-Requires: plexus-velocity
-Requires: regexp
-Requires: forge-parent
-Requires: spice-parent
-Requires: jakarta-oro
-Requires: regexp
-Requires: slf4j
-Requires: velocity
 Requires: maven-artifact-manager = %{version}-%{release}
 Requires: maven-error-diagnostics = %{version}-%{release}
 Requires: maven-model = %{version}-%{release}
@@ -311,6 +175,7 @@ Requires:       jpackage-utils
 Requires:       maven-artifact-manager
 Requires:       maven-profile
 Requires:       maven-plugin-registry
+Requires:       maven-model
 Requires:       plexus-interpolation
 Requires:       plexus-utils
 Requires:       plexus-containers-container-default
@@ -421,20 +286,16 @@ ant -Dmaven.repo.local=$M2_REPO/cache
 # FIXME: These tests fail when building with maven for an unknown reason
 rm -f maven-core/src/test/java/org/apache/maven/WagonSelectorTest.java
 rm -f maven-artifact-manager/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
-mvn-rpmbuild -Dmaven.test.skip=true -P all-models -Dmaven.repo.local=$M2_REPO/cache -Dmaven.local.depmap.file=%{SOURCE103} install
+for nobuild in apache-maven maven-artifact-test \
+               maven-compat maven-core maven-plugin-api \
+               maven-plugin-parameter-documenter maven-reporting \
+               maven-script;do
+    sed -i "s:<module>$nobuild</module>::"  pom.xml
+done
+mvn-rpmbuild -X -Dmaven.test.skip=true -P all-models -Dmaven.repo.local=$(pwd)/.m2 -Dmaven.local.depmap.file=%{SOURCE103} install
 %endif
 
 %install
-rm -rf $RPM_BUILD_ROOT
-
-export M2_HOME=$(pwd)/installation/apache-maven-%{version}
-
-rm -rf $M2_HOME
-
-mkdir -p $(pwd)/installation/
-(cd $(pwd)/installation/
-tar jxf ../apache-maven/target/*bz2
-)
 
 # maven2 directory in /usr/share/java
 install -dm 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
@@ -444,42 +305,6 @@ install -dm 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
 ###########
 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
 
-###############
-# M2_HOME/bin #
-###############
-install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/bin
-cp -a $M2_HOME/bin/* $RPM_BUILD_ROOT%{_datadir}/%{name}/bin
-
-# Remove unnecessary batch scripts
-rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/bin/*.bat
-
-# Update conf file for unversioned jar names
-sed -i -e s:'-classpath "${M2_HOME}"/boot/classworlds-\*.jar':'-classpath "${M2_HOME}"/boot/classworlds.jar':g \
-        $RPM_BUILD_ROOT%{_datadir}/%{name}/bin/mvn $RPM_BUILD_ROOT%{_datadir}/%{name}/bin/mvnDebug
-
-################
-# M2_HOME/boot #
-################
-install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/boot
-%if %{bootstrap}
-cp -a $M2_HOME/boot/* $RPM_BUILD_ROOT%{_datadir}/%{name}/boot/
-%endif
-
-################
-# M2_HOME/conf #
-################
-install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/conf
-cp -a $M2_HOME/conf/* $RPM_BUILD_ROOT%{_datadir}/%{name}/conf/
-
-###############
-# M2_HOME/lib #
-###############
-install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/lib
-
-install -p -m 644 $M2_HOME/lib/maven-%{version}-uber.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/uber-%{version}.jar
-ln -s uber-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/uber.jar
-ln -s %{_javadir}/%{name}/uber.jar $RPM_BUILD_ROOT%{_datadir}/%{name}/lib/maven-%{version}-uber.jar
-
 ################
 # M2_HOME/poms #
 #*##############
@@ -515,13 +340,6 @@ install -dm 755 $RPM_BUILD_ROOT%{_bindir}
 install -m 644 %{SOURCE104} $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.maven2-empty-dep.pom
 install -m 644 %{SOURCE105} $RPM_BUILD_ROOT%{_javadir}/%{name}/empty-dep.jar
 
-# Wrappers
-/bin/cp -af %{SOURCE200} $RPM_BUILD_ROOT%{_bindir}/mvn2
-/bin/cp -af %{SOURCE201} $RPM_BUILD_ROOT%{_bindir}/mvn-jpp
-
-%if %{bootstrap}
-    cp -af `pwd`/.m2/repository $RPM_BUILD_ROOT%{_datadir}/%{name}/bootstrap_repo
-%endif
 
 ###################
 # Individual jars #
@@ -542,41 +360,6 @@ done
 
 
 
-for file in \
-    maven-script/maven-script-ant/target/maven-script-ant-%{version}.jar \
-    maven-script/maven-script-beanshell/target/maven-script-beanshell-%{version}.jar \
-    apache-maven/target/apache-maven-%{version}.jar \
-    maven-artifact-test/target/maven-artifact-test-%{version}.jar \
-    maven-settings/target/maven-settings-%{version}.jar \
-    maven-plugin-parameter-documenter/target/maven-plugin-parameter-documenter-%{version}.jar \
-    maven-artifact/target/maven-artifact-%{version}.jar \
-    maven-repository-metadata/target/maven-repository-metadata-%{version}.jar \
-    maven-plugin-api/target/maven-plugin-api-%{version}.jar \
-    maven-compat/target/maven-compat-%{version}.jar \
-    maven-core/target/maven-core-%{version}.jar \
-    maven-plugin-descriptor/target/maven-plugin-descriptor-%{version}.jar; do \
-
-        FNAME=`basename $file`
-        FNAME_NO_EXT=`basename $file .jar`
-        DIR=`dirname $file`
-        UNVER_NAME=`basename $file | sed -e s:-%{version}::g`
-        UNVER_NAME_WITH_NO_EXT=`echo $FNAME_NO_EXT | sed -e s:-%{version}::g`
-        ARTIFACT=`basename \`dirname $DIR\``
-
-
-        pushd $DIR
-          install -m 644 $FNAME $RPM_BUILD_ROOT%{_javadir}/%{name}/$UNVER_NAME
-          install -m 644 ../pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-$UNVER_NAME_WITH_NO_EXT.pom
-          %add_to_maven_depmap org.apache.maven $ARTIFACT %{version} JPP/%{name} $UNVER_NAME_WITH_NO_EXT
-        popd
-done
-
-# maven-reporting-api
-install -m 644  maven-reporting/maven-reporting-api/target/maven-reporting-api-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/
-ln -s maven-reporting-api-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/maven-reporting-api.jar
-install -m 644 maven-reporting/maven-reporting-api/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-maven-reporting-api.pom
-%add_to_maven_depmap org.apache.maven.reporting maven-reporting-api %{version} JPP/%{name} maven-reporting-api
-
 # maven-reporting pom
 install -m 644 maven-reporting/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-maven-reporting.pom
 %add_to_maven_depmap org.apache.maven.reporting maven-reporting %{version} JPP/%{name} maven-reporting
@@ -585,32 +368,9 @@ install -m 644 maven-reporting/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/J
 install -m 644 pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-maven.pom
 %add_to_maven_depmap org.apache.maven maven %{version} JPP/%{name} maven
 
-# create dangling symlinks but fix bz#613866
-(cd $RPM_BUILD_ROOT%{_datadir}/%{name}/lib
-  build-jar-repository -s -p . jdom
-)
-
-(cd $RPM_BUILD_ROOT%{_datadir}/%{name}/boot
-  build-jar-repository -s -p . classworlds
-)
-
-%if ! %{bootstrap}
-(cd $RPM_BUILD_ROOT%{_datadir}/%{name}/lib
-  build-jar-repository -s -p . backport-util-concurrent jsch commons-cli commons-httpclient commons-codec nekohtml maven-shared/reporting-api maven-doxia/logging-api maven-doxia/sink-api maven-wagon/file maven-wagon/http maven-wagon/http-lightweight maven-wagon/http-shared maven-wagon/provider-api maven-wagon/ssh maven-wagon/ssh-common maven-wagon/ssh-external plexus/container-default plexus/interactivity-api plexus/interpolation plexus/utils slf4j/jcl-over-slf4j slf4j/api slf4j/jdk14 slf4j/nop plexus/plexus-cipher plexus/plexus-sec-dispatcher xerces-j2 xml-commons-apis
-)
-%endif
 
 %files
-%attr(0755,root,root) %{_bindir}/mvn2
-%attr(0755,root,root) %{_bindir}/mvn-jpp
 %dir %{_datadir}/%{name}
-%dir %{_datadir}/%{name}/bin
-%config(noreplace) %{_datadir}/%{name}/bin/*.conf
-%attr(0755,root,root) %{_datadir}/%{name}/bin/mvn
-%attr(0755,root,root) %{_datadir}/%{name}/bin/mvnDebug
-%{_datadir}/%{name}/boot
-%{_datadir}/%{name}/conf
-%{_datadir}/%{name}/lib
 %{_datadir}/%{name}/poms
 %exclude %{_datadir}/%{name}/poms/JPP.%{name}-maven-artifact-manager.pom
 %exclude %{_datadir}/%{name}/poms/JPP.%{name}-maven-error-diagnostics.pom
@@ -635,11 +395,6 @@ install -m 644 pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-maven
 %exclude %{_javadir}/%{name}/maven-plugin-descriptor.jar
 
 
-%if %{bootstrap}
-%{_datadir}/%{name}/bootstrap_repo
-%endif
-%doc
-
 %files -n maven-artifact-manager
 %{_mavendepmapfragdir}/maven-artifact-manager
 %{_javadir}/%{name}/maven-artifact-manager.jar
@@ -687,6 +442,10 @@ install -m 644 pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-maven
 
 
 %changelog
+* Wed Jan 25 2012 Stanislav Ochotnicky <sochotnicky at redhat.com> - 2.2.1-32
+- Stip down maven 2 to bare minimum
+- Remove scripts and most of home
+
 * Mon Jan 23 2012 Tomas Radej <tradej at redhat.com> - 2.2.1-31
 - Fixed Requires for plugin-descriptor
 


More information about the scm-commits mailing list