Fridrich Strba 2020-03-26 10:08:44 +00:00 committed by Git OBS Bridge
parent d36345772c
commit 5aecca4a0f
2 changed files with 24 additions and 50 deletions

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Thu Mar 26 10:02:18 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Do not distribute the sources.
- Do not distribute the headers since the shared libraries are not
meant to be linked with, but they are dlopened from the Java
code
- Do not distribute javadoc as a zip file but as directory in order
to be usable directly
- Install the java jars into a platform dependent location, since
they are having JNI calls
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Mar 24 07:29:04 UTC 2020 - Fridrich Strba <fstrba@suse.com> Tue Mar 24 07:29:04 UTC 2020 - Fridrich Strba <fstrba@suse.com>

View File

@ -44,6 +44,7 @@ BuildRequires: unzip
BuildRequires: zip BuildRequires: zip
BuildRequires: pkgconfig(lockdev) BuildRequires: pkgconfig(lockdev)
Requires: librxtx%{libversion} Requires: librxtx%{libversion}
Obsoletes: %{name}-src
%if 0%{?sle_version} > 150100 || 0%{?suse_version} >= 1550 || %{force_aqute_bnd} %if 0%{?sle_version} > 150100 || 0%{?suse_version} >= 1550 || %{force_aqute_bnd}
BuildRequires: aqute-bnd BuildRequires: aqute-bnd
BuildRequires: javapackages-local BuildRequires: javapackages-local
@ -63,40 +64,23 @@ the specification for Sun's Java Communications API.
%package javadoc %package javadoc
Summary: Javadocs for rxtx-java Summary: Javadocs for rxtx-java
Group: Documentation/HTML Group: Documentation/HTML
Requires(pre): coreutils BuildArch: noarch
%description javadoc %description javadoc
RxTx is a Java library, using a native implementation (via JNI), providing serial RxTx is a Java library, using a native implementation (via JNI), providing serial
and parallel communication for the Java Development Toolkit (JDK). It is based on and parallel communication for the Java Development Toolkit (JDK). It is based on
the specification for Sun's Java Communications API. the specification for Sun's Java Communications API.
%package src
Summary: Java Sources for rxtx-java
Group: Development/Sources
%description src
RxTx is a Java library, using a native implementation (via JNI), providing serial
and parallel communication for the Java Development Toolkit (JDK). It is based on
the specification for Sun's Java Communications API.
%package -n librxtx%{libversion} %package -n librxtx%{libversion}
Summary: Full Java CommAPI implementation native library Summary: Full Java CommAPI implementation native library
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Obsoletes: librxtx%{libversion}-devel
%description -n librxtx%{libversion} %description -n librxtx%{libversion}
RxTx is a Java library, using a native implementation (via JNI), providing serial RxTx is a Java library, using a native implementation (via JNI), providing serial
and parallel communication for the Java Development Toolkit (JDK). It is based on and parallel communication for the Java Development Toolkit (JDK). It is based on
the specification for Sun's Java Communications API. the specification for Sun's Java Communications API.
%package -n librxtx%{libversion}-devel
Summary: Full Java CommAPI implementation native library include
Group: Development/Sources
%description -n librxtx%{libversion}-devel
RxTx is a Java library, using a native implementation (via JNI), providing serial
and parallel communication for the Java Development Toolkit (JDK). It is based on
the specification for Sun's Java Communications API.
%prep %prep
%setup -q -n %{src_name}-%{upver}%{prever} %setup -q -n %{src_name}-%{upver}%{prever}
%patch0 -p1 %patch0 -p1
@ -133,13 +117,11 @@ mv RXTXcomm-bnd.jar RXTXcomm.jar
# build javadoc # build javadoc
mkdir -p javadoc mkdir -p javadoc
javadoc -d javadoc src/gnu/io/*.java javadoc -d javadoc src/gnu/io/*.java
cd javadoc
zip -r ../%{name}-%{version}-javadoc.zip .
cd ..
%install %install
mkdir -p %{buildroot}%{_javadir} %{buildroot}%{_libdir} install -dm 0755 %{buildroot}%{_jnidir} %{buildroot}%{_libdir}
make RXTX_PATH=%{buildroot}%{_libdir} JHOME=%{buildroot}%{_javadir} install make RXTX_PATH=%{buildroot}%{_libdir} JHOME=%{buildroot}%{_jnidir} install
find %{buildroot} -name '*.la' -print -delete
find %{buildroot}%{_prefix} -xtype f -print | \ find %{buildroot}%{_prefix} -xtype f -print | \
sed "s@^$RPM_BUILD_ROOT@@g" > INSTALLED_FILES sed "s@^$RPM_BUILD_ROOT@@g" > INSTALLED_FILES
@ -150,41 +132,21 @@ if [ "$(cat INSTALLED_FILES)X" = "X" ] ; then
fi fi
# install javadoc # install javadoc
mkdir -p %{buildroot}%{_javadocdir} install -dm 0755 %{buildroot}%{_javadocdir}
cp %{name}-%{version}-javadoc.zip %{buildroot}%{_javadocdir} cp -r javadoc %{buildroot}%{_javadocdir}/%{name}/
pushd %{buildroot}%{_javadocdir}
ln -s %{name}-%{version}-javadoc.zip %{name}-javadoc.zip
popd
# install src files
cd src
zip -r ../%{name}-%{version}-src.zip gnu/io/
cd ..
cp %{name}-%{version}-src.zip %{buildroot}%{_javadir}
# install lib devel files
mkdir -p %{buildroot}%{_includedir}/rxtx
cp src/*.h %{buildroot}%{_includedir}/rxtx
%files %files
%doc AUTHORS ChangeLog README RMISecurityManager.html INSTALL PORTING TODO %doc AUTHORS ChangeLog README RMISecurityManager.html INSTALL PORTING TODO
%license COPYING %{_jnidir}/RXTXcomm.jar
%{_datadir}/java/RXTXcomm.jar
%files javadoc %files javadoc
%dir %{_javadocdir} %dir %{_javadocdir}
%doc %{_javadocdir}/%{name}-%{version}-javadoc.zip %{_javadocdir}
%doc %{_javadocdir}/%{name}-javadoc.zip %license COPYING
%files src
%{_javadir}/%{name}-%{version}-src.zip
%files -n librxtx%{libversion} %files -n librxtx%{libversion}
%defattr(755,root,root) %defattr(755,root,root)
%{_libdir}/*.so %{_libdir}/*.so
%license COPYING
%files -n librxtx%{libversion}-devel
%{_includedir}/rxtx
%{_libdir}/*.la
%changelog %changelog