File uucp.spec of Package sendmail

#
# spec file for package uucp
#
# Copyright (c) 2015 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/
#


Name:           uucp
PreReq:         fileutils %install_info_prereq
Requires:       /usr/bin/rmail
Requires:       filesystem
Requires:       logrotate
Requires:       netcfg
Requires(verify): permissions
Requires(post): permissions
Recommends:     stunnel
Version:        1.07
Release:        0
Summary:        Taylor UUCP
License:        GPL-2.0+
Group:          Productivity/Networking/Other
Source0:        uucp-1.07.tar.bz2
Source1:        uucpcfg.tar.bz2
Source2:        uucp.xinetd
Source3:        suucp.xinetd
Source4:        uucpman.sh
Patch0:         uucp-1.07.dif
Patch1:         uucp-1.07-contrib.dif
Patch2:         uucp-1.07-grade.patch
Patch3:         uucp-1.07-cu.patch
Patch4:         uucp-1.07-lockdev.patch
Patch5:         drop_ftime.patch
Patch6:         uucp-texinfo-5.0.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  lockdev-devel
%if 0%{?suse_version} > 1220
BuildRequires:  makeinfo
%endif
BuildRequires:  pkg-config

%description
Ian Taylor's Unix to Unix copy: mail and news over modem lines. This is
the standard UUCP package from the Free Software Foundation. It is
configured to use HoneyDanBer or Taylor configuration files. With
version 6.0 of SuSE Linux, the configuration directory has been moved
to %{_sysconfdir}/uucp. Exactly: Taylor config:	    %{_sysconfdir}/uucp HoneyDanBer
config:  %{_sysconfdir}/uucp/hdb_config If you have your own setup under
%{_localstatedir}/lib/uucp, please move it to %{_sysconfdir}/uucp. Example configurations can
be found in /usr/share/doc/packages/uucp.

We did not include a uucp guest account. If you want to create a guest
account, make sure the directory %{_localstatedir}/spool/uucppublic exists.

%prep
%setup
%patch -P 1     -b .cont
%patch -P 2 -p0 -b .grad
%patch -P 3 -p0 -b .cu
%patch -P 4 -p0 -b .lockdev
%patch -P 0
%patch5 -p1
%patch6 -p1

%build
    #
    ID=$(id -u)
    RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing -fPIE"
    #
    autoreconf
    CFLAGS="-Wall ${RPM_OPT_FLAGS} -pipe -D_GNU_SOURCE" \
    ./configure \
	--with-newconfigdir=%{_sysconfdir}/uucp \
	--with-oldconfigdir=%{_sysconfdir}/uucp/hdb_config \
	--prefix=/usr --mandir=%{_mandir} --infodir=%{_infodir}
    make CFLAGS="-Wall ${RPM_OPT_FLAGS} -pipe -D_GNU_SOURCE" LDFLAGS="-pie" MAKEINFO="makeinfo --force"

