From 55e749da81cf30088164d944d0ed9f52ef78d3a7d22fde9ddcbc44d367ef53b5 Mon Sep 17 00:00:00 2001 From: Dirk Stoecker Date: Mon, 25 Nov 2013 14:10:04 +0000 Subject: [PATCH] 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 --- libXaw3d.changes | 8 +++++ libXaw3d.spec | 46 ++------------------------- xaw3d-elf.patch | 83 ++++++++++++++++++++++++++++++++++++------------ 3 files changed, 72 insertions(+), 65 deletions(-) diff --git a/libXaw3d.changes b/libXaw3d.changes index 6b63051..912ea3e 100644 --- a/libXaw3d.changes +++ b/libXaw3d.changes @@ -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 diff --git a/libXaw3d.spec b/libXaw3d.spec index fe4781c..ec7a000 100644 --- a/libXaw3d.spec +++ b/libXaw3d.spec @@ -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 diff --git a/xaw3d-elf.patch b/xaw3d-elf.patch index a2c1a52..116989d 100644 --- a/xaw3d-elf.patch +++ b/xaw3d-elf.patch @@ -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 +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