Name: jets3t Version: 0.9.0 Release: 1%{?dist} Summary: Java interface to Amazon S3 and CloudFront services Group: Development/Libraries # nuvola theme is under LGPL 2.1 # src/org/jets3t/gui/TableSorter.java BSD License: ASL 2.0 and BSD and LGPLv2+ Url: http://jets3t.s3.amazonaws.com/index.html # hg clone https://bitbucket.org/jmurty/jets3t -r Release-0_9_0 jets3t-0.9.0 # find jets3t-0.9.0/ -name "*.class" -delete # find jets3t-0.9.0/ -name "*.jar" -delete # find jets3t-0.9.0/ -name "*.bat" -delete # tar czf jets3t-0.9.0-clean-src-hg.tar.gz jets3t-0.9.0 Source0: %{name}-%{version}-clean-src-hg.tar.gz Source1: http://repo1.maven.org/maven2/net/java/dev/%{name}/%{name}/%{version}/%{name}-%{version}.pom Source2: http://repo1.maven.org/maven2/net/java/dev/%{name}/%{name}-gui/%{version}/%{name}-gui-0.9.0.pom Source3: http://repo1.maven.org/maven2/net/java/dev/%{name}/cockpit/%{version}/cockpit-%{version}.pom Source4: http://repo1.maven.org/maven2/net/java/dev/%{name}/synchronize/%{version}/synchronize-%{version}.pom # from Debian Source5: %{name}-cockpit.pod Source6: %{name}-cockpitlite.pod Source7: %{name}-synchronize.pod Source8: %{name}-uploader.pod # use jvm apis instead of jug-asl 2.0.0 library Patch0: %{name}-0.8.1-replace_uuid_lib.patch # added system classpath libraries and javadoc task, changed -source -target value 1.5 Patch1: %{name}-%{version}-dist-build.patch # rename some artifacts Patch2: %{name}-0.8.1-build_properties-rename_apps_jars.patch # fix java.home, jets3t.home, add system libraries refs Patch3: %{name}-%{version}-scripts.patch # fix license fsf-address Patch4: %{name}-%{version}-nuvola-fsf-address.patch BuildRequires: java-devel BuildRequires: ant BuildRequires: apache-commons-codec BuildRequires: apache-commons-discovery BuildRequires: apache-commons-logging BuildRequires: BareBonesBrowserLaunch BuildRequires: base64 BuildRequires: bouncycastle BuildRequires: httpcomponents-client BuildRequires: httpcomponents-core BuildRequires: jackson BuildRequires: java-xmlbuilder BuildRequires: javamail BuildRequires: junit BuildRequires: log4j BuildRequires: mx4j BuildRequires: tomcat-servlet-3.0-api # pod2man BuildRequires: perl Requires: apache-commons-codec Requires: apache-commons-logging Requires: httpcomponents-client Requires: httpcomponents-core Requires: java-xmlbuilder Requires: base64 Requires: java BuildArch: noarch %description The JetS3t toolkit provides Java programmers with an API for interacting and managing data stored in Amazon Simple Storage Service and Amazon CloudFront content delivery network. %package app Summary: Graphical and command-line tools for Amazon S3 and CloudFront Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: jpackage-utils Requires: apache-commons-codec Requires: apache-commons-logging Requires: BareBonesBrowserLaunch Requires: base64 Requires: bouncycastle Requires: httpcomponents-client Requires: httpcomponents-core Requires: java-xmlbuilder Requires: log4j %description app The JetS3t toolkit provides Java programmers with an API for interacting and managing data stored in Amazon Simple Storage Service and Amazon CloudFront content delivery network. Features: - jets3t-cockpitlite: A graphical application that Service Providers with S3 accounts may provide to clients or customers without S3 accounts. jets3t-cockpitlite allows users to manage the content of an S3 account to upload files, download files, delete S3 objects and make objects publicly accessible. All these operations are mediated by a Gatekeeper service. - jets3t-cockpit: graphical application for transferring files, viewing and managing the contents of an Amazon S3 account. - jets3t-synchronize: A command-line application for synchronizing directories on your computer with an Amazon S3 account. Ideal for performing back-ups or synchronizing files between different computers. - jets3t-uploader: A graphical application that Service Providers with S3 accounts may provide to clients or customers without S3 accounts. jets3t-uploader allows users to upload files to S3 using a simple wizard-based work-flow, but all uploads must first be authorized by a Gatekeeper service - gatekeeper: A servlet that acts as an authorization service running on a Service Provider's server to mediate access to S3 accounts. It processes requests from client applications such as JetS3t Uploader & CockpitLite, and authorizes the client application to perform operations such as uploads, downloads and deletes. %package javadoc Group: Documentation Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q %patch0 -p0 %patch1 -p0 %patch2 -p0 %patch3 -p0 %patch4 -p0 find . -name "*.war" -delete # fix non ASCII chars for s in src/org/jets3t/tests/BaseStorageServiceTests.java;do native2ascii -encoding UTF8 ${s} ${s} done sed -i 's/\r//' LICENSE-2.0.txt NOTICE.txt resources/images/nuvola/license.txt cp -p %{SOURCE5} . cp -p %{SOURCE6} . cp -p %{SOURCE7} . cp -p %{SOURCE8} . %build ant -f dist-build.xml rebuild-all api-docs for m in cockpitlite cockpit synchronize uploader; do %{_bindir}/pod2man -c '' -r '' %{name}-${m}.pod > %{name}-${m}.1 ; done %install mkdir -p %{buildroot}%{_javadir}/%{name} install -m 644 jars/%{name}-%{version}.jar \ %{buildroot}%{_javadir}/%{name}/%{name}.jar install -m 644 jars/%{name}-cockpit-%{version}.jar \ %{buildroot}%{_javadir}/%{name}/cockpit.jar install -m 644 jars/%{name}-cockpitlite-%{version}.jar \ %{buildroot}%{_javadir}/%{name}/cockpitlite.jar install -m 644 jars/%{name}-gui-%{version}.jar \ %{buildroot}%{_javadir}/%{name}/gui.jar install -m 644 jars/%{name}-synchronize-%{version}.jar \ %{buildroot}%{_javadir}/%{name}/synchronize.jar install -m 644 jars/%{name}-uploader-%{version}.jar \ %{buildroot}%{_javadir}/%{name}/uploader.jar mkdir -p %{buildroot}%{_datadir}/%{name}/jars ( cd %{buildroot}%{_javadir} ln -sf ../../java/%{name}/%{name}.jar %{buildroot}%{_datadir}/%{name}/jars/%{name}-%{version}.jar ln -sf ../../java/%{name}/gui.jar %{buildroot}%{_datadir}/%{name}/jars/%{name}-gui-%{version}.jar ln -sf ../../java/%{name}/cockpit.jar %{buildroot}%{_datadir}/%{name}/jars/%{name}-cockpit-%{version}.jar ln -sf ../../java/%{name}/cockpitlite.jar %{buildroot}%{_datadir}/%{name}/jars/%{name}-cockpitlite-%{version}.jar ln -sf ../../java/%{name}/uploader.jar %{buildroot}%{_datadir}/%{name}/jars/%{name}-uploader-%{version}.jar ln -sf ../../java/%{name}/synchronize.jar %{buildroot}%{_datadir}/%{name}/jars/%{name}-synchronize-%{version}.jar ) mkdir -p %{buildroot}%{_mavenpomdir} install -pm 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP.%{name}-%{name}.pom %add_maven_depmap JPP.%{name}-%{name}.pom %{name}/%{name}.jar install -pm 644 %{SOURCE2} %{buildroot}%{_mavenpomdir}/JPP.%{name}-gui.pom %add_maven_depmap JPP.%{name}-gui.pom %{name}/gui.jar install -pm 644 %{SOURCE3} %{buildroot}%{_mavenpomdir}/JPP.%{name}-cockpit.pom %add_maven_depmap JPP.%{name}-cockpit.pom %{name}/cockpit.jar install -pm 644 %{SOURCE4} %{buildroot}%{_mavenpomdir}/JPP.%{name}-synchronize.pom %add_maven_depmap JPP.%{name}-synchronize.pom %{name}/synchronize.jar mkdir -p %{buildroot}%{_javadocdir}/%{name} cp -pr dist/api-docs/* %{buildroot}%{_javadocdir}/%{name} mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/%{name}/bin for TOOL in cockpit cockpitlite synchronize uploader do install -pm 755 scripts/$TOOL.sh %{buildroot}%{_bindir}/%{name}-$TOOL ln -sf ../../../bin/%{name}-$TOOL %{buildroot}%{_datadir}/%{name}/bin/$TOOL.sh done chmod 0755 %{buildroot}%{_datadir}/%{name}/bin/* mkdir -p %{buildroot}%{_mandir}/man1 install -pm 644 %{name}-*.1 %{buildroot}%{_mandir}/man1/ mkdir -p %{buildroot}%{_sysconfdir}/%{name} sed -i "s|{jets3t-version}|%{version}|" configs/cockpitlite.properties cp -pr configs/* %{buildroot}%{_sysconfdir}/%{name}/ ln -sf ../../../etc/%{name} %{buildroot}%{_datadir}/%{name}/configs mkdir -p %{buildroot}%{_datadir}/%{name}/resources cp -pr resources/* %{buildroot}%{_datadir}/%{name}/resources/ cp -pr servlets %{buildroot}%{_datadir}/%{name}/ %files %dir %{_javadir}/%{name} %{_javadir}/%{name}/cockpit.jar %{_javadir}/%{name}/cockpitlite.jar %{_javadir}/%{name}/gui.jar %{_javadir}/%{name}/jets3t.jar %{_javadir}/%{name}/synchronize.jar %{_javadir}/%{name}/uploader.jar %{_mavenpomdir}/JPP.%{name}-*.pom %{_mavendepmapfragdir}/%{name} %doc LICENSE-2.0.txt NOTICE.txt README.markdown RELEASE_NOTES.markdown %files app %dir %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/%{name}/* %{_bindir}/%{name}-* %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/bin %dir %{_datadir}/%{name}/configs %dir %{_datadir}/%{name}/jars %dir %{_datadir}/%{name}/resources %dir %{_datadir}/%{name}/servlets %{_datadir}/%{name}/jars/* %{_datadir}/%{name}/bin/* %{_datadir}/%{name}/configs %{_datadir}/%{name}/resources %{_datadir}/%{name}/servlets %{_mandir}/man1/* %doc LICENSE-2.0.txt NOTICE.txt %files javadoc %{_javadocdir}/%{name} %doc LICENSE-2.0.txt NOTICE.txt %changelog * Thu Aug 09 2012 gil cattaneo 0.9.0-1 - initial rpm