debian/0000755000000000000000000000000013370644513007174 5ustar debian/changelog0000644000000000000000000001006013370644513011043 0ustar plexus-utils (1:1.5.15-4+deb8u1build0.14.04.1) trusty-security; urgency=medium * fake sync from Debian -- Mike Salvatore Wed, 07 Nov 2018 15:21:31 -0500 plexus-utils (1:1.5.15-4+deb8u1) jessie-security; urgency=medium * CVE-2017-1000487 -- Moritz Muehlenhoff Mon, 19 Mar 2018 21:35:42 +0100 plexus-utils (1:1.5.15-4) unstable; urgency=low * Rename source package to plexus-utils to better conform to other plexus packages. * Replace Depends: classpath-doc by default-jdk-doc. -- Torsten Werner Tue, 23 Aug 2011 10:59:28 +0200 libplexus-utils (1:1.5.15-3) unstable; urgency=low * Remove Trygve, Arnaud, and Paul from Uploaders list. * Update Standards-Version: 3.9.1. * Switch to source format 3.0. -- Torsten Werner Tue, 16 Aug 2011 22:02:11 +0200 libplexus-utils (1:1.5.15-2) unstable; urgency=low * Upload to unstable. -- Torsten Werner Sun, 09 Aug 2009 12:15:29 +0200 libplexus-utils (1:1.5.15-1) experimental; urgency=low * New upstream version, add myself to Uploaders * Add the Maven POM to the package, * Add a Build-Depends-Indep dependency on maven-repo-helper * Use mh_installpom and mh_installjar to install the POM and the jar to the Maven repository * Remove the dependency on default-java and java2-runtime as this is a library -- Ludovic Claude Thu, 02 Jul 2009 14:41:15 +0000 libplexus-utils (1:1.5.6-3) unstable; urgency=low * Add missing Depends: ${misc:Depends}. * Change Section: java. * Update Standards-Version: 3.8.2 (no changes). * Switch to default-jdk. (Closes: #526290) -- Torsten Werner Wed, 01 Jul 2009 22:44:45 +0200 libplexus-utils (1:1.5.6-2) experimental; urgency=low * Add missing Depends. -- Torsten Werner Thu, 11 Dec 2008 15:09:19 +0100 libplexus-utils (1:1.5.6-1) experimental; urgency=low [ Michael Koch ] * Added watch file. * Added myself to Uploaders. [ Torsten Werner ] * New upstream release * Update watch file. * Added myself to Uploaders. * Bump up Standards-Version: 3.8.0 (no changes). -- Torsten Werner Sun, 07 Dec 2008 22:04:27 +0100 libplexus-utils (1:1.4.8-1) unstable; urgency=low * New upstream version (Closes: #454095). * Added Homepage and svn control fields. * Set to standards version 3.7.3 (already conforms to new standard). -- Paul Cager Wed, 05 Dec 2007 22:55:09 +0000 libplexus-utils (1:1.4.1-1) unstable; urgency=low * Revert to last stable version (1.4.1) Added epoch 1 * Corrected name of Jar: Was: libplexus-utils.jar Now: plexus-utils.jar Symlink retained to old name for compatability. * Changed to use direct calls of dh_install/link -- Paul Cager Wed, 06 Jun 2007 12:07:28 +0100 libplexus-utils (1.4.1+svn6048-1) unstable; urgency=low * New upstream version, required for maven2 packaging (Closes: #413523) * Added myself to uploaders * Wolfgang removed from uploaders as he is currently inactive * Bumped to debhelper version 5 * Bumped to standards version 3.7.2 * Copyright and Authors updated * Updated for new pkg-java standards: - Binary package renamed to libplexus-utils-java - Created separate "doc" package - Using gcj-compat-dev to compile -- Paul Cager Sun, 25 Mar 2007 18:27:29 +0100 libplexus-utils (1.0alpha1-3) unstable; urgency=low * kaffe compiler transition * Depend on kaffe | java1-runtime | java2-runtime * Added myself to uploaders -- Wolfgang Baer Mon, 16 Jan 2006 10:43:19 +0100 libplexus-utils (1.0alpha1-2) unstable; urgency=low * ant transition * Standards Version 3.6.2, no change. -- Arnaud Vandyck Tue, 11 Oct 2005 13:53:43 +0200 libplexus-utils (1.0alpha1-1) unstable; urgency=low * Initial Release. -- Trygve Laugstøl Tue, 19 Aug 2005 00:26:30 +0100 debian/libplexus-utils-java.poms0000644000000000000000000000002411223142366014146 0ustar pom.xml --no-parent debian/compat0000644000000000000000000000000210603277716010375 0ustar 5 debian/rules0000755000000000000000000000201211223142366010241 0ustar #!/usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/ant.mk PACKAGE := $(shell dpkg-parsechangelog | egrep '^Source:' | cut -f2 -d' ') VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f2 -d' ' | cut -f1 -d- | sed 's/^[0-9]*://') JAVA_HOME := /usr/lib/jvm/default-java DEB_JARS := plexus-interpolation xalan2 DEB_ANT_BUILD_TARGET := package DEB_ANT_BUILDFILE := debian/build.xml DEB_ANT_ARGS := -Dpackage=$(PACKAGE) -Dversion=$(VERSION) API_DOCS := build/doc/api get-orig-source: uscan --download-version $(VERSION) --force-download binary-post-install/libplexus-utils-java:: mh_installpoms -plibplexus-utils-java mh_installjar -plibplexus-utils-java -l pom.xml build/plexus-utils-$(VERSION).jar usr/share/java/libplexus-utils.jar binary-post-install/libplexus-utils-java-doc:: dh_install -plibplexus-utils-java-doc $(API_DOCS) usr/share/doc/libplexus-utils-java clean:: -rm -rf debian/tmp debian/patches/0000755000000000000000000000000013254017432010616 5ustar debian/patches/series0000644000000000000000000000002713254017432012032 0ustar CVE-2017-1000487.patch debian/patches/CVE-2017-1000487.patch0000644000000000000000000004575213254017407013503 0ustar From: Markus Koschany Date: Tue, 9 Jan 2018 20:45:31 +0100 Subject: CVE-2017-1000487 --- .../org/codehaus/plexus/util/cli/Commandline.java | 38 +++++++++++--- .../plexus/util/cli/shell/BourneShell.java | 60 +++++++--------------- .../org/codehaus/plexus/util/cli/shell/Shell.java | 35 ++++++++++--- .../codehaus/plexus/util/cli/CommandlineTest.java | 37 +++++++------ .../plexus/util/cli/shell/BourneShellTest.java | 17 +++--- 5 files changed, 106 insertions(+), 81 deletions(-) diff --git a/src/main/java/org/codehaus/plexus/util/cli/Commandline.java b/src/main/java/org/codehaus/plexus/util/cli/Commandline.java index 5e0d5af..7346c7e 100644 --- a/src/main/java/org/codehaus/plexus/util/cli/Commandline.java +++ b/src/main/java/org/codehaus/plexus/util/cli/Commandline.java @@ -139,6 +139,8 @@ public class Commandline * Create a new command line object. * Shell is autodetected from operating system * + * Shell usage is only desirable when generating code for remote execution. + * * @param toProcess */ public Commandline( String toProcess, Shell shell ) @@ -167,6 +169,8 @@ public class Commandline /** * Create a new command line object. * Shell is autodetected from operating system + * + * Shell usage is only desirable when generating code for remote execution. */ public Commandline( Shell shell ) { @@ -174,8 +178,7 @@ public class Commandline } /** - * Create a new command line object. - * Shell is autodetected from operating system + * Create a new command line object, given a command following POSIX sh quoting rules * * @param toProcess */ @@ -203,7 +206,6 @@ public class Commandline /** * Create a new command line object. - * Shell is autodetected from operating system */ public Commandline() { @@ -253,7 +255,7 @@ public class Commandline { if ( realPos == -1 ) { - realPos = ( getExecutable() == null ? 0 : 1 ); + realPos = ( getLiteralExecutable() == null ? 0 : 1 ); for ( int i = 0; i < position; i++ ) { Arg arg = (Arg) arguments.elementAt( i ); @@ -404,6 +406,21 @@ public class Commandline this.executable = executable; } + /** + * @return Executable to be run, as a literal string (no shell quoting/munging) + */ + public String getLiteralExecutable() + { + return executable; + } + + /** + * Return an executable name, quoted for shell use. + * + * Shell usage is only desirable when generating code for remote execution. + * + * @return Executable to be run, quoted for shell interpretation + */ public String getExecutable() { String exec = shell.getExecutable(); @@ -483,7 +500,7 @@ public class Commandline public String[] getCommandline() { final String[] args = getArguments(); - String executable = getExecutable(); + String executable = getLiteralExecutable(); if ( executable == null ) { @@ -497,6 +514,8 @@ public class Commandline /** * Returns the shell, executable and all defined arguments. + * + * Shell usage is only desirable when generating code for remote execution. */ public String[] getShellCommandline() { @@ -633,7 +652,7 @@ public class Commandline { if ( workingDir == null ) { - process = Runtime.getRuntime().exec( getShellCommandline(), environment ); + process = Runtime.getRuntime().exec( getCommandline(), environment, workingDir ); } else { @@ -648,7 +667,7 @@ public class Commandline + "\" does not specify a directory." ); } - process = Runtime.getRuntime().exec( getShellCommandline(), environment, workingDir ); + process = Runtime.getRuntime().exec( getCommandline(), environment, workingDir ); } } catch ( IOException ex ) @@ -669,7 +688,7 @@ public class Commandline shell.setWorkingDirectory( workingDir ); } - if ( shell.getExecutable() == null ) + if ( shell.getOriginalExecutable() == null ) { shell.setExecutable( executable ); } @@ -684,6 +703,8 @@ public class Commandline /** * Allows to set the shell to be used in this command line. * + * Shell usage is only desirable when generating code for remote execution. + * * @param shell * @since 1.2 */ @@ -695,6 +716,7 @@ public class Commandline /** * Get the shell to be used in this command line. * + * Shell usage is only desirable when generating code for remote execution. * @since 1.2 */ public Shell getShell() diff --git a/src/main/java/org/codehaus/plexus/util/cli/shell/BourneShell.java b/src/main/java/org/codehaus/plexus/util/cli/shell/BourneShell.java index afde64f..325ba0e 100644 --- a/src/main/java/org/codehaus/plexus/util/cli/shell/BourneShell.java +++ b/src/main/java/org/codehaus/plexus/util/cli/shell/BourneShell.java @@ -17,7 +17,6 @@ package org.codehaus.plexus.util.cli.shell; */ import org.codehaus.plexus.util.Os; -import org.codehaus.plexus.util.StringUtils; import java.util.ArrayList; import java.util.List; @@ -29,34 +28,18 @@ import java.util.List; public class BourneShell extends Shell { - private static final char[] BASH_QUOTING_TRIGGER_CHARS = { - ' ', - '$', - ';', - '&', - '|', - '<', - '>', - '*', - '?', - '(', - ')', - '[', - ']', - '{', - '}', - '`' }; public BourneShell() { - this( false ); + this(false); } public BourneShell( boolean isLoginShell ) { + setUnconditionalQuoting( true ); setShellCommand( "/bin/sh" ); setArgumentQuoteDelimiter( '\'' ); - setExecutableQuoteDelimiter( '\"' ); + setExecutableQuoteDelimiter( '\'' ); setSingleQuotedArgumentEscaped( true ); setSingleQuotedExecutableEscaped( false ); setQuotedExecutableEnabled( true ); @@ -75,7 +58,7 @@ public class BourneShell return super.getExecutable(); } - return unifyQuotes( super.getExecutable()); + return quoteOneItem( super.getOriginalExecutable(), true ); } public List getShellArgsList() @@ -125,46 +108,41 @@ public class BourneShell StringBuffer sb = new StringBuffer(); sb.append( "cd " ); - sb.append( unifyQuotes( dir ) ); + sb.append( quoteOneItem( dir, false ) ); sb.append( " && " ); return sb.toString(); } - protected char[] getQuotingTriggerChars() - { - return BASH_QUOTING_TRIGGER_CHARS; - } - /** *

Unify quotes in a path for the Bourne Shell.

* *
-     * BourneShell.unifyQuotes(null)                       = null
-     * BourneShell.unifyQuotes("")                         = (empty)
-     * BourneShell.unifyQuotes("/test/quotedpath'abc")     = /test/quotedpath\'abc
-     * BourneShell.unifyQuotes("/test/quoted path'abc")    = "/test/quoted path'abc"
-     * BourneShell.unifyQuotes("/test/quotedpath\"abc")    = "/test/quotedpath\"abc"
-     * BourneShell.unifyQuotes("/test/quoted path\"abc")   = "/test/quoted path\"abc"
-     * BourneShell.unifyQuotes("/test/quotedpath\"'abc")   = "/test/quotedpath\"'abc"
-     * BourneShell.unifyQuotes("/test/quoted path\"'abc")  = "/test/quoted path\"'abc"
+     * BourneShell.quoteOneItem(null)                       = null
+     * BourneShell.quoteOneItem("")                         = ''
+     * BourneShell.quoteOneItem("/test/quotedpath'abc")     = '/test/quotedpath'"'"'abc'
+     * BourneShell.quoteOneItem("/test/quoted path'abc")    = '/test/quoted pat'"'"'habc'
+     * BourneShell.quoteOneItem("/test/quotedpath\"abc")    = '/test/quotedpath"abc'
+     * BourneShell.quoteOneItem("/test/quoted path\"abc")   = '/test/quoted path"abc'
+     * BourneShell.quoteOneItem("/test/quotedpath\"'abc")   = '/test/quotedpath"'"'"'abc'
+     * BourneShell.quoteOneItem("/test/quoted path\"'abc")  = '/test/quoted path"'"'"'abc'
      * 
* * @param path not null path. * @return the path unified correctly for the Bourne shell. */ - protected static String unifyQuotes( String path ) + protected String quoteOneItem( String path, boolean isExecutable ) { if ( path == null ) { return null; } - if ( path.indexOf( " " ) == -1 && path.indexOf( "'" ) != -1 && path.indexOf( "\"" ) == -1 ) - { - return StringUtils.escape( path ); - } + StringBuilder sb = new StringBuilder(); + sb.append( "'" ); + sb.append( path.replace( "'", "'\"'\"'" ) ); + sb.append( "'" ); - return StringUtils.quoteAndEscape( path, '\"', BASH_QUOTING_TRIGGER_CHARS ); + return sb.toString(); } } diff --git a/src/main/java/org/codehaus/plexus/util/cli/shell/Shell.java b/src/main/java/org/codehaus/plexus/util/cli/shell/Shell.java index f51f6ad..7041e28 100644 --- a/src/main/java/org/codehaus/plexus/util/cli/shell/Shell.java +++ b/src/main/java/org/codehaus/plexus/util/cli/shell/Shell.java @@ -48,6 +48,8 @@ public class Shell private boolean quotedArgumentsEnabled = true; + private boolean unconditionallyQuote = false; + private String executable; private String workingDir; @@ -66,6 +68,16 @@ public class Shell private char exeQuoteDelimiter = '\"'; + /** + * Toggle unconditional quoting + * + * @param unconditionallyQuote + */ + public void setUnconditionalQuoting(boolean unconditionallyQuote) + { + this.unconditionallyQuote = unconditionallyQuote; + } + /** * Set the command to execute the shell (eg. COMMAND.COM, /bin/bash,...) * @@ -98,6 +110,19 @@ public class Shell this.shellArgs.addAll( Arrays.asList( shellArgs ) ); } + protected String quoteOneItem(String inputString, boolean isExecutable) + { + char[] escapeChars = getEscapeChars( isSingleQuotedExecutableEscaped(), isDoubleQuotedExecutableEscaped() ); + return StringUtils.quoteAndEscape( + inputString, + isExecutable ? getExecutableQuoteDelimiter() : getArgumentQuoteDelimiter(), + escapeChars, + getQuotingTriggerChars(), + '\\', + unconditionallyQuote + ); + } + /** * Get the shell arguments * @@ -142,9 +167,7 @@ public class Shell if ( isQuotedExecutableEnabled() ) { - char[] escapeChars = getEscapeChars( isSingleQuotedExecutableEscaped(), isDoubleQuotedExecutableEscaped() ); - - sb.append( StringUtils.quoteAndEscape( getExecutable(), getExecutableQuoteDelimiter(), escapeChars, getQuotingTriggerChars(), '\\', false ) ); + sb.append( quoteOneItem( getOriginalExecutable(), true ) ); } else { @@ -160,9 +183,7 @@ public class Shell if ( isQuotedArgumentsEnabled() ) { - char[] escapeChars = getEscapeChars( isSingleQuotedExecutableEscaped(), isDoubleQuotedExecutableEscaped() ); - - sb.append( StringUtils.quoteAndEscape( arguments[i], getArgumentQuoteDelimiter(), escapeChars, getQuotingTriggerChars(), '\\', false ) ); + sb.append( quoteOneItem( arguments[i], false ) ); } else { @@ -267,7 +288,7 @@ public class Shell commandLine.addAll( getShellArgsList() ); } - commandLine.addAll( getCommandLine( getExecutable(), arguments ) ); + commandLine.addAll( getCommandLine( getOriginalExecutable(), arguments ) ); return commandLine; diff --git a/src/test/java/org/codehaus/plexus/util/cli/CommandlineTest.java b/src/test/java/org/codehaus/plexus/util/cli/CommandlineTest.java index b22814b..42bbb7f 100644 --- a/src/test/java/org/codehaus/plexus/util/cli/CommandlineTest.java +++ b/src/test/java/org/codehaus/plexus/util/cli/CommandlineTest.java @@ -16,6 +16,7 @@ package org.codehaus.plexus.util.cli; * limitations under the License. */ +import junit.framework.TestCase; import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.StringUtils; @@ -23,15 +24,7 @@ import org.codehaus.plexus.util.cli.shell.BourneShell; import org.codehaus.plexus.util.cli.shell.CmdShell; import org.codehaus.plexus.util.cli.shell.Shell; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.StringWriter; -import java.io.Writer; - -import junit.framework.TestCase; +import java.io.*; public class CommandlineTest extends TestCase @@ -252,7 +245,7 @@ public class CommandlineTest assertEquals( "/bin/sh", shellCommandline[0] ); assertEquals( "-c", shellCommandline[1] ); - String expectedShellCmd = "/bin/echo \'hello world\'"; + String expectedShellCmd = "'/bin/echo' 'hello world'"; if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) { expectedShellCmd = "\\bin\\echo \'hello world\'"; @@ -282,12 +275,12 @@ public class CommandlineTest assertEquals( "/bin/sh", shellCommandline[0] ); assertEquals( "-c", shellCommandline[1] ); - String expectedShellCmd = "cd \"" + root.getAbsolutePath() - + "path with spaces\" && /bin/echo \'hello world\'"; + String expectedShellCmd = "cd '" + root.getAbsolutePath() + + "path with spaces' && '/bin/echo' 'hello world'"; if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) { - expectedShellCmd = "cd \"" + root.getAbsolutePath() - + "path with spaces\" && \\bin\\echo \'hello world\'"; + expectedShellCmd = "cd '" + root.getAbsolutePath() + + "path with spaces' && '\\bin\\echo' 'hello world'"; } assertEquals( expectedShellCmd, shellCommandline[2] ); } @@ -311,7 +304,7 @@ public class CommandlineTest assertEquals( "/bin/sh", shellCommandline[0] ); assertEquals( "-c", shellCommandline[1] ); - String expectedShellCmd = "/bin/echo \'hello world\'"; + String expectedShellCmd = "'/bin/echo' ''\"'\"'hello world'\"'\"''"; if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) { expectedShellCmd = "\\bin\\echo \'hello world\'"; @@ -341,7 +334,7 @@ public class CommandlineTest } else { - assertEquals( "/usr/bin a b", shellCommandline[2] ); + assertEquals( "'/usr/bin' 'a' 'b'", shellCommandline[2] ); } } @@ -387,6 +380,18 @@ public class CommandlineTest createAndCallScript( dir, "echo Quoted" ); } + /** + * Test an executable with shell-expandable content in its path. + * + * @throws Exception + */ + public void testPathWithShellExpansionStrings() + throws Exception + { + File dir = new File( System.getProperty( "basedir" ), "target/test/dollar$test" ); + createAndCallScript( dir, "echo Quoted" ); + } + /** * Test an executable with a single quotation mark \" in its path only for non Windows box. * diff --git a/src/test/java/org/codehaus/plexus/util/cli/shell/BourneShellTest.java b/src/test/java/org/codehaus/plexus/util/cli/shell/BourneShellTest.java index 807bff5..f1645b6 100644 --- a/src/test/java/org/codehaus/plexus/util/cli/shell/BourneShellTest.java +++ b/src/test/java/org/codehaus/plexus/util/cli/shell/BourneShellTest.java @@ -16,14 +16,13 @@ package org.codehaus.plexus.util.cli.shell; * limitations under the License. */ +import junit.framework.TestCase; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.cli.Commandline; import java.util.Arrays; import java.util.List; -import junit.framework.TestCase; - public class BourneShellTest extends TestCase { @@ -42,7 +41,7 @@ public class BourneShellTest String executable = StringUtils.join( sh.getShellCommandLine( new String[]{} ).iterator(), " " ); - assertEquals( "/bin/sh -c cd /usr/local/bin && chmod", executable ); + assertEquals( "/bin/sh -c cd '/usr/local/bin' && 'chmod'", executable ); } public void testQuoteWorkingDirectoryAndExecutable_WDPathWithSingleQuotes() @@ -54,7 +53,7 @@ public class BourneShellTest String executable = StringUtils.join( sh.getShellCommandLine( new String[]{} ).iterator(), " " ); - assertEquals( "/bin/sh -c cd \"/usr/local/\'something else\'\" && chmod", executable ); + assertEquals( "/bin/sh -c cd '/usr/local/'\"'\"'something else'\"'\"'' && 'chmod'", executable ); } public void testQuoteWorkingDirectoryAndExecutable_WDPathWithSingleQuotes_BackslashFileSep() @@ -66,7 +65,7 @@ public class BourneShellTest String executable = StringUtils.join( sh.getShellCommandLine( new String[]{} ).iterator(), " " ); - assertEquals( "/bin/sh -c cd \"\\usr\\local\\\'something else\'\" && chmod", executable ); + assertEquals( "/bin/sh -c cd '\\usr\\local\\\'\"'\"'something else'\"'\"'' && 'chmod'", executable ); } public void testPreserveSingleQuotesOnArgument() @@ -82,7 +81,7 @@ public class BourneShellTest String cli = StringUtils.join( shellCommandLine.iterator(), " " ); System.out.println( cli ); - assertTrue( cli.endsWith( args[0] ) ); + assertTrue( cli.endsWith("''\"'\"'some arg with spaces'\"'\"''")); } public void testAddSingleQuotesOnArgumentWithSpaces() @@ -130,7 +129,7 @@ public class BourneShellTest assertEquals( "/bin/sh", lines[0] ); assertEquals( "-c", lines[1] ); - assertEquals( "chmod --password ';password'", lines[2] ); + assertEquals( "'chmod' '--password' ';password'", lines[2] ); commandline = new Commandline( newShell() ); commandline.setExecutable( "chmod" ); @@ -142,7 +141,7 @@ public class BourneShellTest assertEquals( "/bin/sh", lines[0] ); assertEquals( "-c", lines[1] ); - assertEquals( "chmod --password ';password'", lines[2] ); + assertEquals( "'chmod' '--password' ';password'", lines[2] ); commandline = new Commandline( new CmdShell() ); commandline.getShell().setQuotedArgumentsEnabled( true ); @@ -190,7 +189,7 @@ public class BourneShellTest assertEquals( "/bin/sh", lines[0] ); assertEquals( "-c", lines[1] ); - assertEquals( "chmod ' ' '|' '&&' '||' ';' ';;' '&' '()' '<' '<<' '>' '>>' '*' '?' '[' ']' '{' '}' '`'", + assertEquals( "'chmod' ' ' '|' '&&' '||' ';' ';;' '&' '()' '<' '<<' '>' '>>' '*' '?' '[' ']' '{' '}' '`'", lines[2] ); } debian/control0000644000000000000000000000513311624666323010604 0ustar Source: plexus-utils Section: java Priority: optional Maintainer: Debian Java Maintainers Uploaders: Michael Koch , Torsten Werner , Ludovic Claude Build-Depends-Indep: maven-repo-helper, libxalan2-java, libplexus-interpolation-java Build-Depends: ant, debhelper (>= 5), cdbs (>= 0.4.5.3), default-jdk Standards-Version: 3.9.1 Homepage: http://plexus.codehaus.org/ Vcs-Svn: svn://svn.debian.org/svn/pkg-java/trunk/plexus-utils Vcs-Browser: http://svn.debian.org/wsvn/pkg-java/trunk/plexus-utils Package: libplexus-utils-java Architecture: all Depends: ${misc:Depends}, libxalan2-java, libplexus-interpolation-java Suggests: libplexus-utils-java-doc Description: utilities for the Plexus framework The Plexus project provides a full software stack for creating and executing software projects. Based on the Plexus container, the applications can utilise component-oriented programming to build modular, reusable components that can easily be assembled and reused. . While Plexus is similar to other inversion-of-control (IoC) or dependency injection frameworks such as the Spring Framework, it is a full-fledged container that supports many more features such as: . * Component lifecycles * Component instantiation strategies * Nested containers * Component configuration * Auto-wiring * Component dependencies, and * Various dependency injection techniques including constructor injection, setter injection, and private field injection. Package: libplexus-utils-java-doc Architecture: all Section: doc Depends: default-jdk-doc, ${misc:Depends} Suggests: libplexus-utils-java Description: API Documentation for plexus-utils The Plexus project provides a full software stack for creating and executing software projects. Based on the Plexus container, the applications can utilise component-oriented programming to build modular, reusable components that can easily be assembled and reused. . While Plexus is similar to other inversion-of-control (IoC) or dependency injection frameworks such as the Spring Framework, it is a full-fledged container that supports many more features such as: . * Component lifecycles * Component instantiation strategies * Nested containers * Component configuration * Auto-wiring * Component dependencies, and * Various dependency injection techniques including constructor injection, setter injection, and private field injection. . This package contains the API documentation for plexus-utils. debian/build.xml0000644000000000000000000000500010725632033011003 0ustar debian/source/0000755000000000000000000000000011625000366010465 5ustar debian/source/format0000644000000000000000000000001411622546337011705 0ustar 3.0 (quilt) debian/README.Debian0000644000000000000000000000021510322724654011232 0ustar plexus-utils ------------ This package is a set of utilities used by the Plexus container and a lot of the components. -- Trygve Laugstøl debian/copyright0000644000000000000000000002174510603277716011143 0ustar This package was debianized by Trygve Laugstøl on Tue, 19 Aug 2005 00:26:30 +0100. libplex-utils was downloaded from http://plexus.codehaus.org/ Upstream Authors: Javolution ThoughtWorks, Inc The Apache Software Foundation The Codehaus Foundation Arnout J. Kuiper Ben Walding Bert costin@dnt.ro Dan T. Tran Dmitri Plotnikov Edwin Punzalan Holger Krauth Jason van Zyl jdcasey Jean-Marie Dautelle Jeremias Maerki Jesse McConnell John Casey Magesh Umasankar Matthew Hawthorne Michal Maczka Peter Donald Stefan Bodewig Stephen Colebourne Thomas Haas Copyright (c) 1998-2007 Codehaus Foundation, Apache Software Foundation, Indiana University, Javolution, ThoughtWorks, Inc COPYRIGHT NOTICES: Indiana University Extreme! Lab Software License Version 1.1.1 Copyright (c) 2002 Extreme! Lab, Indiana University. 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. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Indiana University Extreme! Lab (http://www.extreme.indiana.edu/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact http://www.extreme.indiana.edu/. 5. Products derived from this software may not use "Indiana Univeristy" name nor may "Indiana Univeristy" appear in their name, without prior written permission of the Indiana University. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED 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 AUTHORS, COPYRIGHT HOLDERS OR ITS 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. Javolution - Java(TM) Solution for Real-Time and Embedded Systems Copyright (c) 2006, Javolution (http://javolution.org) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. 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. /******************************************************************************** * CruiseControl, a Continuous Integration Toolkit * Copyright (c) 2001-2003, ThoughtWorks, Inc. * 651 W Washington Ave. Suite 500 * Chicago, IL 60661 USA * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * + Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * + 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. * * + Neither the name of ThoughtWorks, Inc., CruiseControl, 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 REGENTS 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. ********************************************************************************/ This product includes software developed by The Apache Software Foundation (http://www.apache.org/). * The Apache Software License, Version 1.1 * * Copyright (c) 2000-2002 The Apache Software Foundation. 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. The end-user documentation included with the redistribution, if * any, must include the following acknowlegement: * "This product includes software developed by the * Apache Software Foundation (http://www.codehaus.org/)." * Alternately, this acknowlegement may appear in the software itself, * if and wherever such third-party acknowlegements normally appear. * * 4. The names "The Jakarta Project", "Ant", and "Apache Software * Foundation" must not be used to endorse or promote products derived * from this software without prior written permission. For written * permission, please contact codehaus@codehaus.org. * * 5. Products derived from this software may not be called "Apache" * nor may "Apache" appear in their names without prior written * permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR * ITS 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. debian/libplexus-utils-java-doc.doc-base0000644000000000000000000000047710603277716015435 0ustar Document: libplexus-utils-java Title: API Javadoc for libplexus-utils Author: plexus-utils developers Abstract: This is the API Javadoc provided by the libplexus-utils library. Section: Programming Format: HTML Index: /usr/share/doc/libplexus-utils-java/api/index.html Files: /usr/share/doc/libplexus-utils-java/api/* debian/watch0000644000000000000000000000015511117037160010215 0ustar version=3 http://svn.codehaus.org/plexus/plexus-utils/tags/ plexus-utils-(.*)/ \ debian debian/orig-tar.sh debian/orig-tar.sh0000755000000000000000000000053011117037160011244 0ustar #!/bin/sh -e TAR=../libplexus-utils_$2.orig.tar.gz DIR=plexus-utils-$2 TAG=plexus-utils-$2 svn export http://svn.codehaus.org/plexus/plexus-utils/tags/$TAG $DIR tar -c -z -f $TAR $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