[truezip] Initial import (#836850)

Gerard Ryan galileo at fedoraproject.org
Tue Jul 24 14:42:41 UTC 2012


commit 6ad28f502b39c2c491fc93dcbe0a8555df7839fd
Author: Gerard Ryan <gerard at ryan.lt>
Date:   Tue Jul 24 15:27:25 2012 +0100

    Initial import (#836850)

 .gitignore        |    1 +
 epl-v10.html      |  261 +++++++++++++++++++++++++++++++++
 sources           |    1 +
 truezip-pom.patch |   32 ++++
 truezip.spec      |  411 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 706 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..fc13f01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/truezip-7.5.5.tar.gz
diff --git a/epl-v10.html b/epl-v10.html
new file mode 100644
index 0000000..3998fce
--- /dev/null
+++ b/epl-v10.html
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+  body {
+    size: 8.5in 11.0in;
+    margin: 0.25in 0.5in 0.25in 0.5in;
+    tab-interval: 0.5in;
+    }
+  p {  	
+    margin-left: auto;
+    margin-top:  0.5em;
+    margin-bottom: 0.5em;
+    }
+  p.list {
+  	margin-left: 0.5in;
+    margin-top:  0.05em;
+    margin-bottom: 0.05em;
+    }
+  </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>&quot;Contribution&quot; means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>&quot;Contributor&quot; means any person or entity that distributes
+the Program.</p>
+
+<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>&quot;Program&quot; means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>&quot;Recipient&quot; means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+(&quot;Commercial Contributor&quot;) hereby agrees to defend and
+indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
+against any losses, damages and costs (collectively &quot;Losses&quot;)
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), 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 OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/sources b/sources
index e69de29..e7d3d67 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+7fae6573b27711edb49d2389d96de165  truezip-7.5.5.tar.gz
diff --git a/truezip-pom.patch b/truezip-pom.patch
new file mode 100644
index 0000000..85e4ba8
--- /dev/null
+++ b/truezip-pom.patch
@@ -0,0 +1,32 @@
+--- pom.xml.orig	2012-06-01 14:49:58.000000000 +0100
++++ pom.xml	2012-06-29 13:26:23.743829778 +0100
+@@ -90,8 +90,8 @@
+         <netbeans.hint.jdkPlatform>JDK_1.7</netbeans.hint.jdkPlatform>
+ 
+         <maven.compiler.showDeprecation>false</maven.compiler.showDeprecation>
+-        <maven.compiler.source>1.6</maven.compiler.source>
+-        <maven.compiler.target>1.6</maven.compiler.target>
++        <maven.compiler.source>1.7</maven.compiler.source>
++        <maven.compiler.target>1.7</maven.compiler.target>
+ 
+         <java.util.logging.config.file>logging.properties</java.util.logging.config.file>
+ 
+@@ -252,11 +252,16 @@
+             <scope>test</scope>
+         </dependency>
+         <dependency>
+-            <groupId>com.google.code.findbugs</groupId>
++            <groupId>net.sourceforge.findbugs</groupId>
+             <artifactId>annotations</artifactId>
+-            <version>2.0.0</version>
++            <version>1.3.9</version>
+             <optional>true</optional>
+         </dependency>
++        <dependency>
++            <groupId>org.jsr-305</groupId>
++            <artifactId>ri</artifactId>
++            <version>0.1-SNAPSHOT</version>
++        </dependency>
+     </dependencies>
+ 
+     <build>
diff --git a/truezip.spec b/truezip.spec
new file mode 100644
index 0000000..8e97644
--- /dev/null
+++ b/truezip.spec
@@ -0,0 +1,411 @@
+Name:		truezip
+Version:	7.5.5
+Release:	4%{?dist}
+Summary:	Java based VFS for treating archive files as virtual directories
+
+Group:		Development/Libraries
+License:	EPL
+URL:		http://truezip.java.net/
+
+# hg clone https://hg.java.net/hg/truezip~v7 && cd truezip~v7/
+# hg archive -r truezip-7.5.5 truezip-7.5.5.tar.gz -X ".hg*"
+Source0:	%{name}-%{version}.tar.gz
+Source1:	http://www.eclipse.org/legal/epl-v10.html
+
+# Set maven.compiler source and target to 1.7
+# Fix groupId for findbugs
+# Add jsr-305 as dependency
+Patch0:		%{name}-pom.patch
+
+BuildArch:	noarch
+
+BuildRequires:	java-devel
+BuildRequires:	jpackage-utils
+BuildRequires:	apache-commons-compress
+BuildRequires:	bouncycastle
+BuildRequires:	findbugs
+BuildRequires:	jemmy
+BuildRequires:	jsr-305
+BuildRequires:	junit
+BuildRequires:	maven
+BuildRequires:	schlichtherle-oss-parent
+
+BuildRequires:	maven-antrun-plugin
+BuildRequires:	maven-archetype-common
+BuildRequires:	maven-archetype-packaging
+BuildRequires:	maven-archetype-plugin
+BuildRequires:	maven-compiler-plugin
+BuildRequires:	maven-enforcer-plugin
+BuildRequires:	maven-failsafe-plugin
+BuildRequires:	maven-install-plugin
+BuildRequires:	maven-jar-plugin
+BuildRequires:	maven-javadoc-plugin
+BuildRequires:	maven-plugin-jxr
+BuildRequires:	maven-plugin-cobertura
+BuildRequires:	maven-release-plugin
+BuildRequires:	maven-resources-plugin
+BuildRequires:	maven-site-plugin
+BuildRequires:	maven-surefire-plugin
+
+Requires:	java
+Requires:	jpackage-utils
+
+Requires:	schlichtherle-oss-parent
+
+Requires:	%{name}-driver-parent = %{version}-%{release}
+Requires:	%{name}-driver-file = %{version}-%{release}
+Requires:	%{name}-driver-http = %{version}-%{release}
+Requires:	%{name}-driver-tar = %{version}-%{release}
+Requires:	%{name}-driver-tzp = %{version}-%{release}
+Requires:	%{name}-driver-zip = %{version}-%{release}
+Requires:	%{name}-extension-parent = %{version}-%{release}
+Requires:	%{name}-extension-jmx-jul = %{version}-%{release}
+Requires:	%{name}-file = %{version}-%{release}
+Requires:	%{name}-kernel = %{version}-%{release}
+Requires:	%{name}-path = %{version}-%{release}
+Requires:	%{name}-samples = %{version}-%{release}
+Requires:	%{name}-swing = %{version}-%{release}
+
+%description
+TrueVFS is a Java based virtual file system (VFS) which enables
+client applications to perform CRUD (Create, Read, Update, Delete)
+operations on archive files as if they were virtual directories,
+even with nested archive files in multithreaded environments.
+
+As a library, TrueVFS provides simple, uniform, transparent,
+thread-safe, read/write access to archive files as if they were
+virtual directories in a file system path.
+
+As a framework, TrueVFS provides the interfaces and classes to
+write file system drivers which plug-in to its federated file
+system space.
+
+%package driver-parent
+Summary:	Parent POM for TrueZip pluggable file system drivers
+Requires:	jpackage-utils
+
+%description driver-parent
+Parent POM for TrueZip pluggable file system drivers.
+
+%package driver-file
+Summary:	TrueZip driver for the FILE scheme
+Requires:	java
+Requires:	jpackage-utils
+Requires:	%{name}-driver-parent = %{version}-%{release}
+Requires:	%{name}-kernel = %{version}-%{release}
+
+%description driver-file
+The file system driver family for the FILE scheme.
+
+Add the JAR artifact of this module to the run time class path to
+make its file system drivers available for service location in the
+client API modules.
+
+%package driver-http
+Summary:	TrueZip driver for the HTTP(S) scheme
+Requires:	java
+Requires:	jpackage-utils
+Requires:	httpcomponents-client
+Requires:	httpcomponents-core
+Requires:	%{name}-driver-parent = %{version}-%{release}
+Requires:	%{name}-kernel = %{version}-%{release}
+
+%description driver-http
+The file system driver for the HTTP(S) scheme.
+
+Add the JAR artifact of this module to the run time class path to
+make its file system drivers available for service location in the
+client API modules.
+
+%package driver-tar
+Summary:	TrueZip driver for TAR archives
+Requires:	java
+Requires:	jpackage-utils
+Requires:	apache-commons-compress
+Requires:	%{name}-path = %{version}-%{release}
+
+%description driver-tar
+The file system driver family for TAR and related archive file types.
+
+Add the JAR artifact of this module to the run time class path to
+make its file system drivers available for service location in the
+client API modules.
+
+%package driver-tzp
+Summary:	TrueZip driver for ZIP.RAES (TZP) encrypted archives
+Requires:	java
+Requires:	jpackage-utils
+Requires:	bouncycastle
+Requires:	%{name}-driver-zip = %{version}-%{release}
+Requires:	%{name}-file = %{version}-%{release}
+
+%description driver-tzp
+The file system driver family for RAES encrypted ZIP alias
+ZIP.RAES alias TZP files.
+
+Add the JAR artifact of this module to the run time class path to
+make its file system drivers available for service location in the
+client API modules.
+
+%package driver-zip
+Summary:	TrueZip driver for ZIP archives
+Requires:	java
+Requires:	jpackage-utils
+Requires:	apache-commons-compress
+Requires:	bouncycastle
+Requires:	%{name}-path = %{version}-%{release}
+Requires:	%{name}-swing = %{version}-%{release}
+
+%description driver-zip
+TrueZIP Path module application - requires JSE 7.
+
+%package extension-parent
+Summary:	Parent POM for TrueZip pluggable extensions
+Requires:	jpackage-utils
+
+%description extension-parent
+Parent POM for TrueZip pluggable extensions.
+
+%package extension-jmx-jul
+Summary:	TrueZip JMX/JUL Extension
+Requires:	java
+Requires:	jpackage-utils
+Requires:	%{name}-extension-parent = %{version}-%{release}
+Requires:	%{name}-driver-file = %{version}-%{release}
+
+%description extension-jmx-jul
+This module provides a file system manager and an I/O pool service
+for managing and monitoring TrueZIP via JMX and java.util.logging.
+
+Add the JAR artifact of this module to the run time class path to
+make its file system manager and I/O pool service available for
+service location in the client API modules.
+
+%package file
+Summary:	TrueZip File*
+Requires:	java
+Requires:	jpackage-utils
+Requires:	jemmy
+Requires:	%{name}-driver-file = %{version}-%{release}
+
+%description file
+This module provides the TFile* classes for simple, uniform,
+transparent, thread-safe, read/write access to archive files
+as if they were virtual directories in a file system path.
+
+This module also provides Swing GUI classes for viewing file
+trees and choosing entries in archive files.
+
+%package kernel
+Summary:	Implements and manages virtual file systems for %{name}
+Requires:	java
+Requires:	jpackage-utils
+
+
+%description kernel
+This module implements virtual file systems from arbitrary resources,
+manages their state and commits unsynchronized changes if required or
+requested.
+
+The TrueZIP Kernel uses file system drivers to access these resources.
+It provides multithreading, multiplexing, caching and buffering so that
+the file system drivers do not need to take care of this.
+
+%package path
+Summary:	TrueZip Path
+Requires:	java
+Requires:	jpackage-utils
+Requires:	%{name}-file = %{version}-%{release}
+
+%description path
+This module provides the TPath class for simple, uniform,
+transparent, thread-safe, read/write access to archive
+files as if they were virtual directories in a file system path.
+It also provides the TFileSystemProvider class to implement a file
+system provider for the NIO.2 API (JSR 203) in JSE 7.
+
+%package samples
+Summary:	TrueZip Samples
+Requires:	java
+Requires:	jpackage-utils
+Requires:	%{name}-driver-tzp = %{version}-%{release}
+Requires:	%{name}-extension-jmx-jul = %{version}-%{release}
+
+%description samples
+Sample applications to demonstrate the usage of various TrueZIP module
+APIs.
+
+Some of these samples use rather advanced or exotic features which
+makes them more complex than necessary for a typical application.
+
+By design, the sample applications use all file system drivers which
+can be located at runtime.
+Location of the available file system drivers is performed by
+scanning the class path - see the Javaodoc for the TrueZIP Kernel class
+de.schlichtherle.truezip.fs.sl.FsDriverLocator for more information.
+
+%package swing
+Summary:	TrueZip general Swing GUI classes
+Requires:	java
+Requires:	jpackage-utils
+Requires:	jemmy
+
+%description swing
+General Swing GUI classes.
+
+This module does not depend on other TrueZIP modules.
+
+%package javadoc
+Summary:	Javadocs for %{name}
+Group:		Documentation
+Requires:	jpackage-utils
+
+%description javadoc
+This package contains the API documentation for %{name}.
+
+%prep
+%setup -q
+
+find -type f -name *.zip -delete
+find -type f -name *.jar -delete
+find -type f -name *.class -delete
+
+%patch0
+
+
+%build
+# Skipping tests because some fail with 'Bad test setup' error
+mvn-rpmbuild package javadoc:aggregate -Dmaven.test.skip=true
+
+%install
+
+install -d -m 755 %{buildroot}%{_javadir}/%{name}
+install -d -m 755 %{buildroot}%{_mavenpomdir}
+
+# These modules all have same structure, so we loop through to install
+for module in file kernel path samples swing; do
+    install -m 644 %{name}-${module}/target/%{name}-${module}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-${module}.jar
+
+    install -pm 644 %{name}-${module}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-${module}.pom
+
+    %add_maven_depmap JPP.%{name}-%{name}-${module}.pom %{name}/%{name}-${module}.jar -f ${module}
+
+done
+
+# truezip-driver has submodules
+install -pm 644 %{name}-driver/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-driver.pom
+%add_maven_depmap JPP.%{name}-%{name}-driver.pom -f driver
+
+for sub in file http tar tzp zip; do
+    cp -p %{name}-driver/%{name}-driver-${sub}/target/%{name}-driver-${sub}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-driver-${sub}.jar
+
+    install -pm 644 %{name}-driver/%{name}-driver-${sub}/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-driver-${sub}.pom
+    %add_maven_depmap JPP.%{name}-%{name}-driver-${sub}.pom %{name}/%{name}-driver-${sub}.jar -f driver-${sub}
+done
+
+# truezip-extension-jmx-jul is exceptional
+install -pm 644 %{name}-extension/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-extension.pom
+%add_maven_depmap JPP.%{name}-%{name}-extension.pom -f extension
+
+cp -p %{name}-extension/%{name}-extension-jmx-jul/target/%{name}-extension-jmx-jul-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-extension-jmx-jul.jar
+
+install -pm 644 %{name}-extension/%{name}-extension-jmx-jul/pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}-extension-jmx-jul.pom
+%add_maven_depmap JPP.%{name}-%{name}-extension-jmx-jul.pom %{name}/%{name}-extension-jmx-jul.jar -f extension-jmx-jul
+
+
+#JAVADOCS
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -rp target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}
+
+# main POM
+install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom
+%add_maven_depmap JPP.%{name}-%{name}.pom
+
+
+%files
+%{_mavenpomdir}/JPP.%{name}-%{name}.pom
+%{_mavendepmapfragdir}/%{name}
+
+%files javadoc
+%{_javadocdir}/%{name}
+
+%files driver-parent
+%{_mavenpomdir}/JPP.%{name}-%{name}-driver.pom
+%{_mavendepmapfragdir}/%{name}-driver
+
+%files driver-file
+%{_javadir}/%{name}/%{name}-driver-file.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-driver-file.pom
+%{_mavendepmapfragdir}/%{name}-driver-file
+
+%files driver-http
+%{_javadir}/%{name}/%{name}-driver-http.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-driver-http.pom
+%{_mavendepmapfragdir}/%{name}-driver-http
+
+%files driver-tar
+%{_javadir}/%{name}/%{name}-driver-tar.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-driver-tar.pom
+%{_mavendepmapfragdir}/%{name}-driver-tar
+
+%files driver-tzp
+%{_javadir}/%{name}/%{name}-driver-tzp.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-driver-tzp.pom
+%{_mavendepmapfragdir}/%{name}-driver-tzp
+
+%files driver-zip
+%{_javadir}/%{name}/%{name}-driver-zip.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-driver-zip.pom
+%{_mavendepmapfragdir}/%{name}-driver-zip
+
+%files extension-parent
+%{_mavenpomdir}/JPP.%{name}-%{name}-extension.pom
+%{_mavendepmapfragdir}/%{name}-extension
+
+%files extension-jmx-jul
+%{_javadir}/%{name}/%{name}-extension-jmx-jul.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-extension-jmx-jul.pom
+%{_mavendepmapfragdir}/%{name}-extension-jmx-jul
+
+%files file
+%{_javadir}/%{name}/%{name}-file.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-file.pom
+%{_mavendepmapfragdir}/%{name}-file
+
+%files kernel
+%{_javadir}/%{name}/%{name}-kernel.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-kernel.pom
+%{_mavendepmapfragdir}/%{name}-kernel
+
+%files path
+%{_javadir}/%{name}/%{name}-path.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-path.pom
+%{_mavendepmapfragdir}/%{name}-path
+
+%files samples
+%{_javadir}/%{name}/%{name}-samples.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-samples.pom
+%{_mavendepmapfragdir}/%{name}-samples
+
+%files swing
+%{_javadir}/%{name}/%{name}-swing.jar
+%{_mavenpomdir}/JPP.%{name}-%{name}-swing.pom
+%{_mavendepmapfragdir}/%{name}-swing
+
+
+%changelog
+* Mon Jul 23 2012 Gerard Ryan <galileo at fedoraproject.org> - 7.5.5-4
+- Fix spelling errors; Add license file to srpm.
+
+* Tue Jul 17 2012 Gerard Ryan <galileo at fedoraproject.org> - 7.5.5-3
+- Put jar files into a sub-directory of javadir
+- Add -f flag to add_maven_depmap macro calls
+- correctly name POM files
+- Add release requirement to versioned dependencies
+- Remove unnecessary group field from subpackages
+
+* Fri Jul 13 2012 Gerard Ryan <galileo at fedoraproject.org> - 7.5.5-2
+- Add additional maven requirements to BR.
+
+* Fri Jun 29 2012 Gerard Ryan <galileo at fedoraproject.org> - 7.5.5-1
+- Initial package.


More information about the scm-commits mailing list