329 lines
11 KiB
RPMSpec
329 lines
11 KiB
RPMSpec
|
#
|
||
|
# spec file for package uucp
|
||
|
#
|
||
|
# Copyright (c) 2024 SUSE LLC
|
||
|
#
|
||
|
# 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 https://bugs.opensuse.org/
|
||
|
#
|
||
|
|
||
|
|
||
|
Name: uucp
|
||
|
Version: 1.07
|
||
|
Release: 0
|
||
|
Summary: Taylor Unix-to-Unix copy
|
||
|
License: GPL-2.0-or-later
|
||
|
Group: Productivity/Networking/Other
|
||
|
URL: https://www.gnu.org/software/uucp/
|
||
|
Source0: http://ftp.gnu.org/gnu/uucp/%{name}-%{version}.tar.gz
|
||
|
Source1: uucpcfg.tar.bz2
|
||
|
Source3: suucp.service
|
||
|
Source4: uucpman.sh
|
||
|
Source5: uucp@.service
|
||
|
Source6: uucp.socket
|
||
|
Source7: uucp.pam
|
||
|
Source8: xinetd.uucp
|
||
|
Source9: uucp-rpmlintrc
|
||
|
Source10: uucp.bashrc
|
||
|
Source11: uucp.tmpfiles
|
||
|
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-locking.patch
|
||
|
Patch5: drop_ftime.patch
|
||
|
Patch6: uucp-texinfo-5.0.patch
|
||
|
Patch7: address-wildcard-in-port.patch
|
||
|
Patch8: fix-proty-gcc33.patch
|
||
|
Patch9: uucp-1.07-lfs.patch
|
||
|
Patch10: uucp-1.07-sigfpe2.patch
|
||
|
Patch11: uucp-1.07-initgroups.patch
|
||
|
Patch12: uucp-1.07-configure.patch
|
||
|
Patch13: improved-pipe.patch
|
||
|
Patch14: manpage.patch
|
||
|
Patch15: option-to-not-force-hw-control.patch
|
||
|
Patch16: spelling.patch
|
||
|
Patch17: wait-for-correct-parent.patch
|
||
|
Patch18: pipe-command-hostname-not-null.patch
|
||
|
Patch19: uucp-fix-gcc14.patch
|
||
|
BuildRequires: autoconf
|
||
|
BuildRequires: automake
|
||
|
BuildRequires: makeinfo
|
||
|
BuildRequires: ncurses-devel
|
||
|
BuildRequires: pam-devel
|
||
|
BuildRequires: pkgconfig
|
||
|
Requires: ca-certificates
|
||
|
Requires: filesystem
|
||
|
Requires: logrotate
|
||
|
Requires: netcfg
|
||
|
Requires: openssl
|
||
|
Requires: rmail
|
||
|
Requires: stunnel
|
||
|
%if 0%{?suse_version} >= 1330
|
||
|
Requires(pre): user(uucp) group(uucp)
|
||
|
%else
|
||
|
Requires(pre): shadow
|
||
|
%endif
|
||
|
Requires(post): %{install_info_prereq}
|
||
|
Requires(post): fileutils
|
||
|
Requires(post): permissions
|
||
|
Requires(preun):%{install_info_prereq}
|
||
|
Requires(verify):permissions
|
||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||
|
%{?systemd_requires}
|
||
|
|
||
|
%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 %{_docdir}/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.
|
||
|
|
||
|
%package xinetd
|
||
|
Summary: Taylor UUCP using xinetd
|
||
|
Group: Productivity/Networking/Other
|
||
|
Requires: uucp = %version-%release
|
||
|
Requires: xinetd
|
||
|
|
||
|
%description xinetd
|
||
|
Unix to Unix copy with xinetd setup instead of using modern systemd
|
||
|
service units.
|
||
|
|
||
|
%prep
|
||
|
%setup -q
|
||
|
%patch -P 1 -p0 -b .cont
|
||
|
%patch -P 2 -p0 -b .grad
|
||
|
%patch -P 3 -p0 -b .cu
|
||
|
%patch -P 4 -p0 -b .locking
|
||
|
%patch -P 0 -p0 -b .p0
|
||
|
%patch -P 5 -p1 -b .p5
|
||
|
%patch -P 6 -p1 -b .p6
|
||
|
%patch -P 7 -p1 -b .p7
|
||
|
%patch -P 8 -p0 -b .p8
|
||
|
%patch -P 9 -p1 -b .p9
|
||
|
%patch -P 10 -p1 -b .p10
|
||
|
%patch -P 11 -p0 -b .p11
|
||
|
%patch -P 12 -p0 -b .p12
|
||
|
%patch -P 13 -p0 -b .p13
|
||
|
%patch -P 14 -p0 -b .p14
|
||
|
%patch -P 15 -p0 -b .p15
|
||
|
%patch -P 16 -p0 -b .p16
|
||
|
%patch -P 17 -p0 -b .p17
|
||
|
%patch -P 18 -p0 -b .p18
|
||
|
%patch -P 19 -p1 -b .p19
|
||
|
|
||
|
%build
|
||
|
autoreconf -fvi
|
||
|
export CFLAGS="%{optflags} -fno-strict-aliasing -fPIE -D_GNU_SOURCE $(getconf LFS_CFLAGS)"
|
||
|
%configure \
|
||
|
--with-newconfigdir=%{_sysconfdir}/uucp \
|
||
|
--with-oldconfigdir=%{_sysconfdir}/uucp/hdb_config
|
||
|
make %{?_smp_mflags} LDFLAGS="-pie" MAKEINFO="makeinfo --force"
|
||
|
|
||
|
%install
|
||
|
%make_install install-info
|
||
|
# oldconfig
|
||
|
mkdir -p -m 755 %{buildroot}%{_sysconfdir}/uucp/hdb_config
|
||
|
# logrotate
|
||
|
mkdir -p -m 755 %{buildroot}%{_sysconfdir}/logrotate.d
|
||
|
install -m 644 logrotate %{buildroot}%{_sysconfdir}/logrotate.d/uucp
|
||
|
# systemd services
|
||
|
mkdir -p %{buildroot}%{_unitdir}
|
||
|
install -m644 %{SOURCE3} %{buildroot}%{_unitdir}
|
||
|
install -m644 %{SOURCE5} %{buildroot}%{_unitdir}
|
||
|
install -m644 %{SOURCE6} %{buildroot}%{_unitdir}
|
||
|
%if 0%{?suse_version} > 1500
|
||
|
mkdir -p %{buildroot}%{_pam_vendordir}
|
||
|
install -m644 %{SOURCE7} %{buildroot}%{_pam_vendordir}/uucp
|
||
|
%else
|
||
|
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
|
||
|
install -m644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/uucp
|
||
|
%endif
|
||
|
mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d
|
||
|
install -m644 %{SOURCE8} %{buildroot}%{_sysconfdir}/xinetd.d/uucp
|
||
|
# move to libexec
|
||
|
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
|
||
|
# readme
|
||
|
mkdir -p -m 755 %{buildroot}%{_localstatedir}/spool/uucp %{buildroot}%{_localstatedir}/spool/uucppublic
|
||
|
install -m 644 README.suse %{buildroot}%{_localstatedir}/spool/uucppublic/README
|
||
|
# docs
|
||
|
rm -rf %{buildroot}%{_defaultdocdir}/uucp
|
||
|
mkdir -p %{buildroot}%{_defaultdocdir}/uucp
|
||
|
mkdir -p %{buildroot}%{_localstatedir}/log/uucp
|
||
|
chmod 1755 %{buildroot}%{_localstatedir}/log/uucp
|
||
|
tar -jxvpf %{SOURCE1} -C %{buildroot}%{_defaultdocdir}/uucp
|
||
|
chmod -R uog+r %{buildroot}%{_defaultdocdir}/uucp/
|
||
|
cp %{buildroot}%{_defaultdocdir}/uucp/cfg_example/taylor_config/suucp-server.conf.systemd \
|
||
|
%{buildroot}%{_sysconfdir}/uucp/suucp-server.conf.systemd
|
||
|
cp %{buildroot}%{_defaultdocdir}/uucp/cfg_example/taylor_config/suucp-server.conf.xinetd \
|
||
|
%{buildroot}%{_sysconfdir}/uucp/suucp-server.conf.xinetd
|
||
|
cp %{buildroot}%{_defaultdocdir}/uucp/cfg_example/taylor_config/suucp-client.conf \
|
||
|
%{buildroot}%{_sysconfdir}/uucp/suucp-client.conf.example
|
||
|
install -m 0640 %{SOURCE10} %{buildroot}%{_sysconfdir}/uucp/.bashrc
|
||
|
mkdir %{buildroot}%{_tmpfilesdir}
|
||
|
install -m 0644 %{SOURCE11} %{buildroot}%{_tmpfilesdir}/uucp.conf
|
||
|
> list.files
|
||
|
if ! tmp=$(rpm -qf %{_tmpfilesdir} 2>/dev/null)
|
||
|
then
|
||
|
echo %%dir %%{_tmpfilesdir} > list.files
|
||
|
fi
|
||
|
# rcbla compat symlink
|
||
|
ln -fs service %{buildroot}/%{_sbindir}/rcs%{name}
|
||
|
# manual pages
|
||
|
for man in uulog uuto uuname uupick
|
||
|
do
|
||
|
test -e ${man}.1 || continue
|
||
|
install -m 0644 ${man}.1 %{buildroot}%{_mandir}/man1/
|
||
|
done
|
||
|
|
||
|
%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
|
||
|
%if 0
|
||
|
%verify_permissions -e %{_bindir}/uulog
|
||
|
%verify_permissions -e %{_bindir}/uupick
|
||
|
%endif
|
||
|
|
||
|
%pre
|
||
|
%service_add_pre s%{name}.service %{name}.socket
|
||
|
%if 0%{?suse_version} > 1500
|
||
|
# Prepare for migration to /usr/lib; save any old .rpmsave
|
||
|
for i in pam.d/uucp ; do
|
||
|
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
|
||
|
done
|
||
|
|
||
|
%posttrans
|
||
|
# Migration to /usr/lib, restore just created .rpmsave
|
||
|
for i in pam.d/uucp ; do
|
||
|
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
|
||
|
done
|
||
|
%endif
|
||
|
|
||
|
%post
|
||
|
%install_info --info-dir=%{_infodir} %{_infodir}/uucp.info%{ext_info}
|
||
|
%service_add_post s%{name}.service %{name}.socket
|
||
|
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 %{_localstatedir}/log/uucp
|
||
|
chmod 1755 %{_localstatedir}/log/uucp
|
||
|
%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
|
||
|
%if 0
|
||
|
%set_permissions %{_bindir}/uulog
|
||
|
%set_permissions %{_bindir}/uupick
|
||
|
%endif
|
||
|
%if %{defined tmpfiles_create}
|
||
|
%tmpfiles_create %{_tmpfilesdir}/uucp.conf
|
||
|
%else
|
||
|
test -x /usr/bin/systemd-tmpfiles && /usr/bin/systemd-tmpfiles --create %{_tmpfilesdir}/uucp.conf || :
|
||
|
%endif
|
||
|
|
||
|
%preun
|
||
|
%install_info_delete --info-dir=%{_infodir} %{_infodir}/uucp.info%{ext_info}
|
||
|
%service_del_preun s%{name}.service %{name}.socket
|
||
|
|
||
|
%postun
|
||
|
%service_del_postun s%{name}.service %{name}.socket
|
||
|
|
||
|
%files -f list.files
|
||
|
%defattr(-,root,root)
|
||
|
%{_unitdir}/%{name}@.service
|
||
|
%{_unitdir}/%{name}.socket
|
||
|
%{_unitdir}/s%{name}.service
|
||
|
%{_sbindir}/rcs%{name}
|
||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/uucp
|
||
|
%if 0%{?suse_version} > 1500
|
||
|
%{_pam_vendordir}/uucp
|
||
|
%else
|
||
|
%config %{_sysconfdir}/pam.d/uucp
|
||
|
%endif
|
||
|
%dir %attr(0750,uucp,uucp) %{_sysconfdir}/%{name}/
|
||
|
%config %attr(0640,uucp,uucp) %{_sysconfdir}/%{name}/suucp-server.conf.systemd
|
||
|
%config %attr(0640,uucp,uucp) %{_sysconfdir}/%{name}/suucp-client.conf.example
|
||
|
%config(noreplace) %attr(0640,uucp,uucp) %{_sysconfdir}/%{name}/.bashrc
|
||
|
%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
|
||
|
%attr(755,root,root) %{_bindir}/cu
|
||
|
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uucp
|
||
|
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uuname
|
||
|
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uustat
|
||
|
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uux
|
||
|
%if 0
|
||
|
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uulog
|
||
|
%verify(not mode) %attr(6555,uucp,uucp) %{_bindir}/uupick
|
||
|
%else
|
||
|
%{_bindir}/uulog
|
||
|
%{_bindir}/uupick
|
||
|
%endif
|
||
|
%verify(not mode) %attr(6555,uucp,uucp) %{_libexecdir}/uucp/uucico
|
||
|
%verify(not mode) %attr(6555,uucp,uucp) %{_libexecdir}/uucp/uuxqt
|
||
|
%{_bindir}/uuto
|
||
|
%{_infodir}/uucp.info*%{ext_info}
|
||
|
%{_libexecdir}/uucp/uuchk
|
||
|
%{_libexecdir}/uucp/uuconv
|
||
|
%{_libexecdir}/uucp/uusched
|
||
|
%{_sbindir}/uuchk
|
||
|
%{_sbindir}/uucico
|
||
|
%{_sbindir}/uuconv
|
||
|
%{_sbindir}/uusched
|
||
|
%{_sbindir}/uuxqt
|
||
|
%{_mandir}/man1/*.1*
|
||
|
%{_mandir}/man8/*.8*
|
||
|
%{_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
|
||
|
%{_tmpfilesdir}/uucp.conf
|
||
|
|
||
|
%files xinetd
|
||
|
%defattr(-,root,root)
|
||
|
%config %attr(0640,uucp,uucp) %{_sysconfdir}/%{name}/suucp-server.conf.xinetd
|
||
|
%dir %{_sysconfdir}/xinetd.d
|
||
|
%config(noreplace) %{_sysconfdir}/xinetd.d/uucp
|
||
|
|
||
|
%changelog
|