File libapr1.spec of Package libapr1
#
# spec file for package libapr1 (Version 1.3.3)
#
# Copyright (c) 2008 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: libapr1
%if %{?suse_version:1}0
BuildRequires: doxygen
%endif
Url: http://apr.apache.org/
License: Other uncritical OpenSource License; The Apache Software License
Group: Development/Libraries/Other
AutoReqProv: on
# bug437293
%ifarch ppc64
Obsoletes: libapr1-64bit
%endif
%ifarch ppc
Obsoletes: libapr1-32bit
%endif
#
Version: 1.3.3
Release: 12
Summary: Apache Portable Runtime (APR) Library
Source: http://www.apache.org/dist/apr/apr-%{version}.tar.bz2
Patch1: string-compare.diff
Patch2: apr-1.2.8-pool-cleanups.patch
Patch3: apr-1.3.0-testshm-apr_shm_remove.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define aprver 1
%define installbuilddir %{_libdir}/apr-%{aprver}/build
%define includedir %{_includedir}/apr-%{aprver}
%description
The mission of the Apache Portable Runtime (APR) project is to create
and maintain software libraries that provide a predictable and
consistent interface to underlying platform-specific implementations.
The primary goal is to provide an API to which software developers may
code and be assured of predictable if not identical behaviour
regardless of the platform on which their software is built, relieving
them of the need to code special-case conditions to work around or take
advantage of platform-specific deficiencies or features.
The APR is used by both Open Source and Commercial projects, prominent
examples being the Apache HTTP server.
Authors:
--------
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
%package devel
License: Other uncritical OpenSource License; The Apache Software License
Summary: Apache Portable Runtime (APR) Library
Group: Development/Libraries/Other
Requires: libapr1 = %{version} glibc-devel
AutoReqProv: on
# bug437293
%ifarch ppc64
Obsoletes: libapr1-devel-64bit
%endif
%ifarch ppc
Obsoletes: libapr1-devel-32bit
%endif
#
%description devel
The mission of the Apache Portable Runtime (APR) project is to create
and maintain software libraries that provide a predictable and
consistent interface to underlying platform-specific implementations.
The primary goal is to provide an API to which software developers may
code and be assured of predictable if not identical behaviour
regardless of the platform on which their software is built, relieving
them of the need to code special-case conditions to work around or take
advantage of platform-specific deficiencies or features.
The APR is used by both Open Source and Commercial projects, prominent
examples being the Apache HTTP server.
Authors:
--------
Too many to list here -- see /usr/share/doc/packages/apache2/ABOUT_APACHE
%prep
%setup -n apr-%{version}
%patch1
%if %{?build_with_memory_pool_debug:1}0
#patch2 -p1
%endif
%patch3 -p1
#
# workaround for ugly bug 400488
# Xen kernel on sles9 x86_64 is set up to behave different than all other kernels
# skip sockets test on that platform
ls -l /lib/modules/ ||:
%if 0%{?sles_version} == 9
%ifarch x86_64
sed -i '/testsockets/ d' test/abts_tests.h
#sed -i '/testatomic/ d' test/abts_tests.h
%endif
%endif
#
# this test fails on sles9-x86_64, not only in Xen though.
# disable it for a moment to get packages for testing at least...
%if 0%{?sles_version} == 9
%ifarch x86_64
sed -i '/testatomic/ d' test/abts_tests.h
%endif
%endif
%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED -fPIC"
#
rm -rf aclocal.m4 autom4te*.cache
autoheader
autoconf
#
# --enable-pool-debug[=yes|no|verbose|verbose-alloc|lifetime|owner|all]
%configure \
--with-installbuilddir=%{installbuilddir} \
--includedir=%{includedir} \
%if %{?build_with_memory_pool_debug:1}0
--enable-debug --enable-pool-debug=verbose \
%endif
%ifarch %ix86
%ifnarch i386
--enable-nonportable-atomics=yes \
%endif
%endif
--with-devrandom=/dev/urandom \
--disable-static \
--with-pic
%{__make} %{?jobs:-j%jobs}
%if %{?suse_version:1}0
make dox
%endif
%install
make install DESTDIR=$RPM_BUILD_ROOT
%if %{?suse_version:1}0
# Move docs to more convenient location
mv docs/dox/html html
%endif
# Unpackaged files:
%{__rm} -f $RPM_BUILD_ROOT/%{_libdir}/apr.exp
%{__rm} -f %{buildroot}%{_libdir}/libapr-%{aprver}.la
%check
%ifnarch %arm
make check
%endif
%clean
if ! test -f /.buildenv; then
rm -rf $RPM_BUILD_ROOT
fi
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc CHANGES
%doc LICENSE
%doc NOTICE
%{_libdir}/libapr-%{aprver}.so.*
%files devel
%defattr(-,root,root)
%doc docs/APRDesign.html
%doc docs/canonical_filenames.html
%doc docs/incomplete_types
%doc docs/non_apr_programs
%if %{?suse_version:1}0
%doc --parents html
%endif
%doc emacs-mode
%{includedir}
%{_libdir}/libapr-%{aprver}.so
%{_bindir}/apr-%{aprver}-config
%{_libdir}/pkgconfig/apr-%{aprver}.pc
%{_libdir}/apr-%{aprver}
%changelog
* Tue Dec 09 2008 ro@suse.de
- remove ix86 from ifarch statement obsoleting 32bit package
* Fri Nov 28 2008 ro@suse.de
- update baselibs.conf
* Fri Nov 14 2008 poeml@suse.de
- simplify the usage of the sles_version macro
* Thu Oct 30 2008 skh@suse.de
- obsolete old -XXbit packages (bnc#437293) (olh@suse.de)
* Tue Aug 19 2008 poeml@suse.de
- update to 1.3.3 final
(updating to the release tarball, which has all the patches.)
* Sat Aug 09 2008 poeml@suse.de
- add apr-1.3.2-r684091.patch
Backport r683771 from the trunk.
Fix APR_PID_T_FMT detection on Solaris.
- rename apr-1.3.3-patch to apr-1.3.3.patch
* Thu Aug 07 2008 poeml@suse.de
- add post-1.3.2 patches (backports from trunk committed to the
1.3.x branch)
*) Rename apr_pool_create_core to apr_pool_create_unmanaged and
deprecate the old API name. It better reflects the scope and usage
of this function. [Mladen Turk]
*) Use proper return code for fcntl-based apr_proc_mutex_trylock()
on platforms that return EACCES instead of EAGAIN when the lock
is already held (AIX, HP-UX). [Eric Covener]
* Thu Aug 07 2008 poeml@suse.de
- update to 1.3.2. Changes:
*) Fix getservbyname_r() detection. [Ruediger Pluem]
*) Fix win32 apr.hw to pick up XP/2003 TCP/IP multicast constants and
revert to IPV6 disabled-by-default (a change present only in 1.3.0).
[William Rowe]
*) Fix autoconf cached detection of atomic builtins. [Jim Jagielski]
*) Use thread safe versions of getservbyname(). [Bojan Smojver]
*) Use thread safe getpass_r on Netware. [Guenter Knauf]
* Thu Jul 17 2008 poeml@suse.de
- skip testatomic testcase on sles9-x86_64 for now
* Thu Jul 17 2008 poeml@suse.de
- workaround for ugly bug [bnc#400488]
Xen kernel on sles9 x86_64 is set up to behave different than all
other kernels
* Sun Jun 15 2008 poeml@suse.de
- update to 1.3.0. Changes, with non-Linux relevant portions
omitted (see http://www.apache.org/dist/apr/CHANGES-APR-1.3 for
complete list):
*) apr_getservbyname(): Use proper method for converting port
to host byte order. PR 44903.
[Chris Taylor <ctaylor wadeford.plus.com>]
*) Use /dev/urandom in preference to /dev/random as entropy source
for apr_generate_random_bytes. PR 44881. [Bojan Smojver]
*) Introduce apr_pool_pre_cleanup_register() for registering
a cleanup that is called before any subpool is destroyed
within apr_pool_clear or apr_pool_destroy.
This allows to register a cleanup that will notify subpools
about its inevitable destruction.
[Mladen Turk]
*) Introduce apr_pool_create_core_ex() for creation of standalone
pools without parent. This function should be used for short
living pools, usually ones that are created and destroyed
either in a loop or inside function call. Since the pools
created with this function doesn't have a parent they must
be explicitly destroyed when done.
[Mladen Turk]
*) Fix return value when apr_pollset_poll interrupted.
PR 42580 [Basant Kumar Kukreja <basant.kukreja sun.com>]
*) Fix the make test target in the spec file. [Graham Leggett]
*) Introduce apr_file_pipe_create_ex() to portably permit one pipe
end or another to be entirely blocking for non-APR applications
(e.g. stdio streams) and the other (or both ends) non blocking,
with a timeout of 0 by default.
[William Rowe]
*) Introduce APR_NO_FILE as an option to apr_procattr_io_set() for any
of the three stdio streams to cause the corresponding streams to be
closed to the child process. This becomes effective in 1.3.0 across
platforms (equivilant to APR_NO_PIPE in 1.2.x except on Win32.)
[William Rowe]
*) Add table cloning (deep copy) convenience function.
[Davi Arnaut]
*) Stop invoking the testshm* helpers upon 'make test' invocation.
[Kurt Miller <kurt intricatesoftware.com>]
*) Register a cleanup only if APR_FILE_NOCLEANUP was not flagged in
apr_file_mktemp. [Brian J. France <list firehawksystems.com>]
*) Discard file buffers when running cleanups for exec.
PR 41119. [Davi Arnaut <davi haxent.com.br>, Bojan Smojver]
*) Improve thread safety of assorted file_io functions.
PR 42400. [Davi Arnaut <davi haxent.com.br>]
*) Add the apr_pollcb API as an alternative more efficient method
of polling sockets, compared to apr_pollset. [Paul Querna]
*) Fix possible crash in apr_pool_initialize() when built with
verbose pool debugging. PR 41063.
[Peter Steiner <peter.steiner+apache hugwi.ch>]
*) Fix --disable-ipv6 build on platforms with getifaddrs().
PR 39199. [Joe Orton]
*) Portably check for EEXIST in mktemp code. PR 40818
[Kenneth Golomb <KGolomb TradeCard.com>]
*) Fix apr_socket_recvfrom() to ensure the peer's address is returned
through the "from" parameter. [Joe Orton]
*) Fix error checking in kqueue, epoll and event port versions of
apr_pollset_create. PR 40660, 40661, 40662
[Larry Cipriani <lvc lucent.com>]
*) Add some documentation on the format matched by apr_fnmatch.
[David Glasser <glasser mit.edu>]
*) Add apr_hash_clear. [Daniel L. Rall <dlr apache.org>]
*) Don't try to build apr_app.c on MinGW.
[Matthias Miller <Blog outofhanwell.com>]
*) Fix the timeout converstion in apr_pollset with the KQueue
backend. [Marco Molteni <mmolteni cisco.com>]
*) Support MinGW. [John Vandenberg, Justin Erenkrantz]
*) Implement apr_thread_yield on Unix in terms of pthread_yield or
sched_yield. [Keisuke Nishida <keisuke.nishida gmail.com>]
*) Make apr_socket_recvfrom initialize the port field in the from
sockaddr. PR 39325 [Anthony Minessale <anthmct yahoo.com>]
*) NetBSD: Avoid leaving zombie process when using apr_signal()
to ignore SIGCHLD. PR 36750. [Todd Vierling <tv pobox.com>]
*) Implement support for apr_proc_mutex_trylock() on Unix platforms.
PR 38785. [Chris Darroch <chrisd pearsoncmg.com>]
*) APR_FIND_APR macro now supports customisable detailed checks on
each installed apr. [Justin Erenkrantz, Colm MacCarthaigh]
*) APR_FIND_APR macro no longer checks /usr/local/apache2/
[Colm MacCarthaigh]
*) Add APR_POLLSET_NOCOPY option to apr_pollset API to eliminate
O(n)-time lookup in apr_pollset_remove() (currently implemented
only for epoll). [Brian Pane]
*) Add apr_file_buffer_set() and apr_file_buffer_size_get() functions
to support variable buffer sizes with APR file handles.
[Colm MacCarthaigh]
*) Add apr_file_open_flags_std[err|out|in]() functions.
[Colm MacCarthaigh]
*) stdio: apr_file_open_std[err|out|in]() functions now set the APR_WRITE
or APR_READ flag as appropriate. [Colm MacCarthaigh]
*) multicast: apr_mcast_*() no longer return APR_ENOTIMPL when invoked
for non-UDP/RAW sockets. The caller is expected to ensure that the
socket-type is suitable for multicast. [Colm MacCarthaigh]
*) Add apr_sockaddr_ip_getbuf() function. [Joe Orton]
*) Fix handling of %%pI in apr_psprintf. [Joe Orton]
*) Provide APR_VERSION_AT_LEAST() macro for applications which
want to enable features based on a required level of APR.
[Jeff Trawick]
*) jlibtool: Teach to use static libraries with -static.
[Justin Erenkrantz]
*) Fix checks for alloca() support in configure. PR 13037.
[Noah Misch <noah cs.caltech.edu>]
*) Add %%pm support to apr_snprintf() for printing the error string
corresponding to an apr_status_t value. [Joe Orton]
*) Add APR_ARRAY_IDX() and APR_ARRAY_PUSH() convenience macros to
apr_tables.h. [Garrett Rooney]
- fix testshm testcase
- remove manual addition of -g, since the OBS takes care of it now.
* Mon Jun 09 2008 poeml@suse.de
- build service supports the debuginfo flag in metadata now; remove
debug_package macro from the specfile therefore.
* Tue Apr 15 2008 schwab@suse.de
- Don't use autoreconf.
* Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages
for multilib support
* Tue Nov 27 2007 poeml@suse.de
- update to 1.2.12 (only changes relevant on Linux listed here):
*) Numerous fixes to the test/ framework, including better handling of
long size_t comparisons and more consistent Makefile.(in|win) setup
for authoring new tests. [William Rowe]
*) Fix --disable-ipv6 build on platforms with getifaddrs().
PR 39199. [Joe Orton]
*) Define apr_ino_t in such a way that it doesn't change definition
based on the library consumer's -D'efines to the filesystem.
[Lucian Adrian Grijincu <lucian.grijincu gmail.com>]
*) Fill in apr_fileinfo_t member st_csize on Netware and Unix (PR 41678),
and refine the file times down to apr_time_t resolution if supported
by a st_atimensec or st_atim.tv_nsec value by the OS. Additional
msec implementations are possible if exposed through autoconf.
[William Rowe, Nicklas Edmundsson <nikke acc.umu.se>]
*) Fix apr_socket_recvfrom() to ensure the peer's port and address
is returned through the "from" parameter on Unix and Win32.
[Joe Orton, William Rowe]
* Wed Sep 12 2007 poeml@suse.de
- fix missing endif in build section, fixing build on Mandriva
(went unnoticed on openSUSE)
- use debug_package macro only on suse, because it breaks the build
on Mandriva
* Wed Sep 12 2007 poeml@suse.de
- don't run autoreconf -fi on build platforms older than 10.3. The
'i' in that replaces config.guess, config.sub, ltmain.sh (dated
2007) with versions from, say, 2005. This will lead to a
miscompile on SLE10 for instance (segfault in apr_initialize())
- don't apply the cleanup apr-1.2.8-pool-cleanups.patch when built
with build_with_memory_pool_debug for now
* Mon Sep 10 2007 poeml@suse.de
- update to 1.2.11:
*) Win32 apr_file_read; Correctly handle completion-based read-to-EOF.
[Steven Naim <steven.naim googlemail.com>]
*) Fixed Win32 regression of stdout inheritance in apr_proc_create.
[William Rowe]
*) Solve winNT inherited pipe leaks by mutexing apr_proc_create calls,
on WinNT (not WinCE, nor 9x) so that we toggle the inherited state
of the stdin/out/err pipes. All other file handles are treated as
not-inherited until apr_file_dup2'ed a std handle of this process,
or while they are used by apr_proc_create. [William Rowe]
*) Define the Mac OS/X filesystem_encoding as utf-8 (in previous
releases the interpretation would vary). [Erik Huelsmann
<ehuels gmail.com>]
*) Fix day of year (tm_day) calculation for July. The bug only affects
Windows builds. PR 42953. [Davi Arnaut]
*) Fix LFS detection when building over NFS. The mode must be
specified when O_CREAT is in the flags to open().
PR 42821. [Rainer Jung <rainer.jung kippdata.de>]
*) Avoid overwriting the hash_mutex table for applications that
incorrectly calls apr_atomic_init(). PR 42760. [Davi Arnaut]
*) Allow IPv6 connectivity test to fail, avoiding a potentially fatal
error. [Davi Arnaut]
*) The MinGW Windows headers effectively redefines WINADVAPI from
__stdcall to empty which results in a link failure when wincrypt.h
is placed after an include to apr_private.h.
PR 42293. [Curt Arnold]
*) Define SEM_FAILED if it isn't already defined, as the proc mutex
code already does it. Also search for the sem_open function in
the realtime library. (This fixes HP-UX sem_open detection).
[Davi Arnaut]
*) Define the _HPUX_SOURCE feature test macro to obtain maximum
functionality. Fixes broken sendfile with LFS support on HP-UX.
PR 42261. [Davi Arnaut]
* Tue Aug 21 2007 crrodriguez@suse.de
- first attempt to remove static libraries and libtool crap.
* Mon Aug 20 2007 poeml@suse.de
- on SLES9, use 'autoheader; autoconf' to configure, as before,
instead of autoreconf -fi, which won't work
* Mon Aug 13 2007 crrodriguez@suse.de
- apr 1.2.9
*) Stop invoking the testshm* helpers upon 'make test' invocation.
*) Register a cleanup only if APR_FILE_NOCLEANUP was not flagged in
apr_file_mktemp.
*) Discard file buffers when running cleanups for exec.
PR 41119.
*) If apr_proc_create() fails to exec in the fork()ed child, call
_exit() not exit() to avoid running atexit()-registered functions
in the child.
*) Improve thread safety of assorted file_io functions.
*) Fix file pointer position calculation in apr_file_writev() on
buffered file.
*) Fix formatting of unsigned integers larger than 2^63 in the
vformatter/apr_*printf.
*) Fix possible EFAULT failures in apr_socket_sendfile() on 32-bit
Solaris with LFS enabled
*) Fix deadlock in apr_file_gets() for a file opened with both the
APR_BUFFERED and APR_XTHREAD flags.
- run make ceck in the rpm check section
- add missing glibc-devel dependency to -devel package
* Wed Jul 18 2007 poeml@suse.de
- if the rpm macro build_with_memory_pool_debug is defined, build
with --enable-pool-debug=verbose-alloc. (This is the case in the
Apache-Pool-Debug buildservice project.)
- add apr-1.2.8-pool-cleanups.patch: don't run cleanup handlers
_after_ destroying subpools
- add debug_package macro in buildservice (will soon be obsolete)
* Wed May 02 2007 dmueller@suse.de
- Fix comparison with string literal
* Mon Dec 11 2006 poeml@suse.de
- update to 1.2.8
*) Correctly retrieve 'empty' environment values with apr_env_get
on Win32 (e.g. "VAR="), and added validation to testall suite.
*) APR_FIND_APR macro no longer checks /usr/local/apache2/.
*) Portably check for EEXIST in mktemp code. PR 40818
*) Fix apr_snprintf/apr_vsnprintf return value to not count the
NUL terminator in the overflow case. PR 39996.
*) Fix detection of pthread cross-process robust mutexes.
*) NetBSD: Avoid leaving zombie process when using apr_signal()
to ignore SIGCHLD.
*) Fix apr_socket_sendv() for platforms without writev.
*) Avoid issues using >2Gb of data per call with sendfile() on
64-bit Linux platforms.
* Fri Oct 27 2006 poeml@suse.de
- replace wrong configure switch --with-includedir with the correct
one: --includedir. This fixes installation of the header files to
/usr/include/apr-1 instead of /usr/include. [#164770]
* Thu Jun 22 2006 schwab@suse.de
- Don't depend on configure args being preserved.
* Wed May 24 2006 poeml@suse.de
- update to 1.2.7
* fixes for netware and win32
- update to 1.2.6
* bugfixes for libuuid, mutex, kqueue, ...
- use %%suse_version to build doxygen documentation only on SUSE
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Mon Jan 09 2006 poeml@suse.de
- don't use pthread_mutexattr_setrobust_np() unless
pthread_mutexattr_setprotocol() is available as well (the former
is in glibc since 2005-12-26, but the latter not)
* Wed Oct 12 2005 poeml@suse.de
- update to 1.2.2
* Thu Sep 29 2005 poeml@suse.de
- update to 1.2.1
- add -fno-strict-aliasing to CFLAGS
- add -DLDAP_DEPRECATED to CFLAGS
* Fri Apr 08 2005 uli@suse.de
- disabled test suite for ARM (may hang QEMU)
* Thu Mar 24 2005 poeml@suse.de
- update to 1.1.1
* Fri Feb 25 2005 poeml@suse.de
- package created (1.1.0)