Accepting request 208516 from X11:Utilities

OBS-URL: https://build.opensuse.org/request/show/208516
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libXaw3d?expand=0&rev=2
This commit is contained in:
Stephan Kulow
2013-11-29 15:24:02 +00:00
committed by Git OBS Bridge
3 changed files with 85 additions and 67 deletions

View File

@@ -1,3 +1,17 @@
-------------------------------------------------------------------
Tue Nov 26 13:38:57 UTC 2013 - jengelh@inai.de
- Add obsoletes/provides xaw3d-devel because we are now
libXaw3d-devel
-------------------------------------------------------------------
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,16 +37,18 @@ 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
BuildRequires: automake
BuildRequires: bison
BuildRequires: flex
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: xorg-x11-devel
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xorg-macros) >= 1.8
BuildRequires: pkgconfig(xt)
BuildRequires: xorg-x11-devel
%description
Xaw3d is a general-purpose replacement for the Athena toolkit which
@@ -62,12 +64,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 +72,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
@@ -114,6 +104,9 @@ Provides: xaw3d:/usr/include/X11/Xaw3d/Xaw3dP.h
%ifarch ppc64
Obsoletes: xaw3d-devel-64bit
%endif
# O/P added for 13.2
Provides: xaw3d-devel = %version-%release
Obsoletes: xaw3d-devel < %version-%release
%description devel
Xaw3d is a general-purpose replacement for the Athena toolkit which
@@ -123,27 +116,11 @@ This package contains the development headers for the library found
in libXaw3d6/libXaw3d7/libXaw3d8.
%package -n xaw3dd
Summary: Select 3D Athena Widgets as a replacement for Athena Widgets
Summary: Select 3D Athena Widgets as a replacement for Athena Widgets
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 +134,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 +149,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