%install
    ID=$(id -u)
    if test "$ID" -ne 0 ; then
	mkdir bin
	PATH=${PWD}/bin:$PATH
	(cat > bin/install)<<-EOF
	#!/bin/bash
	argv=""
	while test \$# -gt 0; do
	    case "\$1" in
	    -o) shift 2;;
	    -g) shift 2;;
	    *)  argv="\${argv:+"\$argv "}\$1"
		shift
	    esac
	done
	set -- \$(echo \${argv})
	exec -a install %{_bindir}/install \${1+"\$@"}
	EOF
	chmod 755 bin/install
	type -p install
    fi
    #
    mkdir -p -m 755 %{buildroot}%{_sysconfdir}/uucp/hdb_config
    mkdir -p -m 755 %{buildroot}%{_sysconfdir}/logrotate.d
    install -m 644 logrotate %{buildroot}%{_sysconfdir}/logrotate.d/uucp
    make DESTDIR=%{buildroot} install install-info
    mkdir -p -m 755 %{buildroot}%{_localstatedir}/spool/uucp %{buildroot}%{_localstatedir}/spool/uucppublic
    test "$ID" -ne 0 || \
    chown uucp:uucp %{buildroot}%{_localstatedir}/spool/uucp
    install -m 644 README.suse %{buildroot}%{_localstatedir}/spool/uucppublic/README
    mkdir -p -m 755 %{buildroot}%{_libexecdir}/uucp
    mv %{buildroot}%{_sbindir}/uu* %{buildroot}%{_libexecdir}/uucp/
    for x in %{buildroot}%{_libexecdir}/uucp/* ; do
	echo ${x##*/}
	ln -fs %{_libexecdir}/uucp/${x##*/} %{buildroot}%{_sbindir}/
    done
    rm -rf %{buildroot}%{_defaultdocdir}/uucp
    mkdir -p %{buildroot}%{_defaultdocdir}/uucp
    mkdir -p %{buildroot}%{_localstatedir}/log/uucp
    test "$ID" -ne 0 || \
    chown root:root %{buildroot}%{_localstatedir}/log/uucp
    chmod 1755      %{buildroot}%{_localstatedir}/log/uucp
    tar jxvfpC %{SOURCE1} %{buildroot}%{_defaultdocdir}/uucp
    chmod -R u+r,o+r,g+r %{buildroot}%{_defaultdocdir}/uucp/
    mkdir -p -m 755 %{buildroot}%{_sysconfdir}/xinetd.d
    install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/xinetd.d/uucp
    install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/xinetd.d/suucp

%if %{defined verify_permissions}
%verifyscript
%verify_permissions -e %{_localstatedir}/spool/uucp/
%verify_permissions -e %{_localstatedir}/spool/uucppublic/
%verify_permissions -e %{_bindir}/uucp
%verify_permissions -e %{_bindir}/uuname
%verify_permissions -e %{_bindir}/uustat
%verify_permissions -e %{_bindir}/uux
%verify_permissions -e %{_libexecdir}/uucp/uucico
%verify_permissions -e %{_libexecdir}/uucp/uuxqt
%endif

%post
%install_info --info-dir=%{_infodir} %{_infodir}/uucp.info.gz
for log in Log Stats Debug ; do
    if test -e %{_localstatedir}/log/uucp/$log ; then
	continue
    fi
    touch %{_localstatedir}/log/uucp/$log
    chown uucp:uucp %{_localstatedir}/log/uucp/$log
    chmod 0640      %{_localstatedir}/log/uucp/$log
done
chown root:root var/log/uucp
chmod 1755      var/log/uucp
%if %{defined set_permissions}
%set_permissions %{_localstatedir}/spool/uucp/
%set_permissions %{_localstatedir}/spool/uucppublic/
%set_permissions %{_bindir}/uucp
%set_permissions %{_bindir}/uuname
%set_permissions %{_bindir}/uustat
%set_permissions %{_bindir}/uux
%set_permissions %{_libexecdir}/uucp/uucico
%set_permissions %{_libexecdir}/uucp/uuxqt
%endif

%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/uucp.info.gz

%files
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/logrotate.d/uucp
%config(noreplace) %{_sysconfdir}/xinetd.d/uucp
%config(noreplace) %{_sysconfdir}/xinetd.d/suucp
#%dir %attr(0750,uucp,uucp) %{_sysconfdir}/uucp
%dir %attr(0750,uucp,uucp) %{_sysconfdir}/uucp/hdb_config
%dir %{_libexecdir}/uucp
%dir %attr(1755,root,root) %{_localstatedir}/log/uucp
%verify(not mode group) %dir %attr(1770,root,uucp) %{_localstatedir}/spool/uucppublic
#%dir %attr(0700,uucp,uucp) %{_localstatedir}/spool/uucp
%attr(755,root,root) %{_bindir}/cu
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uucp
%{_bindir}/uulog
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uuname
%{_bindir}/uupick
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uustat
%{_bindir}/uuto
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uux
%doc %{_infodir}/uucp.info*.gz
%{_libexecdir}/uucp/uuchk
%verify(not mode) %attr(6555,uucp,uucp) %{_libexecdir}/uucp/uucico
%{_libexecdir}/uucp/uuconv
%{_libexecdir}/uucp/uusched
%verify(not mode) %attr(6555,uucp,uucp) %{_libexecdir}/uucp/uuxqt
%{_sbindir}/uuchk
%{_sbindir}/uucico
%{_sbindir}/uuconv
%{_sbindir}/uusched
%{_sbindir}/uuxqt
%doc %{_mandir}/man1/cu.1.gz
%doc %{_mandir}/man1/uucp.1.gz
%doc %{_mandir}/man1/uustat.1.gz
%doc %{_mandir}/man1/uux.1.gz
%doc %{_mandir}/man8/uucico.8.gz
%doc %{_mandir}/man8/uuxqt.8.gz
%{_localstatedir}/spool/uucppublic/README
%doc %{_defaultdocdir}/uucp
%attr(0640,root,uucp) %{_defaultdocdir}/uucp/cfg_example/taylor_config/call
%attr(0640,root,uucp) %{_defaultdocdir}/uucp/cfg_example/taylor_config/passwd

%changelog
openSUSE Build Service is sponsored by