File mgetty.spec of Package mgetty.12101
#
# spec file for package mgetty
#
# Copyright (c) 2019 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 https://bugs.opensuse.org/
#
Name: mgetty
BuildRequires: netpbm
BuildRequires: texlive
# allow postinst script to succeed
BuildRequires: pwdutils
%if 0%{suse_version} > 1220
BuildRequires: makeinfo
BuildRequires: systemd
%systemd_requires
%endif
Version: 1.1.36
Release: 0
PreReq: %install_info_prereq filesystem
Requires: g3utils
Recommends: logrotate
Url: http://mgetty.greenie.net/
Summary: Mgetty Listens for Data, Fax, or Voice Calls on a Serial Line
License: GPL-2.0-or-later
Group: Hardware/Fax
Source0: %{name}%{version}-Jun15.tar.bz2
Source2: logrotate
Source3: mgetty@.service
Source4: vgetty@.service
Patch0: %{name}-%{version}-makefile.patch
Patch1: %{name}-%{version}-local.patch
Patch2: %{name}-%{version}-tempfile.patch
Patch3: %{name}-%{version}-callback.patch
Patch4: %{name}-%{version}-specialdigits.patch
Patch5: %{name}-%{version}-implicit-fortify-decl.patch
Patch6: mgetty-1.1.36-no-date-time.patch
Patch7: bug646280.patch
Patch8: fixpie.patch
Patch9: lp64.patch
Patch10: mgetty-fix-buffer-overflow.patch
Patch11: mgetty-delete-obsolete.patch
Patch12: mgetty-fax-block-code-injection.patch
# PATCH-FIX-SECURITY mgetty-CVE-2019-1010190.patch bsc1142770 CVE-2019-1010190 sbrabec@suse.com -- Prevent crash on invalid PBM with negative dimensions.
Patch13: mgetty-CVE-2019-1010190.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This package turns your computer into a fax machine. With some voice
modems (Zyxel, Rockwell, and USR), you can even use your computer as an
answering machine.
Mgetty recognizes what kind of call it is receiving and does everything
else automatically. It is able to accept data (login/PPP), fax, and
(depending on your modem) voice calls. Find the documentation in
/usr/share/doc/packages/mgetty and TeX Info files in /usr/share/info.
The configuration files are in /etc/mgetty+sendfax.
%package -n sendfax
Conflicts: hylafax
Requires: g3utils
Requires: mgetty
Summary: A Tool for Sending Fax Documents
Group: Hardware/Fax
Provides: fax_daemon
PreReq: pwdutils permissions
%description -n sendfax
The sendfax part of mgetty. You can use it instead of hylafax for
sending faxes. The sources are included in the mgetty source package.
%package -n g3utils
Summary: Tools for the G3 (Fax) Graphics Format
Group: Productivity/Graphics/Convertors
%description -n g3utils
These utilities convert graphics files from the G3 format into the
general- purpose PBM format and back, so you can print or manipulate
them. G3 is used by fax modems and machines.
The g3utils are included in the mgetty source package.
%prep
%setup -q
%patch0
%patch1
%patch2
%patch3 -p1
%patch4
%patch5
%patch6
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%build
ln -s policy.h-dist policy.h
make CFLAGS="$RPM_OPT_FLAGS -fPIE" LDFLAGS="-pie" CC="%__cc"
make -C voice CFLAGS="$RPM_OPT_FLAGS -fPIE -DAUTO_PPP" LDFLAGS="-pie" CC="%__cc"
%install
%{_sbindir}/useradd -r -o -g uucp -u 33 -s /bin/bash -c "Facsimile agent" -d %{_localstatedir}/spool/fax fax 2> /dev/null || :
make install DESTDIR=$RPM_BUILD_ROOT
install samples/new_fax.mail $RPM_BUILD_ROOT%{_sysconfdir}/mgetty+sendfax/new_fax
ln -sf ../../..%{_sysconfdir}/mgetty+sendfax/new_fax $RPM_BUILD_ROOT%{_prefix}/lib/mgetty+sendfax/
make install -C voice DESTDIR=$RPM_BUILD_ROOT
install -m 644 voice/voice.conf-dist $RPM_BUILD_ROOT%{_sysconfdir}/mgetty+sendfax/voice.conf
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/voice/{incoming,messages} $RPM_BUILD_ROOT%{_docdir}/mgetty/voice
install -m 644 [BFRT]* doc/ttyS-cua.txt $RPM_BUILD_ROOT%{_docdir}/mgetty/
install -m 644 voice/[ART]* voice/doc/* $RPM_BUILD_ROOT%{_docdir}/mgetty/voice/
mkdir -p $RPM_BUILD_ROOT%{_docdir}/mgetty/samples
for name in samples/*; do if test ! -d $name; then install -m644 $name $RPM_BUILD_ROOT%{_docdir}/mgetty/samples; fi; done
mkdir -p $RPM_BUILD_ROOT%{_docdir}/mgetty/samples/new_fax.all
install -m 644 samples/new_fax.all/* $RPM_BUILD_ROOT%{_docdir}/mgetty/samples/new_fax.all/
cd voice && cp -R scripts $RPM_BUILD_ROOT%{_docdir}/mgetty/voice/
chmod 755 $RPM_BUILD_ROOT%{_docdir}/mgetty/voice/scripts/*
#cp -pf %{_prefix}/X11R6/bin/pbmtext $RPM_BUILD_ROOT%{_bindir}/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
install -m 644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mgetty
%if 0%{?suse_version} > 1220
install -D -m 0644 %{SOURCE3} %{buildroot}/%{_unitdir}/mgetty@.service
install -D -m 0644 %{SOURCE4} %{buildroot}/%{_unitdir}/vgetty@.service
%endif
%pre
%if 0%{?suse_version} > 1220
%service_add_pre mgetty@.service vgetty@.service
%endif
%pre -n sendfax
%{_sbindir}/useradd -r -o -g uucp -u 33 -s /bin/bash -c "Facsimile agent" -d %{_localstatedir}/spool/fax fax 2> /dev/null || :
/bin/touch %{_localstatedir}/log/sendfax.log
chown fax:uucp %{_localstatedir}/log/sendfax.log
chmod 664 %{_localstatedir}/log/sendfax.log
%post -n sendfax
%set_permissions %{_localstatedir}/spool/fax/outgoing
%verifyscript -n sendfax
%verify_permissions -e %{_localstatedir}/spool/fax/outgoing
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%if 0%{?suse_version} > 1220
%service_add_post mgetty@.service vgetty@.service
%endif
%preun
%if 0%{?suse_version} > 1220
%service_del_preun mgetty@.service vgetty@.service
%endif
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%if 0%{?suse_version} > 1220
%service_del_postun mgetty@.service vgetty@.service
%endif
%files
%defattr(-, root, root)
%dir %{_sysconfdir}/mgetty+sendfax
%doc %{_docdir}/mgetty
%dir %{_localstatedir}/spool/voice
%dir %{_localstatedir}/spool/voice/incoming
%dir %{_localstatedir}/spool/voice/messages
%if 0%{?suse_version} > 1220
%{_unitdir}/mgetty@.service
%{_unitdir}/vgetty@.service
%endif
%config(noreplace) %{_sysconfdir}/logrotate.d/mgetty
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/dialin.config
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/login.config
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/mgetty.config
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/voice.conf
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/callback.config
%{_bindir}/autopvf
%{_bindir}/basictopvf
%{_bindir}/lintopvf
%{_bindir}/newslock
%{_bindir}/pvfamp
%{_bindir}/pvfcut
%{_bindir}/pvfecho
%{_bindir}/pvffft
%{_bindir}/pvffile
%{_bindir}/pvffilter
%{_bindir}/pvfmix
%{_bindir}/pvfnoise
%{_bindir}/pvfreverse
%{_bindir}/pvfsine
%{_bindir}/pvfspeed
%{_bindir}/pvftoau
%{_bindir}/pvftobasic
%{_bindir}/pvftolin
%{_bindir}/pvftormd
%{_bindir}/pvftovoc
%{_bindir}/pvftowav
%{_bindir}/rmdfile
%{_bindir}/rmdtopvf
%{_bindir}/sff2g3
%{_bindir}/vm
%{_bindir}/voctopvf
%{_bindir}/wavtopvf
%doc %{_infodir}/mgetty.info*.gz
%doc %{_mandir}/man1/autopvf.1.gz
%doc %{_mandir}/man1/basictopvf.1.gz
%doc %{_mandir}/man1/lintopvf.1.gz
%doc %{_mandir}/man1/pvf.1.gz
%doc %{_mandir}/man1/pvfamp.1.gz
%doc %{_mandir}/man1/pvfcut.1.gz
%doc %{_mandir}/man1/pvfecho.1.gz
%doc %{_mandir}/man1/pvffft.1.gz
%doc %{_mandir}/man1/pvffile.1.gz
%doc %{_mandir}/man1/pvffilter.1.gz
%doc %{_mandir}/man1/pvfmix.1.gz
%doc %{_mandir}/man1/pvfnoise.1.gz
%doc %{_mandir}/man1/pvfreverse.1.gz
%doc %{_mandir}/man1/pvfsine.1.gz
%doc %{_mandir}/man1/pvfspeed.1.gz
%doc %{_mandir}/man1/pvftoau.1.gz
%doc %{_mandir}/man1/pvftobasic.1.gz
%doc %{_mandir}/man1/pvftolin.1.gz
%doc %{_mandir}/man1/pvftormd.1.gz
%doc %{_mandir}/man1/pvftovoc.1.gz
%doc %{_mandir}/man1/pvftowav.1.gz
%doc %{_mandir}/man1/sff2g3.1.gz
%doc %{_mandir}/man1/rmdfile.1.gz
%doc %{_mandir}/man1/rmdtopvf.1.gz
%doc %{_mandir}/man1/voctopvf.1.gz
%doc %{_mandir}/man1/wavtopvf.1.gz
%doc %{_mandir}/man1/zplay.1.gz
%doc %{_mandir}/man4/mgettydefs.4.gz
%doc %{_mandir}/man8/callback.8.gz
%doc %{_mandir}/man8/faxq-helper.8.gz
%doc %{_mandir}/man8/mgetty.8.gz
%doc %{_mandir}/man8/vgetty.8.gz
%{_sbindir}/mgetty
%{_sbindir}/vgetty
%{_sbindir}/callback
# Note: This was erroneously in sendfax subpackage and the %config was missing
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/new_fax
%config %{_prefix}/lib/mgetty+sendfax/new_fax
%files -n g3utils
%defattr(-, root, root)
%{_bindir}/g32pbm
%{_bindir}/g3cat
%{_bindir}/g3topbm
%{_bindir}/pbm2g3
%doc %{_mandir}/man1/g32pbm.1.gz
%doc %{_mandir}/man1/g3cat.1.gz
%doc %{_mandir}/man1/pbm2g3.1.gz
%files -n sendfax
%defattr(-, root, root)
%dir %{_sysconfdir}/mgetty+sendfax
%dir %{_prefix}/lib/mgetty+sendfax
%attr(755,fax,root) %dir %{_localstatedir}/spool/fax
%dir %{_localstatedir}/spool/fax/incoming
%attr(755,fax,root) %verify(not mode) %dir %{_localstatedir}/spool/fax/outgoing
#%dir %{_localstatedir}/spool/fax/outgoing/locks
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/faxheader
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/faxrunq.config
%config(noreplace) %{_sysconfdir}/mgetty+sendfax/sendfax.config
%config %{_sysconfdir}/mgetty+sendfax/faxspool.rules.sample
%{_bindir}/faxq
%{_bindir}/faxrm
%{_bindir}/faxrunq
%{_bindir}/faxspool
#%{_bindir}/pbmtext
%{_sbindir}/faxrunqd
%{_sbindir}/sendfax
%attr(4711,fax,root) %{_prefix}/lib/mgetty+sendfax/faxq-helper
%{_prefix}/lib/mgetty+sendfax/cour25.pbm
%{_prefix}/lib/mgetty+sendfax/cour25n.pbm
%doc %{_mandir}/man1/fax.1.gz
%doc %{_mandir}/man1/faxq.1.gz
%doc %{_mandir}/man1/faxrm.1.gz
%doc %{_mandir}/man1/faxrunq.1.gz
%doc %{_mandir}/man1/faxspool.1.gz
%doc %{_mandir}/man1/coverpg.1.gz
%doc %{_mandir}/man5/faxqueue.5.gz
%doc %{_mandir}/man8/faxrunqd.8.gz
%doc %{_mandir}/man8/sendfax.8.gz
%changelog