File libreadline5.spec of Package libreadline5
#
# spec file for package libreadline5 (Version 5.2)
#
# 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/
#
Name: libreadline5
BuildRequires: bison fdupes ncurses-devel
License: GPL v2 or later
Group: System/Libraries
%define rl_vers 5.2
AutoReqProv: on
Provides: bash:/%{_lib}/libreadline.so.5
Version: 5.2
Release: 111
Summary: The Readline Library
Url: http://www.gnu.org/software/bash/bash.html
Source0: readline-%{rl_vers}.tar.bz2
Source1: readline-%{rl_vers}-patches.tar.bz2
Patch20: readline-%{rl_vers}.dif
Patch21: readline-4.3-input.dif
Patch22: readline-5.2-wrap.patch
Patch23: readline-5.2-conf.patch
Patch30: readline-5.1-destdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global _sysconfdir /etc
%global _incdir %{_includedir}
%description
The readline library is used by the Bourne Again Shell (bash, the
standard command interpreter) for easy editing of command lines. This
includes history and search functionality.
Authors:
--------
Brian Fox <bfox@gnu.org>
Chet Ramey <chet@ins.cwru.edu>
%package -n readline5-devel
License: GPL v2 or later
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++
Provides: bash:%{_libdir}/libreadline.a
Version: 5.2
Release: 4
Requires: libreadline5 = %{version}
Requires: ncurses-devel
Conflicts: readline-devel
AutoReqProv: on
%description -n readline5-devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
Authors:
--------
Brian Fox <bfox@gnu.org>
Chet Ramey <chet@ins.cwru.edu>
%prep
%setup -q -n readline-%{rl_vers}
for p in ../readline-%{rl_vers}-patches/*; do
test -e $p || break
echo Patch $p
patch -s -p0 < $p
done
%patch21 -p2 -b .zerotty
%patch22 -p2 -b .wrap
%patch23 -p2 -b .conf
%patch30 -p0 -b .destdir
%patch20 -p0
%build
%{?suse_update_config:%{suse_update_config -f support}}
autoconf
cflags ()
{
local flag=$1; shift
case "${RPM_OPT_FLAGS}" in
*${flag}*) return
esac
if test -n "$1" && gcc -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then
local var=$1; shift
eval $var=\${$var:+\$$var\ }$flag
fi
}
echo 'int main () { return !(sizeof(void*) >= 8); }' | gcc -x c -o test64 -
if ./test64 ; then
LARGEFILE=""
else
LARGEFILE="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
fi
rm -f ./test64
CFLAGS="$RPM_OPT_FLAGS $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
LDFLAGS=""
cflags -std=gnu89 CFLAGS
cflags -Wuninitialized CFLAGS
cflags -Wextra CFLAGS
cflags -Wno-unprototyped-calls CFLAGS
cflags -Wno-switch-enum CFLAGS
cflags -ftree-loop-linear CFLAGS
cflags -pipe CFLAGS
cflags -Wl,--as-needed LDFLAGS
cflags -Wl,-O,2 LDFLAGS
CC=gcc
CC_FOR_BUILD="$CC"
CFLAGS_FOR_BUILD="$CFLAGS"
LDFLAGS_FOR_BUILD="$LDFLAGS"
export CC_FOR_BUILD CFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD CFLAGS LDFLAGS CC
./configure --build=%{_target_cpu}-suse-linux \
--prefix=%{_prefix} \
--with-curses \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--libdir=%{_libdir}
make
make documentation
ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so
ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so.5
ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so
ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so.5
%install
make install htmldir=%{_defaultdocdir}/readline DESTDIR=%{buildroot}
make install-shared libdir=/%{_lib} linkagedir=%{_libdir} DESTDIR=%{buildroot}
rm -rf %{buildroot}%{_defaultdocdir}/bash
rm -rf %{buildroot}%{_defaultdocdir}/readline
chmod 0755 %{buildroot}/%{_lib}/libhistory.so.%{rl_vers}
chmod 0755 %{buildroot}/%{_lib}/libreadline.so.%{rl_vers}
rm -f %{buildroot}/%{_lib}/libhistory.so.%{rl_vers}*old
rm -f %{buildroot}/%{_lib}/libreadline.so.%{rl_vers}*old
# remove unpackaged files
rm -fv %{buildroot}%{_libdir}/libhistory.so.*
rm -fv %{buildroot}%{_libdir}/libreadline.so.*
rm -fv %{buildroot}%{_mandir}/man3/history.3*
rm -fv %{buildroot}%{_infodir}/*.info*
%post -n libreadline5 -p /sbin/ldconfig
%postun -n libreadline5 -p /sbin/ldconfig
%clean
%{__rm} -rf %{buildroot}
%files
%defattr(-,root,root)
/%{_lib}/libhistory.so.5
/%{_lib}/libhistory.so.%{rl_vers}
/%{_lib}/libreadline.so.5
/%{_lib}/libreadline.so.%{rl_vers}
%files -n readline5-devel
%defattr(-,root,root)
%{_incdir}/readline/
%{_libdir}/libhistory.a
%{_libdir}/libhistory.so
%{_libdir}/libreadline.a
%{_libdir}/libreadline.so
%doc %{_mandir}/man3/readline.3.gz
%changelog
* Tue Jun 09 2009 dmueller@suse.de
- fix baselibs.conf for -devel package
* Mon Apr 27 2009 werner@suse.de
- Make readline5-devel conflicting with readline-devel
* Tue Mar 03 2009 ro@suse.de
- create package as temporary compat package for libreadline5