Accepting request 207909 from home:jengelh:branches:X11:Utilities

- Redo xaw3d-elf.patch to modify Makefile.am instead and to also
  include description
- Remove hackish Provides: from .spec file that were only
  for use with symlinks

OBS-URL: https://build.opensuse.org/request/show/207909
OBS-URL: https://build.opensuse.org/package/show/X11:Utilities/libXaw3d?expand=0&rev=3
This commit is contained in:
Dirk Stoecker 2013-11-25 14:10:04 +00:00 committed by Git OBS Bridge
parent ee14c3f418
commit 55e749da81
3 changed files with 72 additions and 65 deletions

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Fri Nov 22 07:29:57 UTC 2013 - jengelh@inai.de
- Redo xaw3d-elf.patch to modify Makefile.am instead and to also
include description
- Remove hackish Provides: from .spec file that were only
for use with symlinks
-------------------------------------------------------------------
Wed Oct 30 09:31:49 UTC 2013 - werner@suse.de

View File

@ -37,7 +37,7 @@ Patch5: xaw3d-fontset.patch
Patch6: xaw3d-elf.patch
Patch7: xaw3d.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#git#BuildRequires: autoconf >= 2.60, automake, libtool
BuildRequires: autoconf >= 2.60, automake, libtool
BuildRequires: bison
BuildRequires: flex
BuildRequires: pkgconfig
@ -62,12 +62,6 @@ NOTE: Do NOT replace /usr/lib/libXaw.so.6.1!
%package -n libXaw3d6
Summary: The 3D Athena Widget Set
Group: System/Libraries
Requires: libXaw3d8 = %version
%ifarch ppc64 s390x x86_64 sparc64
Provides: libXaw3d.so.6()(64bit)
%else
Provides: libXaw3d.so.6
%endif
%description -n libXaw3d6
Xaw3d is a general-purpose replacement for the Athena toolkit which
@ -76,12 +70,6 @@ adds a 3D appearance and support for XPM images.
%package -n libXaw3d7
Summary: The 3D Athena Widget Set
Group: System/Libraries
Requires: libXaw3d8 = %version
%ifarch ppc64 s390x x86_64 sparc64
Provides: libXaw3d.so.7()(64bit)
%else
Provides: libXaw3d.so.7
%endif
%description -n libXaw3d7
Xaw3d is a general-purpose replacement for the Athena toolkit which
@ -128,22 +116,6 @@ Group: System/Libraries
Requires: libXaw3d6 = %version
Requires: libXaw3d7 = %version
Requires: libXaw3d8 = %version
# Not only for cakes -- the library is a lie, too.
%ifarch ppc64 s390x x86_64 sparc64
Provides: libXaw.so.6()(64bit)
Provides: libXaw6.so.6()(64bit)
Provides: libXaw.so.7()(64bit)
Provides: libXaw7.so.7()(64bit)
Provides: libXaw.so.8()(64bit)
Provides: libXaw8.so.8()(64bit)
%else
Provides: libXaw.so.6
Provides: libXaw6.so.6
Provides: libXaw.so.7
Provides: libXaw7.so.7
Provides: libXaw.so.8
Provides: libXaw8.so.8
%endif
%description -n xaw3dd
Installation of this package will cause programs utilizing the Athena
@ -157,6 +129,7 @@ remove this package.
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -P 6 -P 7 -p1
%build
autoreconf -fi
%configure --docdir=%_docdir/%name --disable-static \
--enable-internationalization \
--enable-multiplane-bitmaps \
@ -171,21 +144,6 @@ make %{?_smp_mflags}
make install DESTDIR=%buildroot
rm -vf %{buildroot}%{_libdir}/*.la
for i in 6 7; do
lib=libXaw3d.so.${i}.0.0
rm -vf %{buildroot}%{_libdir}/${lib}
install -m 0755 src/.mylibs/${lib} %{buildroot}%{_libdir}/
ln -sf ${lib} %{buildroot}%{_libdir}/libXaw3d.so.${i}
done
mkdir -p %{buildroot}%{_libdir}/Xaw3d
for i in 6 7 8; do
lib=libXaw.so.${i}.0.0
rm -vf %{buildroot}%{_libdir}/${lib}
rm -vf %{buildroot}%{_libdir}/Xaw3d/${lib}
install -m 0755 src/.mylibs/${lib} %{buildroot}%{_libdir}/Xaw3d/
ln -sf ${lib} %{buildroot}%{_libdir}/Xaw3d/libXaw.so.${i}
done
# Copy README here and then gobble it up via %%doc
mkdir -p %{buildroot}%_docdir/xaw3dd
cp %_sourcedir/README.SuSE %{buildroot}/%_docdir/xaw3dd/README.SUSE

View File

@ -1,22 +1,63 @@
--- libXaw3d-1.6.2/src/Makefile.in
+++ libXaw3d-1.6.2/src/Makefile.in 2013-10-29 15:45:03.514256258 +0000
@@ -438,7 +438,18 @@ laygram.h: laygram.c
$(MAKE) $(AM_MAKEFLAGS) laygram.c; \
else :; fi
libXaw3d.la: $(libXaw3d_la_OBJECTS) $(libXaw3d_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libXaw3d_la_LINK) -rpath $(libdir) $(libXaw3d_la_OBJECTS) $(libXaw3d_la_LIBADD) $(LIBS)
+ mkdir -p .mylibs
+ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) -version-info 6:0:0 -no-undefined $(LDFLAGS) -o libXaw.la -rpath $(libdir) $(libXaw3d_la_OBJECTS) $(libXaw3d_la_LIBADD) $(LIBS)
+ mv .libs/*.so* .mylibs
+ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) -version-info 6:0:0 -no-undefined $(LDFLAGS) -o $@ -rpath $(libdir) $(libXaw3d_la_OBJECTS) $(libXaw3d_la_LIBADD) $(LIBS)
+ mv .libs/*.so* .mylibs
+ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) -version-info 7:0:0 -no-undefined $(LDFLAGS) -o libXaw.la -rpath $(libdir) $(libXaw3d_la_OBJECTS) $(libXaw3d_la_LIBADD) $(LIBS)
+ mv .libs/*.so* .mylibs
+ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) -version-info 7:0:0 -no-undefined $(LDFLAGS) -o $@ -rpath $(libdir) $(libXaw3d_la_OBJECTS) $(libXaw3d_la_LIBADD) $(LIBS)
+ mv .libs/*.so* .mylibs
+ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) -version-info 8:0:0 -no-undefined $(LDFLAGS) -o libXaw.la -rpath $(libdir) $(libXaw3d_la_OBJECTS) $(libXaw3d_la_LIBADD) $(LIBS)
+ mv .libs/*.so* .mylibs
+ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) -version-info 8:0:0 -no-undefined $(LDFLAGS) -o $@ -rpath $(libdir) $(libXaw3d_la_OBJECTS) $(libXaw3d_la_LIBADD) $(LIBS)
From: Jan Engelhardt <jengelh@inai.de>
Date: 2013-11-22 08:20:11.934094533 +0100
According to Werner Fink, the libraries' DT_SONAME must be
libXaw{,3d}.so.{6,7,8} and that we cannot cheat our way with symlinks
or otherwise the runtime linker would complain, though this has never
been corroborated by some program output. (If you have it, paste it
here in the description.)
On the other hand, the absence (so far) of a runtime linker
complaint is observable on openSUSE 12.3's "xaw3dd" package
where we did in fact use symlinks.
ares07:~> ldd /usr/bin/xterm | grep Xaw
libXaw.so.7 => /usr/lib64/Xaw3d/libXaw.so.7
(0x00007fe219b67000)
ares07:~> readelf -a /usr/lib64/Xaw3d/libXaw.so.7 | grep SONAME
0x000000000000000e (SONAME) Library soname: [libXaw.so.7]
ares07:~> xterm
xterm: Xt error: Can't open display:
xterm: DISPLAY is not set
---
src/Makefile.am | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
Index: libXaw3d-1.6.2/src/Makefile.am
===================================================================
--- libXaw3d-1.6.2.orig/src/Makefile.am
+++ libXaw3d-1.6.2/src/Makefile.am
@@ -1,4 +1,8 @@
-lib_LTLIBRARIES = libXaw3d.la
+# The .la file with newest SOVERSION should come last,
+# so that it "wins" during `make install`.
+lib_LTLIBRARIES = xaw6/libXaw3d.la xaw7/libXaw3d.la libXaw3d.la
+xawdir = ${libdir}/Xaw3d
+xaw_LTLIBRARIES = xaw6/libXaw.la xaw7/libXaw.la libXaw.la
mostlyclean-compile:
-rm -f *.$(OBJEXT)
AM_YFLAGS = -d -p LayYY
@@ -73,6 +77,22 @@ libXaw3d_la_LIBADD = \
libXaw3d_la_LDFLAGS = -version-info 8:0:0 -no-undefined
+libXaw_la_SOURCES = ${libXaw3d_la_SOURCES}
+libXaw_la_LIBADD = ${libXaw3d_la_LIBADD}
+libXaw_la_LDFLAGS = ${libXaw3d_la_LDFLAGS}
+xaw6_libXaw3d_la_SOURCES = ${libXaw3d_la_SOURCES}
+xaw6_libXaw3d_la_LIBADD = ${libXaw3d_la_LIBADD}
+xaw6_libXaw3d_la_LDFLAGS = ${libXaw3d_la_LDFLAGS} -version-info 6:0:0
+xaw6_libXaw_la_SOURCES = ${libXaw3d_la_SOURCES}
+xaw6_libXaw_la_LIBADD = ${libXaw3d_la_LIBADD}
+xaw6_libXaw_la_LDFLAGS = ${libXaw3d_la_LDFLAGS} -version-info 6:0:0
+xaw7_libXaw3d_la_SOURCES = ${libXaw3d_la_SOURCES}
+xaw7_libXaw3d_la_LIBADD = ${libXaw3d_la_LIBADD}
+xaw7_libXaw3d_la_LDFLAGS = ${libXaw3d_la_LDFLAGS} -version-info 7:0:0
+xaw7_libXaw_la_SOURCES = ${libXaw3d_la_SOURCES}
+xaw7_libXaw_la_LIBADD = ${libXaw3d_la_LIBADD}
+xaw7_libXaw_la_LDFLAGS = ${libXaw3d_la_LDFLAGS} -version-info 7:0:0
+
BUILT_SOURCES = laygram.h
dist_doc_DATA = README.XAW3D