Name: shiro Version: 1.2.4 Release: 2%{?dist} Summary: A powerful and flexible open-source security framework License: ASL 2.0 URL: http://shiro.apache.org/ Source0: http://www.apache.org/dist/shiro/%{version}/%{name}-root-%{version}-source-release.zip Source1: LICENSE.Beerware Source2: shiro-tools-hasher.xml # Add quartz 2.2.1 support Patch0: shiro-1.2.4-quartz.patch BuildRequires: docbook-dtds BuildRequires: docbook-style-xsl BuildRequires: libxslt BuildRequires: maven-local BuildRequires: mvn(aopalliance:aopalliance) BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(com.google.inject:guice) BuildRequires: mvn(com.google.inject.extensions:guice-multibindings) BuildRequires: mvn(com.google.inject.extensions:guice-servlet) BuildRequires: mvn(commons-beanutils:commons-beanutils) BuildRequires: mvn(commons-cli:commons-cli) BuildRequires: mvn(commons-codec:commons-codec) BuildRequires: mvn(javax.servlet:javax.servlet-api) BuildRequires: mvn(javax.servlet:jstl) BuildRequires: mvn(javax.servlet.jsp:javax.servlet.jsp-api) BuildRequires: mvn(log4j:log4j:1.2.17) BuildRequires: mvn(net.sf.ehcache:ehcache-core) BuildRequires: mvn(org.apache:apache:pom:) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-release-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-remote-resources-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-site-plugin) BuildRequires: mvn(org.apache.rat:apache-rat-plugin) BuildRequires: mvn(org.apache.santuario:xmlsec) BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.codehaus.mojo:buildnumber-maven-plugin) BuildRequires: mvn(org.codehaus.mojo:exec-maven-plugin) BuildRequires: mvn(org.jasig.cas.client:cas-client-core) BuildRequires: mvn(org.quartz-scheduler.internal:quartz-core) BuildRequires: mvn(org.slf4j:jcl-over-slf4j) BuildRequires: mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.slf4j:slf4j-log4j12) BuildRequires: mvn(org.slf4j:slf4j-simple) BuildRequires: mvn(org.springframework:spring-context) # Test deps BuildRequires: mvn(hsqldb:hsqldb:1) BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.codehaus.groovy:groovy:1.8.9) BuildRequires: mvn(org.easymock:easymock) BuildRequires: mvn(org.springframework:spring-test) BuildArch: noarch %description Apache Shiro is a powerful and flexible open-source security framework that cleanly handles authentication, authorization, enterprise session management, single sign-on and cryptography services. %package core Summary: Apache Shiro :: Core # Beerware core/src/main/java/org/apache/shiro/codec/H64.java apr_md5_encode() routine uses FreeBSD crypt() code License: ASL 2.0 and Beerware # Certain parts of the source code for this product # was copied and modified from the (old) source code # developed by the Spring Framework Project # deprecated code in SF # core/src/main/java/org/apache/shiro/jndi/JndiLocator.java # core/src/main/java/org/apache/shiro/util/JavaEnvironment.java # core/src/main/java/org/apache/shiro/jndi/JndiCallback.java # core/src/main/java/org/apache/shiro/jndi/JndiTemplate.java Provides: bundled(spring-context) # core/src/main/java/org/apache/shiro/util/AntPathMatcher.java # core/src/main/java/org/apache/shiro/util/StringUtils.java Provides: bundled(spring-core) # core/src/main/java/org/apache/shiro/util/JdbcUtils.java Provides: bundled(spring-jdbc) # core/src/main/java/org/apache/shiro/dao/DataAccessException.java Provides: bundled(spring-tx) %description core Apache Shiro :: Core. %package cas Summary: Apache Shiro :: Support :: CAS %description cas Apache Shiro Jasig CAS support. %package ehcache Summary: Apache Shiro :: Support :: EHCache %description ehcache Apache Shiro Ehcache-based framework caching. %package guice Summary: Apache Shiro :: Support :: Guice %description guice Apache Shiro Google Guice integration. %package quartz Summary: Apache Shiro :: Support :: Quartz %description quartz Apache Shiro Quartz-based scheduling for Shiro native session validation. %package root Summary: Apache Shiro Parent POM %description root Apache Shiro Parent POM. %package samples Summary: Apache Shiro :: Samples - Parent POM %description samples Apache Shiro :: Samples - Parent POM. %package samples-quickstart Summary: Apache Shiro :: Samples :: Quick Start %description samples-quickstart Apache Shiro :: Samples :: Quick Start. %package spring Summary: Apache Shiro :: Support :: Spring %description spring Apache Shiro SpringFramework integration. %package support Summary: Apache Shiro :: Support - Parent POM %description support Apache Shiro :: Support - Parent POM. %package tools Summary: Apache Shiro :: Tools - Parent POM %description tools Apache Shiro :: Tools - Parent POM. %package tools-hasher Summary: Apache Shiro :: Tools :: Hasher %description tools-hasher Apache Shiro command-line program to perform hashing (MD5, SHA, etc) for files, streams and passwords. %package web Summary: Apache Shiro :: Web # web/src/main/java/org/apache/shiro/web/util/WebUtils.java Provides: bundled(spring-web) # web/src/main/java/org/apache/shiro/web/util/RedirectView.java Provides: bundled(spring-webmvc) %description web Apache Shiro support for web-based applications. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{name}-root-%{version} # Cleanup find . -name '*.jar' -delete find . -name '*.class' -delete %patch0 -p1 %pom_disable_module all # Require org.codehaus.mojo:aspectj-maven-plugin:1.4 %pom_disable_module aspectj support # Require all support module %pom_disable_module features support # Require shiro-aspectj %pom_disable_module aspectj samples # Require jetty 6 %pom_disable_module web samples # Require org.codehaus.mojo.webstart webstart-maven-plugin 1.0-alpha-2 %pom_disable_module spring-client samples # Require org.mortbay.jetty maven-jetty-plugin %pom_disable_module spring samples %pom_disable_module spring-hibernate samples %pom_remove_plugin :lifecycle-mapping %pom_remove_plugin :gmaven-plugin %pom_remove_plugin :dependency-maven-plugin %pom_remove_plugin :versions-maven-plugin %pom_remove_plugin :nexus-staging-maven-plugin %pom_remove_plugin :maven-toolchains-plugin %pom_remove_dep :crowd-integration-client %pom_xpath_set "pom:properties/pom:hsqldb.version" 1 %pom_xpath_inject "pom:dependency[pom:groupId='hsqldb']" '${hsqldb.version}' core %pom_xpath_set "pom:properties/pom:groovy.version" 1.8.9 %pom_xpath_set "pom:dependency[pom:groupId = 'org.codehaus.groovy']/pom:artifactId" groovy # Force usage of servlet 3.1 and jsp 2.3 %pom_change_dep -r :servlet-api javax.servlet:javax.servlet-api:3.1.0 %pom_change_dep -r :jsp-api javax.servlet.jsp:javax.servlet.jsp-api:2.3.2-b01 %pom_xpath_set "pom:properties/pom:quartz.version" 2.2.1 %pom_xpath_set "pom:properties/pom:quartz.bundle.version" 2.2.1 support/features %pom_change_dep -r :quartz org.quartz-scheduler.internal:quartz-core %pom_xpath_set "pom:dependency[pom:groupId= 'log4j']/pom:version" 1.2.17 for p in core support/ehcache support/spring support/quartz web ; do %pom_xpath_inject "pom:dependency[pom:groupId= 'log4j']" "1.2.17" ${p} done # package javax.servlet does not exist %pom_add_dep javax.servlet:javax.servlet-api:3.1.0:provided support/cas # Remove opensaml support. use, also, org.opensaml:xmltooling currently is broken. %pom_remove_dep org.opensaml:opensaml support/cas sed -i "s|return new Saml11TicketValidator(urlPrefix);|return null;|" \ support/cas/src/main/java/org/apache/shiro/cas/CasRealm.java %pom_remove_dep org.apache.shiro:shiro-aspectj support/spring rm -r support/spring/src/test/java/org/apache/shiro/spring/security/interceptor/SchemaAuthorizationAnnotationTest.java # Fails on ARM builder rm -r support/spring/src/test/java/org/apache/shiro/spring/security/interceptor/AbstractAuthorizationAnnotationTest.java \ support/spring/src/test/java/org/apache/shiro/spring/security/interceptor/DapcAuthorizationAnnotationTest.java # Disable embedded system library copy %pom_remove_plugin :maven-assembly-plugin tools/hasher # Fix non ASCII chars for s in core/src/main/java/org/apache/shiro/env/DefaultEnvironment.java;do native2ascii -encoding UTF8 ${s} ${s} done # Build problem with easymock3 rm -r support/guice/src/test/java/org/apache/shiro/guice/web/SimpleFilterChainResolverTest.java \ support/guice/src/test/java/org/apache/shiro/guice/web/AbstractInjectionProviderTest.java \ support/guice/src/test/java/org/apache/shiro/guice/web/WebGuiceEnvironmentTest.java \ support/guice/src/test/java/org/apache/shiro/guice/LifecycleTypeListenerTest.java \ support/guice/src/test/java/org/apache/shiro/guice/aop/AopAllianceMethodInterceptorAdapterTest.java \ support/guice/src/test/java/org/apache/shiro/guice/BeanTypeListenerTest.java \ support/guice/src/test/java/org/apache/shiro/guice/web/SimpleFilterChainTest.java \ support/guice/src/test/java/org/apache/shiro/guice/ShiroModuleTest.java \ support/guice/src/test/java/org/apache/shiro/guice/web/ShiroWebModuleTest.java \ support/guice/src/test/java/org/apache/shiro/guice/web/PathMatchingFilterProviderTest.java \ support/guice/src/test/java/org/apache/shiro/guice/web/FilterConfigTest.java cp -p %{SOURCE1} . # Fix CRLF for fil in LICENSE LICENSE.Beerware README RELEASE-NOTES; do sed 's/\r//' -i.orig $fil touch -r $fil.orig $fil rm -f $fil.orig done %mvn_package :%{name}-core::tests: %{name}-core %build %mvn_build -s xsltproc \ --nonet --stringparam man.output.quietly 1 \ --stringparam funcsynopsis.style ansi \ --stringparam man.authors.section.enabled 0 \ --stringparam man.copyright.section.enabled 0 \ /usr/share/sgml/docbook/xsl-stylesheets/manpages/docbook.xsl %{SOURCE2} %install %mvn_install %jpackage_script org.apache.shiro.tools.hasher.Hasher "" "" %{name}/%{name}-core:%{name}/%{name}-tools-hasher:commons-cli:slf4j/slf4j-simple %{name}-tools-hasher true mkdir -p %{buildroot}%{_mandir}/man1 install -pm 644 %{name}-tools-hasher.1 %{buildroot}%{_mandir}/man1/ %files core -f .mfiles-%{name}-core %doc README RELEASE-NOTES %license LICENSE LICENSE.Beerware NOTICE %files cas -f .mfiles-%{name}-cas %license LICENSE NOTICE %files ehcache -f .mfiles-%{name}-ehcache %license LICENSE NOTICE %files guice -f .mfiles-%{name}-guice %license LICENSE NOTICE %files quartz -f .mfiles-%{name}-quartz %license LICENSE NOTICE %files root -f .mfiles-%{name}-root %license LICENSE NOTICE %files samples -f .mfiles-%{name}-samples %license LICENSE NOTICE %files samples-quickstart -f .mfiles-samples-quickstart %license LICENSE NOTICE %files spring -f .mfiles-%{name}-spring %license LICENSE NOTICE %files support -f .mfiles-%{name}-support %license LICENSE NOTICE %files tools -f .mfiles-%{name}-tools %license LICENSE NOTICE %files tools-hasher -f .mfiles-%{name}-tools-hasher %{_bindir}/* %{_mandir}/man1/%{name}-tools-hasher.* %license LICENSE NOTICE %files web -f .mfiles-%{name}-web %license LICENSE NOTICE %files javadoc -f .mfiles-javadoc %license LICENSE NOTICE %changelog * Fri Oct 23 2015 gil cattaneo 1.2.4-2 - fix core license field - add bundled(foo) provides - preserve timestamps - resolve some rpmlint problem * Fri Jul 31 2015 gil cattaneo 1.2.4-1 - update to 1.2.4 * Mon Sep 22 2014 gil cattaneo 1.2.3-1 - update to 1.2.3 * Mon Jun 03 2013 gil cattaneo 1.2.2-1 - update to 1.2.2 * Tue Oct 16 2012 gil cattaneo 1.2.1-1 - initial rpm