#
# spec file for package libpipeline
#
# Copyright (c) 2018 SUSE LINUX 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/
#


%define lname   libpipeline1
Name:           libpipeline
Version:        1.5.0
Release:        1.5
Summary:        A pipeline manipulation library
License:        GPL-3.0-or-later
Group:          System/Libraries
Url:            http://www.nongnu.org/libpipeline/
Source0:        http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.gz
Source1:        http://download.savannah.gnu.org/releases/%{name}/%{name}-%{version}.tar.gz.sig
Source2:        %{name}.keyring
BuildRequires:  pkg-config

%description
libpipeline is a C library for setting up and running pipelines of
processes, without needing to involve shell command-line parsing which
is often error-prone and insecure. This alleviates programmers of the
need to laboriously construct pipelines using lower-level primitives
such as fork(2) and execve(2).

%package -n %{lname}
Summary:        A pipeline manipulation library
Group:          System/Libraries

%description -n %{lname}
libpipeline is a C library for setting up and running pipelines of
processes, without needing to involve shell command-line parsing which
is often error-prone and insecure. This alleviates programmers of the
need to laboriously construct pipelines using lower-level primitives
such as fork(2) and execve(2).

%package devel
Summary:        A pipeline manipulation library
Group:          Development/Libraries/C and C++
Requires:       %{lname} = %{version}
Provides:       pkgconfig(%{name}) = %{version}

%description devel
libpipeline is a C library for setting up and running pipelines of
processes, without needing to involve shell command-line parsing which
is often error-prone and insecure. This alleviates programmers of the
need to laboriously construct pipelines using lower-level primitives
such as fork(2) and execve(2).

%prep
%setup -q

%build
export CFLAGS="%{optflags} $(getconf LFS_CFLAGS)"
%configure \
  --enable-shared \
  --enable-threads=posix \
  --disable-rpath	\
  --enable-socketpair-pipe \
  --with-pic=yes \
  --with-gnu-ld
make %{?_smp_mflags} V=1

%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
rm -vf %{buildroot}%{_libdir}/libpipeline.la

%post -n %{lname} -p /sbin/ldconfig

%postun -n %{lname} -p /sbin/ldconfig

%files -n %{lname}
%defattr(-,root,root,0755)
%{_libdir}/libpipeline.so.*

%files devel
%defattr(-,root,root,0755)
%doc ChangeLog README COPYING
%{_libdir}/libpipeline.so
%{_libdir}/pkgconfig/libpipeline.pc
%{_includedir}/pipeline.h
%{_mandir}/man3/*.3*

%changelog
* Fri Nov 23 2018 Dr. Werner Fink <werner@suse.de>
- Update to version 1.5.0
  * Add `pipecmd_pre_exec' to install a pre-exec handler for a single command.
  * Fix EOF detection in get_line.
* Mon Nov  9 2015 p.drouand@gmail.com
- Update to version 1.4.1
  * Fix test failure with Check 0.10.0.
* Sun Jul 12 2015 mpluskal@suse.com
- Add gpg signature
- Cleanup spec file with spec-cleaner
- Add missing dependency on pkg-config
* Thu Feb 12 2015 p.drouand@gmail.com
- Update to version 1.4.0
  * Various portability fixes for Solaris. This includes a
    PIPELINE_QUIET environment variable which suppresses the error
    message normally emitted when a subprocess is terminated by a signal.
  * Add `pipecmd_fchdir', which is analogous to `pipecmd_chdir' but
    takes an open file descriptor rather than a path.
* Wed Mar 19 2014 werner@suse.de
- Update to libpipeline 1.2.6 (18 December 2013)
  * Fix test_pump_tee to wait for its child processes before testing
    their output, since otherwise not all their output might be flushed.
  * pipeline_want_infile and pipeline_want_outfile now take copies of
    their file name arguments.
  * Restore compatibility with Automake 1.10.
  * Build with large file support on systems where it is available.
  * Provide a replacement clearenv function in order to support
    non-glibc systems.  Now tested on FreeBSD.
  * Don't read uninitialised memory when testing for the end of long
    lines (over 4096 bytes).
* Fri Jun 21 2013 crrodriguez@opensuse.org
- Use LFS_CFLAGS properly for 32 bit archs.
* Mon Apr 15 2013 mmeister@suse.com
- Added url as source.
  Please see http://en.opensuse.org/SourceUrls
* Mon Oct  1 2012 werner@suse.de
- Initial package libpipeline as new man-db depend on it