# # spec file for package uucp # # Copyright (c) 2016 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 Version: 1.07 Release: 1.1 Summary: Taylor Unix-to-Unix copy License: GPL-2.0+ 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-lockdev.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 BuildRequires: autoconf BuildRequires: automake BuildRequires: lockdev-devel BuildRequires: makeinfo BuildRequires: ncurses-devel BuildRequires: pkgconfig Requires: ca-certificates Requires: filesystem Requires: logrotate Requires: netcfg Requires: openssl Requires: stunnel Requires: rmail %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 %patch1 -p0 -b .cont %patch2 -p0 -b .grad %patch3 -p0 -b .cu %patch4 -p0 -b .lockdev %patch0 -p0 -b .p0 %patch5 -p1 -b .p5 %patch6 -p1 -b .p6 %patch7 -p1 -b .p7 %patch8 -p0 -b .p8 %patch9 -p1 -b .p9 %patch10 -p1 -b .p10 %patch11 -p0 -b .p11 %patch12 -p0 -b .p12 %build autoreconf -fvi export CFLAGS="%{optflags} -fno-strict-aliasing -fPIE -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE" %configure \ --with-newconfigdir=%{_sysconfdir}/uucp \ --with-oldconfigdir=%{_sysconfdir}/uucp/hdb_config make %{?_smp_mflags} LDFLAGS="-pie" MAKEINFO="makeinfo --force" %install %make_install install-info echo "--------------------------------------------------" ls -al %{buildroot}%{_bindir}/* echo "--------------------------------------------------" ls -al %{buildroot}%{_sbindir}/* echo "--------------------------------------------------" #strip -s %{buildroot}%{_bindir}/* #strip -s %{buildroot}%{_sbindir}/* # 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} mkdir -p %{buildroot}%{_sysconfdir}/pam.d install -m644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pam.d/uucp 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}%{_sysconfdir}/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 %{_sbindir}/uucico %verify_permissions -e %{_sbindir}/uuxqt %if 0 %verify_permissions -e %{_bindir}/uulog %verify_permissions -e %{_bindir}/uupick %endif #%pre #%service_add_pre s%{name}.service %{name}.socket %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 %{_sbindir}/uucico %set_permissions %{_sbindir}/uuxqt %if 0 %set_permissions %{_bindir}/uulog %set_permissions %{_bindir}/uupick %endif %if %{defined tmpfiles_create} %tmpfiles_create %{_sysconfdir}/uucp.conf %else test -x /usr/bin/systemd-tmpfiles && /usr/bin/systemd-tmpfiles --create %{_sysconfdir}/uucp.conf || : %endif #%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 %config %{_sysconfdir}/pam.d/uucp %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 %{_bindir}/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) %{_sbindir}/uucico %verify(not mode) %attr(6555,uucp,uucp) %{_sbindir}/uuxqt %{_bindir}/uuto %{_infodir}/uucp.info*%{ext_info} %{_sbindir}/uuchk %{_sbindir}/uuconv %{_sbindir}/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 %{_sysconfdir}/uucp.conf %files xinetd %defattr(-,root,root) %config %attr(0640,uucp,uucp) %{_sysconfdir}/%{name}/suucp-server.conf.xinetd %config(noreplace) %{_sysconfdir}/xinetd.d/uucp %changelog * Fri Apr 7 2017 jengelh@inai.de - Combine %%service_ calls as they contain a lot of shell. - Undo accidental linejoining of description. - Spell out UUCP in summary to fill it. - Use modern tar syntax and compact chmod syntax. * Thu Apr 6 2017 werner@suse.de - Split of xinetd configuration as its own package - Make sure that suucp.service does work with the suucp-server.conf as here stunnel should not be used in inetd mode nor can it (currently) use socket forwarding done by systemd * Tue Apr 4 2017 werner@suse.de - Remove the usermode line as now we do not need to become member of group lock * Tue Apr 4 2017 werner@suse.de - Finalize the package that is * use /var/lock/uucp for session locking * add dircategory "Networking tools" for uucp info * reflect our current permission handling with chkstat * Tue Apr 4 2017 werner@suse.de - Add patch uucp-1.07-configure.patch that is help configure script to find sigsetjmp * Sat Apr 1 2017 werner@suse.de - Add some ACL group permissions for group uucp for /run/lock and /run/lock/lockdev as otherwise we might fail * Sat Apr 1 2017 werner@suse.de - Add patch uucp-1.07-initgroups.patch to initialize further groups to which user uucp might be belongs to * Fri Mar 31 2017 werner@suse.de - We should use now the suucp service port and not generic stunnel not ssl for taylor uucp configuration - Also we now can allow to let stunnel execute uucico without local connection over xinetd or systemd * Fri Mar 31 2017 werner@suse.de - Provide both uucp/suucp xinetd *and* systemd activated service - Add patches * address-wildcard-in-port.patch * fix-proty-gcc33.patch * uucp-1.07-sigfpe2.patch to fix potential crashes with SIGFPE * uucp-1.07-lfs.patch to fix truncation of values on 32bit platforms where statvfs64 is being called on a lfs - Add xinetd.uucp and uucp.pam * Thu Oct 27 2016 kukuk@suse.de - Require user and group uucp * Thu Jul 28 2016 tchvatal@suse.com - Add example config to etc and dscribe what is needed for the stunnel to work bnc#990849 * Thu Jun 16 2016 tchvatal@suse.com - Switch from uucp xinetd to systemd activated service - Switch from suucp stunnel service to systemd service properly initing the stunnel * Thu Jun 16 2016 tchvatal@suse.com - Split out from sendmail package - Cleanup to use proper deps and only depend on what's needed in which scriptlet - Use %%configure macro and friends - Use just make_install and describe what is going in the install phase * Mon Mar 2 2015 werner@suse.de - Make makeinfo less restrict * Tue Feb 24 2015 dimstar@opensuse.org - Add uucp-texinfo-5.0.patch: Fix build with texinfo 5.0. * Wed Sep 10 2014 lnussel@suse.de - don't set LOCKDIR. uucp will properly use it's spool dir for system lock files then. Serial lock files are handled by lockdev anyways (bnc#760079) - add a line of debug output in case serial locking failed * Thu Nov 14 2013 dvaleev@suse.com - Drop obsolted ftime (drop_ftime.patch) Broken under PowerKVM * Fri May 31 2013 coolo@suse.com - buildrequire makeinfo (automake 1.13 no longer requires it) * Fri May 25 2012 werner@suse.de - Job creation scheme (bnc#764107) * Tue Mar 13 2012 mweckbecker@suse.com - Add missing linkerflags to make it build w/ -fPIE properly * Tue Jan 24 2012 werner@suse.de - Use -fPIE due bnc#743147 * Tue Jan 17 2012 aj@suse.de - Remove suse_update_config usage. - Add autoconf and automake as build requirements. * Thu Mar 10 2011 werner@suse.de - Change owner ship of /var/log/uucp to root and touch the log files if not exists for user uucp (bnc#678432) * Tue Mar 9 2010 lnussel@suse.de - use lockdev (FATE#308360) * Thu Dec 17 2009 jengelh@medozas.de - Enable parallel building * Wed Jun 13 2007 werner@suse.de - Recommend stunnel package (bug #254613) * Fri Feb 16 2007 werner@suse.de - Split off uucp spec file from sendmail spec file - Require new rmail sub packages of sendmail * Mon Feb 12 2007 werner@suse.de - Make it build nonroot * Fri Jan 19 2007 werner@suse.de - Add uucp over ssh protocol and example to be able to use uucp even with dynamic IP addresses on the client side. * Thu Jun 22 2006 werner@suse.de - Add a few manual pages missed (bug #187356) * Tue Mar 14 2006 werner@suse.de - Remove contrib/uucomp.shar due broken license (bug #157791) * Thu Oct 13 2005 lmuelle@suse.de - Install example config files call and passwd with read write permissions for user root, read only for group uucp, and non access at all for others. - Add pipe-stunnel port and stunnel example config files to cfg_example/taylor_config/port. * Mon Jun 20 2005 werner@suse.de - In passwd example to not mix-up uucp host and uucp user * Mon Jun 20 2005 werner@suse.de - Make the comments in the taylor configurationb files more clear and add a comment on the passwd file and add also an example for the passwd file used for incomming calls. * Tue Aug 31 2004 werner@suse.de - Remove update message * Tue Aug 31 2004 werner@suse.de - Move forward to new update messages scheme * Thu Jul 29 2004 werner@suse.de - Fix autoconfig function definition * Wed Sep 17 2003 werner@suse.de - Change owner and permission of /var/spool/uucppublic (bug #31119) * Mon Jun 30 2003 werner@suse.de - Update to uucp 1.07 * Thu Apr 24 2003 ro@suse.de - fix install_info --delete call and move from preun to postun * Mon Apr 14 2003 werner@suse.de - Add /etc/uucp with user uucp and group uucp to file list of uucp (bug #26301) * Wed Mar 5 2003 werner@suse.de - Fix bug #24685: provide an xinetd config file for uucico * Wed Feb 26 2003 werner@suse.de - Fix initial port struct settings by zero the mem area. * Tue Feb 11 2003 werner@suse.de - Fix bug #23466: use install_info macro in spec * Tue Jan 14 2003 werner@suse.de - Use BuildRoot * Fri Aug 16 2002 werner@suse.de - Add PreReq (bug #18012) * Mon Aug 12 2002 werner@suse.de - Move logrotate configure for uucp logs to new format * Wed May 8 2002 werner@suse.de - Add logrotate entry for uucp to /etc/logrotate.d/ (bug #15944) * Thu Apr 4 2002 ro@suse.de - autoconf: LIBOBJS vs AC_LIBOBJ * Thu Oct 25 2001 werner@suse.de - UUCP: Fix exploit in uuxqt * Wed Jun 6 2001 werner@suse.de - Make it work with new autoconf * Wed Mar 21 2001 werner@suse.de - It's GNU source * Thu Mar 15 2001 ro@suse.de - fixed neededforbuild for openldap * Tue Mar 13 2001 werner@suse.de - Fix manual page: do not handle CVS a pre processor * Tue Nov 28 2000 werner@suse.de - Set permissions and owner ship of /var/log/uucp/ to 0755 and uucp.uucp. * Tue May 9 2000 werner@suse.de - Revisited uucpcfg * Add english comments * Add UUCP over TCP/IP example * Comment out the examples (security: no backdoor) * Add some speed ranges for port serial1 * Fri Apr 7 2000 werner@suse.de - Changes for uucp * Avoid FPE error if baud rate is zero (uucico.c) * Add some higher baud rates (i386, mostly ppc) (uucico.c) * Avoid stall connection due ignored "CYM" command (trans.c) * Avoid root owned stale locks * Add grade patch for uucico from Debian * Some minor and unchecked changes of the contrib's * Use /var/log/uucp for logging (Tayler configuration) * Change paths in manual pages and info files * Thu Mar 16 2000 werner@suse.de - Make UUCP docs readable for all * Tue Feb 29 2000 schwab@suse.de - Fix size_t vs. socklen_t. * Mon Feb 14 2000 ro@suse.de - removed Makefile.Linux - updated configure - move man,info to /usr/share using macro * Mon Sep 13 1999 bs@suse.de - ran old prepare_spec on spec file to switch to new prepare_spec. * Wed Feb 17 1999 ro@suse.de - added rmail and rmail.8 built from sendmail-sources - build from sendmail.spec * Fri Jan 8 1999 bs@suse.de - incorporated uucpcfg * Mon Dec 14 1998 bs@suse.de - created notify mail * Sun Dec 13 1998 florian@suse.de do not use "-" to start options for "ps" move config dir to /etc/uucp cu is not suid uucp compiler falgs are set to sane values * Thu Jan 2 1997 bs@suse.de var/spool/uucppublic/README changed Mon Sep 2 03:06:07 MET DST 1996 don't use public writable directories * Thu Jan 2 1997 bs@suse.de change from binary to ascii lockfiles