This is an automated email from the git hooks/post-receive script. rockclimb-guest pushed a commit to branch master in repository maven-indexer.
commit 6b69c2e9019f60b8b6d4c5ad45e2bdde29f96d81 Author: Andrew Ross <[email protected]> Date: Mon Oct 28 22:48:29 2013 +0000 Imported Debian patch 5.1.1-1 --- debian/README.debian | 6 ++ debian/README.source | 9 ++ debian/changelog | 5 ++ debian/compat | 1 + debian/control | 24 +++++ debian/copyright | 18 ++++ debian/libmaven-indexer-java.poms | 31 +++++++ debian/maven.cleanIgnoreRules | 1 + debian/maven.ignoreRules | 14 +++ debian/maven.properties | 5 ++ debian/maven.publishedRules | 5 ++ debian/maven.rules | 36 ++++++++ debian/orig-tar.sh | 16 ++++ debian/patches/classpath.patch | 26 ++++++ debian/patches/disable-truezip.patch | 72 +++++++++++++++ debian/patches/no-archetype.patch | 164 ++++++++++++++++++++++++++++++++++ debian/patches/series | 3 + debian/rules | 10 +++ debian/source/format | 1 + debian/watch | 4 + 20 files changed, 451 insertions(+) diff --git a/debian/README.debian b/debian/README.debian new file mode 100644 index 0000000..b0cf4aa --- /dev/null +++ b/debian/README.debian @@ -0,0 +1,6 @@ +Maven-Indexer for Debian +------------------------ +This package has been slightly simplified from the upstream version +through the use of two patches. Truezip is not a supported zip +provider in this package, and support for Maven archetypes has been +disabled. diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000..702ce2b --- /dev/null +++ b/debian/README.source @@ -0,0 +1,9 @@ +Information about maven-indexer +------------------------------ + +This package was debianized using the mh_make command +from the maven-debian-helper package. + +The build system uses Maven but prevents it from downloading +anything from the Internet, making the build compliant with +the Debian policy. diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..dd78907 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +maven-indexer (5.1.1-1) unstable; urgency=low + + * Initial release (Closes: #723038) + + -- Andrew Ross <[email protected]> Mon, 28 Oct 2013 22:48:29 +0000 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..878baf3 --- /dev/null +++ b/debian/control @@ -0,0 +1,24 @@ +Source: maven-indexer +Section: java +Priority: optional +Maintainer: Debian Java Maintainers <[email protected]> +Uploaders: Andrew Ross <[email protected]> +Build-Depends: debhelper (>= 7), cdbs, default-jdk, maven-debian-helper (>= 1.5) +Build-Depends-Indep: libplexus-component-metadata-java, + libaether-java, libcommons-cli-java, liblucene3-contrib-java, liblucene3-java, + libmaven-parent-java (>= 21), libplexus-cli-java, libplexus-containers1.5-java (>= 1.5.5), + libplexus-utils2-java, libsisu-ioc-java (>= 2.2.3), maven2 +Standards-Version: 3.9.4 +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-java/maven-indexer.git +Vcs-Git: git://anonscm.debian.org/pkg-java/maven-indexer.git +Homepage: http://maven.apache.org/maven-indexer/ + +Package: libmaven-indexer-java +Architecture: all +Depends: ${misc:Depends}, ${maven:Depends} +Recommends: ${maven:OptionalDepends} +Description: Maven :: Indexer + Apache Maven Indexer (former Sonatype Nexus Indexer) is the defacto standard + for producing indexes of Maven repositories. The Indexes are produced and + consumed by all major tools in the ecosystem. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..cf67c92 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,18 @@ +Format: http://dep.debian.net/deps/dep5/ +Upstream-Name: Maven :: Indexer +Upstream-Contact: https://builds.apache.org/job/maven-indexer/ +Source: http://maven.apache.org/maven-indexer/ + +Files: * +Copyright: 2002-2013, The Apache Software Foundation +License: Apache-2.0 + +Files: debian/* +Copyright: 2013, Andrew Ross <[email protected]> +License: Apache-2.0 + +License: Apache-2.0 + On Debian GNU/Linux system you can find the complete text of the + Apache-2.0 license in '/usr/share/common-licenses/Apache-2.0' + + diff --git a/debian/libmaven-indexer-java.poms b/debian/libmaven-indexer-java.poms new file mode 100644 index 0000000..f2fd0f5 --- /dev/null +++ b/debian/libmaven-indexer-java.poms @@ -0,0 +1,31 @@ +# List of POM files for the package +# Format of this file is: +# <path to pom file> [option]* +# where option can be: +# --ignore: ignore this POM and its artifact if any +# --ignore-pom: don't install the POM. To use on POM files that are created +# temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms] +# --no-parent: remove the <parent> tag from the POM +# --package=<package>: an alternative package to use when installing this POM +# and its artifact +# --has-package-version: to indicate that the original version of the POM is the same as the upstream part +# of the version for the package. +# --keep-elements=<elem1,elem2>: a list of XML elements to keep in the POM +# during a clean operation with mh_cleanpom or mh_installpom +# --artifact=<path>: path to the build artifact associated with this POM, +# it will be installed when using the command mh_install. [mh_install] +# --java-lib: install the jar into /usr/share/java to comply with Debian +# packaging guidelines +# --usj-name=<name>: name to use when installing the library in /usr/share/java +# --usj-version=<version>: version to use when installing the library in /usr/share/java +# --no-usj-versionless: don't install the versionless link in /usr/share/java +# --dest-jar=<path>: the destination for the real jar. +# It will be installed with mh_install. [mh_install] +# --classifier=<classifier>: Optional, the classifier for the jar. Empty by default. +# --site-xml=<location>: Optional, the location for site.xml if it needs to be installed. +# Empty by default. [mh_install] +# +pom.xml --has-package-version +indexer-core/pom.xml --has-package-version --java-lib --usj-name=maven-indexer-core +indexer-artifact/pom.xml --has-package-version --java-lib --usj-name=maven-indexer-artifact +indexer-cli/pom.xml --has-package-version --java-lib --usj-name=maven-indexer-cli diff --git a/debian/maven.cleanIgnoreRules b/debian/maven.cleanIgnoreRules new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/debian/maven.cleanIgnoreRules @@ -0,0 +1 @@ + diff --git a/debian/maven.ignoreRules b/debian/maven.ignoreRules new file mode 100644 index 0000000..ce5447e --- /dev/null +++ b/debian/maven.ignoreRules @@ -0,0 +1,14 @@ + +junit junit * * * * +org.apache.maven.archetype archetype-common * * * * +org.apache.maven.plugins maven-failsafe-plugin * * * * +org.apache.maven.plugins maven-javadoc-plugin * * * * +org.apache.maven.plugins maven-shade-plugin * * * * +org.apache.maven.plugins maven-surefire-plugin * * * * +org.apache.maven.wagon wagon-http-lightweight * * * * +org.apache.rat apache-rat-plugin * * * * +org.codehaus.mojo animal-sniffer-maven-plugin * * * * +org.jmock jmock * * * * +org.mortbay.jetty jetty * * * * +org.sonatype.plugins port-allocator-maven-plugin * * * * +de.schlichtherle.truezip * * * * * diff --git a/debian/maven.properties b/debian/maven.properties new file mode 100644 index 0000000..e593715 --- /dev/null +++ b/debian/maven.properties @@ -0,0 +1,5 @@ +# Include here properties to pass to Maven during the build. +# For example: +# maven.test.skip=true + +maven.test.skip=true diff --git a/debian/maven.publishedRules b/debian/maven.publishedRules new file mode 100644 index 0000000..585a96b --- /dev/null +++ b/debian/maven.publishedRules @@ -0,0 +1,5 @@ + +org.apache.maven.indexer indexer-artifact jar s/5\..*/5.x/ * * +org.apache.maven.indexer indexer-cli jar s/5\..*/5.x/ * * +org.apache.maven.indexer indexer-core jar s/5\..*/5.x/ * * +org.apache.maven.indexer maven-indexer pom s/5\..*/5.x/ * * diff --git a/debian/maven.rules b/debian/maven.rules new file mode 100644 index 0000000..8470c78 --- /dev/null +++ b/debian/maven.rules @@ -0,0 +1,36 @@ + +org.sonatype.sisu sisu-inject-bean bundle 2.3.0 * * +org.sonatype.sisu sisu-inject-plexus bundle 2.3.0 * * +org.sonatype.sisu sisu-inject pom 2.3.0 * * +org.sonatype.sisu sisu-parent pom 2.3.0 * * +org.sonatype.sisu.inject containers pom 2.3.0 * * +org.sonatype.sisu.inject guice-bean-binders jar 2.3.0 * * +org.sonatype.sisu.inject guice-bean-containers jar 2.3.0 * * +org.sonatype.sisu.inject guice-bean-converters jar 2.3.0 * * +org.sonatype.sisu.inject guice-bean-inject jar 2.3.0 * * +org.sonatype.sisu.inject guice-bean-locators jar 2.3.0 * * +org.sonatype.sisu.inject guice-bean-reflect jar 2.3.0 * * +org.sonatype.sisu.inject guice-bean-scanners jar 2.3.0 * * +org.sonatype.sisu.inject guice-bean pom 2.3.0 * * +org.sonatype.sisu.inject guice-plexus-binders jar 2.3.0 * * +org.sonatype.sisu.inject guice-plexus-converters jar 2.3.0 * * +org.sonatype.sisu.inject guice-plexus-lifecycles jar 2.3.0 * * +org.sonatype.sisu.inject guice-plexus-locators jar 2.3.0 * * +org.sonatype.sisu.inject guice-plexus-metadata jar 2.3.0 * * +org.sonatype.sisu.inject guice-plexus-scanners jar 2.3.0 * * +org.sonatype.sisu.inject guice-plexus-shim jar 2.3.0 * * +org.sonatype.sisu.inject guice-plexus pom 2.3.0 * * +org.apache.maven maven-parent pom s/.*/debian/ * * +org.apache.maven.indexer indexer-artifact jar s/5\..*/5.x/ * * +org.apache.maven.indexer indexer-cli jar s/5\..*/5.x/ * * +org.apache.maven.indexer indexer-core jar s/5\..*/5.x/ * * +org.apache.maven.indexer maven-indexer pom s/5\..*/5.x/ * * +org.apache.maven.wagon wagon-http jar s/.*/debian/ * * +org.apache.maven.wagon wagon-provider-api jar s/.*/debian/ * * +org.codehaus.plexus plexus-cli jar s/.*/debian/ * * +org.codehaus.plexus plexus-component-annotations jar s/.*/1.5.5/ * * +org.codehaus.plexus plexus-component-metadata maven-plugin s/.*/1.5.5/ * * +org.codehaus.plexus plexus-utils jar s/2\..*/2.x/ * * +org.codehaus.plexus plexus-utils jar s/3\..*/2.x/ * * +org.sonatype.aether aether-api jar s/.*/debian/ * * +org.sonatype.aether aether-util jar s/.*/debian/ * * diff --git a/debian/orig-tar.sh b/debian/orig-tar.sh new file mode 100755 index 0000000..7845821 --- /dev/null +++ b/debian/orig-tar.sh @@ -0,0 +1,16 @@ +#!/bin/sh -e + +VERSION=$2 +TAR=../maven-indexer_$VERSION.orig.tar.gz +DIR=maven-indexer-$VERSION +TAG=$(echo "maven-indexer-$VERSION" | sed -re's/~(alpha|beta)/-\1-/') + +svn export http://svn.apache.org/repos/asf/maven/indexer/tags/${TAG}/ $DIR +GZIP=--best tar -c -z -f $TAR --exclude '*.jar' --exclude '*.class' $DIR +rm -rf $DIR ../$TAG + +# move to directory 'tarballs' +if [ -r .svn/deb-layout ]; then + . .svn/deb-layout + mv $TAR $origDir && echo "moved $TAR to $origDir" +fi diff --git a/debian/patches/classpath.patch b/debian/patches/classpath.patch new file mode 100644 index 0000000..f455789 --- /dev/null +++ b/debian/patches/classpath.patch @@ -0,0 +1,26 @@ +Modify the pom.xml for the cli component so that the jar file contains the correct classpath, +so that it can easily be run. The upstream version instead ships all the dependencies in the +jar, but we've disabled that by disabling the maven-shade plugin in debian/maven.ignoreRules. + +--- a/indexer-cli/pom.xml ++++ b/indexer-cli/pom.xml +@@ -112,6 +112,19 @@ + <build> + <plugins> + <plugin> ++ <artifactId>maven-jar-plugin</artifactId> ++ <configuration> ++ <archive> ++ <manifest> ++ <mainClass>org.apache.maven.index.cli.NexusIndexerCli</mainClass> ++ <addClasspath>true</addClasspath> ++ <classpathLayoutType>repository</classpathLayoutType> ++ <classpathPrefix>/usr/share/maven-repo</classpathPrefix> ++ </manifest> ++ </archive> ++ </configuration> ++ </plugin> ++ <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>1.7.1</version> diff --git a/debian/patches/disable-truezip.patch b/debian/patches/disable-truezip.patch new file mode 100644 index 0000000..cbdc305 --- /dev/null +++ b/debian/patches/disable-truezip.patch @@ -0,0 +1,72 @@ +Truezip is optional at run-time, so disable its use entirely and rely on the +build in functionality. + +--- a/indexer-core/src/main/java/org/apache/maven/index/util/zip/ZipFacade.java ++++ b/indexer-core/src/main/java/org/apache/maven/index/util/zip/ZipFacade.java +@@ -33,7 +33,7 @@ + + static + { +- Class<?> clazz; ++ /*Class<?> clazz; + + try + { +@@ -44,7 +44,8 @@ + clazz = null; + } + +- TRUEZIP_AVAILABLE = clazz != null; ++ TRUEZIP_AVAILABLE = clazz != null;*/ ++ TRUEZIP_AVAILABLE = false; + } + + public static ZipHandle getZipHandle( File targetFile ) +@@ -52,14 +53,14 @@ + { + if ( targetFile.isFile() ) + { +- if ( TRUEZIP_AVAILABLE && targetFile.length() > JAVA_ZIPFILE_SIZE_THRESHOLD ) ++ /*if ( TRUEZIP_AVAILABLE && targetFile.length() > JAVA_ZIPFILE_SIZE_THRESHOLD ) + { + return new TrueZipZipFileHandle( targetFile ); + } + else +- { ++ {*/ + return new JavaZipFileHandle( targetFile ); +- } ++ /*}*/ + } + + throw new IOException( "The targetFile should point to an existing ZIP file!" ); +--- a/indexer-core/src/main/java/org/apache/maven/index/util/zip/TrueZipZipFileHandle.java ++++ b/indexer-core/src/main/java/org/apache/maven/index/util/zip/TrueZipZipFileHandle.java +@@ -26,14 +26,14 @@ + import java.util.Enumeration; + import java.util.List; + +-import de.schlichtherle.truezip.zip.ZipEntry; +-import de.schlichtherle.truezip.zip.ZipFile; ++//import de.schlichtherle.truezip.zip.ZipEntry; ++//import de.schlichtherle.truezip.zip.ZipFile; + + public class TrueZipZipFileHandle +- extends AbstractZipHandle +- implements ZipHandle ++// extends AbstractZipHandle ++// implements ZipHandle + { +- private final ZipFile zipFile; ++/* private final ZipFile zipFile; + + public TrueZipZipFileHandle( final File targetFile ) + throws IOException +@@ -107,6 +107,6 @@ + throws IOException + { + getZipFile().close(); +- } ++ }*/ + + } diff --git a/debian/patches/no-archetype.patch b/debian/patches/no-archetype.patch new file mode 100644 index 0000000..5301815 --- /dev/null +++ b/debian/patches/no-archetype.patch @@ -0,0 +1,164 @@ +The support for Maven Archetypes is optional at runtime. We disable it to +reduce dependencies, although there would be value in including it in +future. There is an ITP for the relevent dependency, #721982. + +--- a/indexer-core/src/main/java/org/apache/maven/index/archetype/AbstractArchetypeDataSource.java ++++ /dev/null +@@ -1,104 +0,0 @@ +-package org.apache.maven.index.archetype; +- +-/* +- * Licensed to the Apache Software Foundation (ASF) under one +- * or more contributor license agreements. See the NOTICE file +- * distributed with this work for additional information +- * regarding copyright ownership. The ASF licenses this file +- * to you under the Apache License, Version 2.0 (the +- * "License"); you may not use this file except in compliance +- * with the License. You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, +- * software distributed under the License is distributed on an +- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +- * KIND, either express or implied. See the License for the +- * specific language governing permissions and limitations +- * under the License. +- */ +- +-import java.util.HashMap; +-import java.util.List; +-import java.util.Map; +-import java.util.Properties; +- +-import org.apache.lucene.search.Query; +-import org.apache.maven.archetype.catalog.Archetype; +-import org.apache.maven.archetype.catalog.ArchetypeCatalog; +-import org.apache.maven.archetype.source.ArchetypeDataSource; +-import org.apache.maven.archetype.source.ArchetypeDataSourceException; +-import org.apache.maven.index.ArtifactInfo; +-import org.apache.maven.index.FlatSearchRequest; +-import org.apache.maven.index.FlatSearchResponse; +-import org.apache.maven.index.Indexer; +-import org.apache.maven.index.MAVEN; +-import org.apache.maven.index.context.IndexingContext; +-import org.apache.maven.index.expr.SourcedSearchExpression; +-import org.codehaus.plexus.component.annotations.Requirement; +-import org.codehaus.plexus.logging.AbstractLogEnabled; +- +-public abstract class AbstractArchetypeDataSource +- extends AbstractLogEnabled +- implements ArchetypeDataSource +-{ +- @Requirement +- private Indexer indexer; +- +- public ArchetypeCatalog getArchetypeCatalog( final Properties properties ) +- throws ArchetypeDataSourceException +- { +- final ArchetypeCatalog catalog = new ArchetypeCatalog(); +- try +- { +- final Map<String, String> repositories = getRepositoryMap(); +- final Query pq = indexer.constructQuery( MAVEN.PACKAGING, new SourcedSearchExpression( "maven-archetype" ) ); +- final FlatSearchRequest searchRequest = new FlatSearchRequest( pq ); +- searchRequest.setContexts( getIndexingContexts() ); +- final FlatSearchResponse searchResponse = indexer.searchFlat( searchRequest ); +- for ( ArtifactInfo info : searchResponse.getResults() ) +- { +- Archetype archetype = new Archetype(); +- archetype.setGroupId( info.groupId ); +- archetype.setArtifactId( info.artifactId ); +- archetype.setVersion( info.version ); +- archetype.setDescription( info.description ); +- archetype.setRepository( repositories.get( info.repository ) ); +- catalog.addArchetype( archetype ); +- } +- } +- catch ( Exception ex ) +- { +- getLogger().error( "Unable to retrieve archetypes", ex ); +- } +- +- return catalog; +- } +- +- private Map<String, String> getRepositoryMap() +- { +- // can't cache this because indexes can be changed +- Map<String, String> repositories = new HashMap<String, String>(); +- +- for ( IndexingContext context : getIndexingContexts() ) +- { +- String repositoryUrl = context.getRepositoryUrl(); +- if ( repositoryUrl != null ) +- { +- repositories.put( context.getId(), repositoryUrl ); +- } +- } +- +- return repositories; +- } +- +- public void updateCatalog( Properties properties, Archetype archetype ) +- { +- // TODO maybe update index +- } +- +- // == +- +- protected abstract List<IndexingContext> getIndexingContexts(); +-} +--- a/indexer-core/src/main/java/org/apache/maven/index/archetype/NexusArchetypeDataSource.java ++++ /dev/null +@@ -1,50 +0,0 @@ +-package org.apache.maven.index.archetype; +- +-/* +- * Licensed to the Apache Software Foundation (ASF) under one +- * or more contributor license agreements. See the NOTICE file +- * distributed with this work for additional information +- * regarding copyright ownership. The ASF licenses this file +- * to you under the Apache License, Version 2.0 (the +- * "License"); you may not use this file except in compliance +- * with the License. You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, +- * software distributed under the License is distributed on an +- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +- * KIND, either express or implied. See the License for the +- * specific language governing permissions and limitations +- * under the License. +- */ +- +-import java.util.ArrayList; +-import java.util.List; +- +-import org.apache.maven.archetype.source.ArchetypeDataSource; +-import org.apache.maven.index.NexusIndexer; +-import org.apache.maven.index.context.IndexingContext; +-import org.codehaus.plexus.component.annotations.Component; +-import org.codehaus.plexus.component.annotations.Requirement; +- +-/** +- * Nexus Archetype Data Source. +- * +- * @author Eugene Kuleshov +- * @deprecated Extend {@link AbstractArchetypeDataSource} instead, and make it suit your case. +- */ +-@Deprecated +-@Component( role = ArchetypeDataSource.class, hint = "nexus" ) +-public class NexusArchetypeDataSource +- extends AbstractArchetypeDataSource +-{ +- @Requirement +- private NexusIndexer nexusIndexer; +- +- @Override +- protected List<IndexingContext> getIndexingContexts() +- { +- return new ArrayList<IndexingContext>( nexusIndexer.getIndexingContexts().values() ); +- } +-} diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..af5d548 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,3 @@ +classpath.patch +disable-truezip.patch +no-archetype.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..562f1f3 --- /dev/null +++ b/debian/rules @@ -0,0 +1,10 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/maven.mk + +JAVA_HOME := /usr/lib/jvm/default-java +DEB_MAVEN_DOC_TARGET := javadoc:jar javadoc:aggregate + +get-orig-source: + uscan --download-version $(DEB_UPSTREAM_VERSION) --force-download --rename diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..3dc674c --- /dev/null +++ b/debian/watch @@ -0,0 +1,4 @@ +version=3 +opts="uversionmangle=s/-(alpha|beta)-/~$1/" \ + http://svn.apache.org/repos/asf/maven/indexer/tags/ \ + maven-indexer-(\d.*)/ debian debian/orig-tar.sh -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/maven-indexer.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

