316 lines
9.9 KiB
RPMSpec
316 lines
9.9 KiB
RPMSpec
#
|
|
# spec file for package cglib (Version 2.1.3)
|
|
#
|
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define _with_repolib 1
|
|
%define _without_hook 1
|
|
%define with_repolib %{?_with_repolib:1}%{!?_with_repolib:0}
|
|
%define without_repolib %{!?_with_repolib:1}%{?_with_repolib:0}
|
|
%define repodir %{_javadir}/repository.jboss.com/cglib/%{version}-brew
|
|
%define repodirlib %{repodir}/lib
|
|
%define repodirsrc %{repodir}/src
|
|
# If you don't want to build the aspectwerkz hook,
|
|
# while aspectwerkz isn't available yet,
|
|
# give rpmbuild option '--without hook'
|
|
# A cglib without net.sf.cglib.transform.hook.* is useful to
|
|
# build jmock which is an indirect dependency of cglib itself (through
|
|
# aspectwerkz).
|
|
%define with_hook %{!?_without_hook:1}%{?_without_hook:0}
|
|
%define without_hook %{?_without_hook:1}%{!?_without_hook:0}
|
|
%define section free
|
|
%define uscver 2.1_3
|
|
Summary: Code Generation Library
|
|
|
|
Name: cglib
|
|
Version: 2.1.3
|
|
Release: 2
|
|
License: The Apache Software License
|
|
Url: http://cglib.sourceforge.net/
|
|
Group: Development/Libraries/Java
|
|
Source0: cglib-src-2.1_3.jar
|
|
Source1: cglib-missing-words.txt
|
|
Patch0: cglib-2.1.3-build_xml.patch
|
|
Patch1: cglib-ExamplePreProcessor.patch
|
|
# FIXME
|
|
# Testcase "testFailOnMemoryLeak" fails with java-1.4.2-bea-1.4.2.08-2jpp
|
|
# producing a LinkageError.
|
|
# Testcase "testRegisterCallbacks" also fails.
|
|
# java-1.4.2-sun-1.4.2.10-1jpp and # java-1.4.2-ibm-1.4.2.3-1jpp don't
|
|
Patch2: cglib-2.1.3-TestEnhancer.patch
|
|
#Patch3: cglib-2.1.3-TestAll.patch
|
|
Source2: cglib-component-info.xml
|
|
BuildRequires: jpackage-utils >= 1.6
|
|
BuildRequires: ant >= 1.6
|
|
BuildRequires: ant-junit >= 1.6
|
|
BuildRequires: jarjar
|
|
BuildRequires: junit
|
|
BuildRequires: asm >= 1.5.3
|
|
BuildRequires: asm2
|
|
%if %{with_hook}
|
|
BuildRequires: aspectwerkz >= 1.0
|
|
%endif
|
|
BuildRequires: unzip
|
|
BuildRequires: java-devel
|
|
Requires: asm >= 1.5.3
|
|
%if %{with_hook}
|
|
#Optional: aspectwerkz >= 0:1.0
|
|
%endif
|
|
Provides: %{name}-nohook = %{version}-%{release}
|
|
BuildArch: noarch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
%description
|
|
cglib is a powerful, high performance and quality Code Generation
|
|
Library, It is used to extend JAVA classes and implements interfaces at
|
|
runtime.
|
|
|
|
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
|
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
|
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
|
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
|
classes already.
|
|
|
|
|
|
|
|
%if %{with_repolib}
|
|
|
|
%package repolib
|
|
License: The Apache Software License
|
|
Summary: Code Generation Library
|
|
Group: Development/Libraries/Java
|
|
|
|
%description repolib
|
|
cglib is a powerful, high performance and quality Code Generation
|
|
Library, It is used to extend JAVA classes and implements interfaces at
|
|
runtime.
|
|
|
|
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
|
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
|
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
|
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
|
classes already.
|
|
|
|
|
|
|
|
%endif
|
|
|
|
%package nohook
|
|
License: The Apache Software License
|
|
Summary: Code Generation Library
|
|
Group: Development/Libraries/Java
|
|
Requires: asm >= 1.5.3
|
|
%if ! %{with_hook}
|
|
Provides: %{name} = %{version}-%{release}
|
|
%endif
|
|
|
|
%description nohook
|
|
cglib is a powerful, high performance and quality Code Generation
|
|
Library, It is used to extend JAVA classes and implements interfaces at
|
|
runtime.
|
|
|
|
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
|
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
|
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
|
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
|
classes already.
|
|
|
|
|
|
|
|
%package javadoc
|
|
License: The Apache Software License
|
|
Summary: Code Generation Library
|
|
Group: Development/Libraries/Java
|
|
|
|
%description javadoc
|
|
cglib is a powerful, high performance and quality Code Generation
|
|
Library, It is used to extend JAVA classes and implements interfaces at
|
|
runtime.
|
|
|
|
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
|
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
|
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
|
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
|
classes already.
|
|
|
|
|
|
|
|
%package demo
|
|
License: The Apache Software License
|
|
Summary: Code Generation Library
|
|
Group: Development/Libraries/Java
|
|
|
|
%description demo
|
|
cglib is a powerful, high performance and quality Code Generation
|
|
Library, It is used to extend JAVA classes and implements interfaces at
|
|
runtime.
|
|
|
|
NOTE: To use the Aspectwerks hook (net.sf.cglib.transform.hook.*), make
|
|
sure aspectwerks.jar is in the Classpath (from the 'aspectwerks' RPM)
|
|
NOTE: If you use the cglib.jar you may need to add asm.jar to your
|
|
ClassPath (from the 'asm' RPM). The cglib-nodep.jar includes the ASM
|
|
classes already.
|
|
|
|
|
|
|
|
%prep
|
|
cat <<EOT
|
|
If you don't want to build the aspectwerkz hook,
|
|
while aspectwerkz isn't available yet,
|
|
give rpmbuild option '--without hook'
|
|
A cglib without net.sf.cglib.transform.hook.* is useful to
|
|
build jmock which is an indirect dependency of cglib itself (through
|
|
aspectwerkz).
|
|
EOT
|
|
%setup -T -c -n %{name}
|
|
unzip -q %{SOURCE0}
|
|
# remove all binary libs
|
|
for f in $(find . -name "*.jar"); do mv $f $f.no; done
|
|
( cat << EO_JP
|
|
grant codeBase "file:/-"{
|
|
permission java.security.AllPermission;
|
|
};
|
|
EO_JP
|
|
) > java.policy
|
|
# add missing test input file
|
|
cp %{SOURCE1} src/test/net/sf/cglib/util/words.txt
|
|
%if %{without_hook}
|
|
rm src/proxy/net/sf/cglib/transform/hook/*
|
|
rm src/test/net/sf/cglib/transform/hook/*
|
|
%endif
|
|
%patch0 -b .sav
|
|
#test
|
|
%if %{with_hook}
|
|
%patch1 -b .sav
|
|
%endif
|
|
%patch2 -b .sav
|
|
#%patch3 -p1
|
|
|
|
%build
|
|
build-jar-repository -s -p lib \
|
|
ant \
|
|
asm/asm-attrs \
|
|
asm/asm \
|
|
asm2/asm2 \
|
|
asm/asm-util \
|
|
jarjar \
|
|
junit
|
|
%if %{with_hook}
|
|
build-jar-repository -s -p lib aspectwerkz-core
|
|
%endif
|
|
export CLASSPATH=
|
|
export OPT_JAR_LIST=:
|
|
ant jar javadoc test
|
|
%if %{with_hook}
|
|
mkdir _tmp
|
|
pushd _tmp
|
|
jar xf ../dist/%{name}-%{uscver}.jar
|
|
rm -rf net/sf/cglib/transform/hook
|
|
jar cmf META-INF/MANIFEST.MF ../dist/%{name}-nohook-%{uscver}.jar net
|
|
popd
|
|
rm -rf _tmp
|
|
%else
|
|
cp dist/%{name}-%{uscver}.jar dist/%{name}-nohook-%{uscver}.jar
|
|
%endif
|
|
|
|
%install
|
|
# jars
|
|
mkdir -p $RPM_BUILD_ROOT%{_javadir}
|
|
cp -p dist/%{name}-nohook-%{uscver}.jar \
|
|
$RPM_BUILD_ROOT%{_javadir}/%{name}-nohook-%{version}.jar
|
|
%if %{with_hook}
|
|
cp -p dist/%{name}-%{uscver}.jar \
|
|
$RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
|
|
cp -p dist/%{name}-nodep-%{uscver}.jar \
|
|
$RPM_BUILD_ROOT%{_javadir}/%{name}-nodep-%{version}.jar
|
|
%else
|
|
# avoid conflicts between cglib and cglib-nohook
|
|
cp -p dist/%{name}-nodep-%{uscver}.jar \
|
|
$RPM_BUILD_ROOT%{_javadir}/%{name}-nohook-nodep-%{version}.jar
|
|
%endif
|
|
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
|
|
# javadoc
|
|
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
|
|
rmdir docs/api
|
|
cp -pr docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
|
|
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
|
|
#demo
|
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
|
|
cp -pr src/proxy/samples $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
|
|
%if %{with_repolib}
|
|
install -d -m 755 $RPM_BUILD_ROOT%{repodir}
|
|
install -d -m 755 $RPM_BUILD_ROOT%{repodirlib}
|
|
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{repodir}/component-info.xml
|
|
sed -i "s/@VERSION@/%{version}-brew/g" $RPM_BUILD_ROOT%{repodir}/component-info.xml
|
|
tag=`echo %{name}-%{version}-%{release} | sed 's|\.|_|g'`
|
|
sed -i "s/@TAG@/$tag/g" $RPM_BUILD_ROOT%{repodir}/component-info.xml
|
|
install -d -m 755 $RPM_BUILD_ROOT%{repodirsrc}
|
|
install -p -m 644 %{PATCH0} $RPM_BUILD_ROOT%{repodirsrc}
|
|
install -p -m 644 %{PATCH1} $RPM_BUILD_ROOT%{repodirsrc}
|
|
install -p -m 644 %{SOURCE0} $RPM_BUILD_ROOT%{repodirsrc}
|
|
install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{repodirsrc}
|
|
install -p -m 644 %{PATCH2} $RPM_BUILD_ROOT%{repodirsrc}
|
|
# Deploy cglib-nodeps.jar as cglib.jar to conform to the existing usage in JBoss
|
|
%if %{with_hook}
|
|
cp -p $RPM_BUILD_ROOT%{_javadir}/cglib-nodep.jar $RPM_BUILD_ROOT%{repodirlib}/cglib.jar
|
|
%else
|
|
cp -p $RPM_BUILD_ROOT%{_javadir}/cglib-nohook.jar $RPM_BUILD_ROOT%{repodirlib}/cglib.jar
|
|
%endif
|
|
%endif
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
%if %{with_hook}
|
|
|
|
%files
|
|
%defattr(0644,root,root,0755)
|
|
%doc LICENSE
|
|
%{_javadir}/%{name}-%{version}.jar
|
|
%{_javadir}/%{name}.jar
|
|
%{_javadir}/%{name}-nodep-%{version}.jar
|
|
%{_javadir}/%{name}-nodep.jar
|
|
%endif
|
|
|
|
%files nohook
|
|
%defattr(0644,root,root,0755)
|
|
%doc LICENSE
|
|
%{_javadir}/%{name}-nohook-%{version}.jar
|
|
%{_javadir}/%{name}-nohook.jar
|
|
%if ! %{with_hook}
|
|
%{_javadir}/%{name}-nohook-nodep*.jar
|
|
%endif
|
|
|
|
%files javadoc
|
|
%defattr(0644,root,root,0755)
|
|
%{_javadocdir}/%{name}-%{version}
|
|
%{_javadocdir}/%{name}
|
|
|
|
%files demo
|
|
%defattr(0644,root,root,0755)
|
|
%{_datadir}/%{name}-%{version}
|
|
%if %{with_repolib}
|
|
|
|
%files repolib
|
|
%defattr(0644,root,root,0755)
|
|
%{_javadir}/repository.jboss.com
|
|
%endif
|
|
|
|
%changelog
|
|
* Tue Apr 28 2009 mvyskocil@suse.cz
|
|
- Fixed package descriptions
|
|
* Thu Apr 23 2009 mvyskocil@suse.cz
|
|
- Initial packaging of cglib-nohooks in SUSE (2.1.3 from jpp5)
|