diff --git a/hylafax-6.0.5-gcc45.patch b/hylafax-6.0.5-gcc45.patch deleted file mode 100644 index fcd5d09..0000000 --- a/hylafax-6.0.5-gcc45.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nru hylafax-6.0.5.orig//configure hylafax-6.0.5/configure ---- hylafax-6.0.5.orig//configure 2011-03-28 17:01:20.670053643 +0200 -+++ hylafax-6.0.5/configure 2011-03-28 17:02:18.815721010 +0200 -@@ -2882,7 +2882,7 @@ - echo '#define HAS_FCHMOD 1' - Note "... configure use of fchmod" - CheckFuncDecl fchmod 'extern int fchmod(int, mode_t);' \ -- unistd.h libc.h $OSFCNH sys/stat.h -+ unistd.h $OSFCNH sys/stat.h libc.h - } - CheckFuncDecl mknod 'extern int mknod(const char*, mode_t, dev_t);' \ - unistd.h sys/stat.h diff --git a/hylafax-7.0.8-gcc-14.2.0.patch b/hylafax-7.0.8-gcc-14.2.0.patch new file mode 100644 index 0000000..5383708 --- /dev/null +++ b/hylafax-7.0.8-gcc-14.2.0.patch @@ -0,0 +1,20 @@ +--- hylafax-7.0.8/faxd/sslfaxproxy.c++.orig 2024-09-15 17:20:01.598908502 +0200 ++++ hylafax-7.0.8/faxd/sslfaxproxy.c++ 2024-09-15 17:20:27.923965726 +0200 +@@ -31,7 +31,7 @@ + fflush(fp); + } + +-timeval currentTime() { ++timeval currentTime2() { + timeval curTime; + gettimeofday(&curTime, 0); + return curTime; +@@ -123,7 +123,7 @@ + printlog(stderr, "getsockname(ctrl): %s\n", strerror(errno)); + } + +- srand((unsigned int) currentTime().tv_usec % ntohs(data_addr.sin_port)); ++ srand((unsigned int) currentTime2().tv_usec % ntohs(data_addr.sin_port)); + const char* passcode = randomString(10); + + fxStr info = fxStr::format("%s@%s:%d", passcode, infohost, ntohs(data_addr.sin_port)); diff --git a/hylafax-faxgetty.service b/hylafax-faxgetty.service new file mode 100644 index 0000000..626e9e4 --- /dev/null +++ b/hylafax-faxgetty.service @@ -0,0 +1,22 @@ +[Unit] +Description=faxgetty on /dev/%I +Documentation=man:faxgetty(8) +BindsTo=dev-%i.device +After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service +After=rc-local.service +Before=getty.target +IgnoreOnIsolate=yes + +[Service] +ExecStart=-/usr/bin/faxgetty /dev/%I +Type=idle +Restart=always +RestartSec=0 +UtmpIdentifier=%I +TTYPath=/dev/%I +KillMode=process +IgnoreSIGPIPE=no + +[Install] +WantedBy=getty.target + diff --git a/hylafax-faxq.service b/hylafax-faxq.service new file mode 100644 index 0000000..dfca77e --- /dev/null +++ b/hylafax-faxq.service @@ -0,0 +1,15 @@ +[Unit] +Description=HylaFAX faxq (job scheduler service) +ConditionPathExists=/var/spool/hylafax/etc/setup.cache + +[Service] +User=root +Group=root +Restart=always +SuccessExitStatus=255 +EnvironmentFile=/etc/sysconfig/hylafax +ExecStart=/usr/bin/faxq -D $FAXQ_OPTIONS +LimitNOFILE=8192 + +[Install] +WantedBy=multi-user.target diff --git a/hylafax-hfaxd.service b/hylafax-hfaxd.service new file mode 100644 index 0000000..0d24774 --- /dev/null +++ b/hylafax-hfaxd.service @@ -0,0 +1,13 @@ +[Unit] +Description=HylaFAX hfaxd (client service) +ConditionPathExists=/var/spool/hylafax/etc/setup.cache + +[Service] +User=root +Group=root +Restart=always +EnvironmentFile=/etc/sysconfig/hylafax +ExecStart=/usr/bin/hfaxd -d $HFAXD_OPTIONS + +[Install] +WantedBy=multi-user.target diff --git a/hylafax-sysconfig b/hylafax-sysconfig new file mode 100644 index 0000000..5ecc868 --- /dev/null +++ b/hylafax-sysconfig @@ -0,0 +1,29 @@ +# +# Put additional command-line options for hfaxd here +# +HFAXD_OPTIONS="-i hylafax" + +# +# Put additional command-line options for faxq here +# +FAXQ_OPTIONS= + +# +# Disable hourly faxqclean if not needed here +# +FAXQCLEAN_RUN="yes" + +# +# Put command-line options for faxqclean here +# +FAXQCLEAN_OPTIONS= + +# +# Disable daily faxcron if not needed here +# +FAXCRON_RUN="yes" + +# +# Put command-line options for faxcron here +# +FAXCRON_OPTIONS= diff --git a/hylafax.spec b/hylafax.spec index e8d4546..9c38b5f 100644 --- a/hylafax.spec +++ b/hylafax.spec @@ -3,36 +3,40 @@ %define libname libhylafax Name: hylafax -Version: 6.0.7 +Version: 7.0.8 Release: 1mamba Summary: An enterprise-class system for sending and receiving facsimiles Group: System/Telephony Vendor: openmamba Distribution: openmamba -Packager: Tiziana Ferro -URL: http://www.hylafax.org/ -Source: ftp://ftp.hylafax.org/source/hylafax-%{version}.tar.gz -Patch0: %{name}-6.0.5-gcc45.patch +Packager: Silvan Calarco +URL: https://hylafax.sourceforge.io/ +Source: https://prdownloads.sourceforge.net/hylafax/hylafax-%{version}.tar.gz +Source1: hylafax-faxgetty.service +Source2: hylafax-hfaxd.service +Source3: hylafax-faxq.service +Source4: hylafax-sysconfig +Patch0: hylafax-7.0.8-gcc-14.2.0.patch License: BSD ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libgcc +BuildRequires: libjbig-devel +BuildRequires: libjpeg-devel +BuildRequires: liblcms2-devel +BuildRequires: libopenldap-devel +BuildRequires: libopenssl-devel +BuildRequires: libpam-devel BuildRequires: libstdc++6-devel BuildRequires: libtiff-devel +BuildRequires: libxcrypt-devel BuildRequires: libz-devel -BuildRequires: pam-devel -BuildRequires: sharutils ## AUTOBUILDREQ-END BuildRequires: libjbig-devel BuildRequires: ghostscript BuildRequires: tiff-utils Requires: sharutils Requires: /usr/sbin/sendmail -BuildRoot: %{_tmppath}/%{name}-%{version}-root - -# FIXME: -# WARNING, no vgetty program found to handle a voice call, using /bin/vgetty. -# WARNING, no egetty program found, using /bin/egetty. %description HylaFAX is an enterprise-class system for sending and receiving facsimiles as well as for sending alpha-numeric pages. @@ -47,7 +51,7 @@ If you expect to send more than a few facsimiles a day, then HylaFAX is the fax %package client Summary: Client tools for HylaFax Group: System/Telephony -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %description client HylaFAX is an enterprise-class system for sending and receiving facsimiles as well as for sending alpha-numeric pages. @@ -57,14 +61,13 @@ Client software is designed to be lightweight and easy to port. HylaFAX is designed to be very robust and reliable. The fax server is designed to guard against unexpected failures in the software, in the configuration, in the hardware and in general use. HylaFAX can support multiple modems and a heavy traffic load. -If you expect to send more than a few facsimiles a day, then HylaFAX is the fax package for you! This is the client package. %package server Summary: HylaFax server Group: System/Servers -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %description server HylaFAX is an enterprise-class system for sending and receiving facsimiles as well as for sending alpha-numeric pages. @@ -74,7 +77,6 @@ Client software is designed to be lightweight and easy to port. HylaFAX is designed to be very robust and reliable. The fax server is designed to guard against unexpected failures in the software, in the configuration, in the hardware and in general use. HylaFAX can support multiple modems and a heavy traffic load. -If you expect to send more than a few facsimiles a day, then HylaFAX is the fax package for you!! This is the server package. @@ -90,43 +92,43 @@ Client software is designed to be lightweight and easy to port. HylaFAX is designed to be very robust and reliable. The fax server is designed to guard against unexpected failures in the software, in the configuration, in the hardware and in general use. HylaFAX can support multiple modems and a heavy traffic load. -If you expect to send more than a few facsimiles a day, then HylaFAX is the fax package for you!! -This is the shared librairies of HylaFAX. +This is the shared libraries of HylaFAX. %package -n %{libname}-devel Summary: Devel files for HylaFAX Group: Development/Libraries -Requires: %{name} = %{version} +Requires: %{name} = %{version}-%{release} %description -n %{libname}-devel HylaFAX is an enterprise-class system for sending and receiving facsimiles as well as for sending alpha-numeric pages. -The software is designed around a client-server architecture. -Fax modems may reside on a single machine on a network and clients can submit an outbound job from any other machine on the network. -Client software is designed to be lightweight and easy to port. -HylaFAX is designed to be very robust and reliable. -The fax server is designed to guard against unexpected failures in the software, in the configuration, in the hardware and in general use. -HylaFAX can support multiple modems and a heavy traffic load. -If you expect to send more than a few facsimiles a day, then HylaFAX is the fax package for you!! +This package contains files needed for development. -This package contains files need for development. +%debug_package %prep %setup -q -#%patch0 -p1 -sed -i "s|-ljbig|-L/usr/lib -ljbig|" configure +#-D -T +#:<< _EOF +%patch 0 -p1 %build +#:<< _EOF +STRIP=':' \ ./configure \ --nointeractive \ --with-DIR_BIN=%{_bindir} \ - --with-DIR_SBIN=%{_sbindir} \ + --with-DIR_SBIN=%{_bindir} \ --with-DIR_LIB=%{_libdir} \ - --with-DIR_LIBEXEC=%{_sbindir} \ + --with-DIR_LIBEXEC=%{_bindir} \ --with-DIR_MAN=%{_mandir} \ --with-DIR_LIBDATA=%{dirlibdata} \ + --with-LIBDIR=%{_libdir} \ --with-DIR_SPOOL=%{dirspool} \ --with-DIR_HTML=/var/www/html/hylafax \ + --with-TIFFBIN=%{_bindir} \ + --with-TIFFINC=-L%{_includedir} \ + --with-LIBTIFF="-ltiff" \ --with-AWK=/usr/bin/gawk \ --with-PAGESIZE=A4 @@ -135,56 +137,54 @@ make OPTIMIZER="%{optflags}" %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -install -d %{buildroot}%{_bindir} -install -d %{buildroot}%{_sbindir} -install -d %{buildroot}%{_mandir} -install -d %{buildroot}%{_libdir} -install -d %{buildroot}%{_initrddir} -install -d %{buildroot}%{dirspool} -install -d %{buildroot}%{dirlibdata} - make install \ DESTDIR=%{buildroot} \ - SBIN=%{buildroot}%{_sbindir} \ - LIBEXEC=%{buildroot}%{_sbindir} \ + SBIN=%{buildroot}%{_bindir} \ + LIBEXEC=%{buildroot}%{_bindir} \ BIN=%{buildroot}%{_bindir} \ MAN=%{buildroot}%{_mandir} \ LIBDIR=%{buildroot}%{_libdir} \ SPOOL=%{buildroot}%{dirspool} \ - DIR_SYSVINIT=%{buildroot}%{_initrddir} \ LIBDATA=%{buildroot}%{dirlibdata} #(cd %{buildroot}%{faxspool}/bin; ln -s ps2fax.gs ps2fax) rm -f %{buildroot}%{_sbindir}/faxsetup.{bsdi,irix} +rm -f %{buildroot}%{_initrddir}/hylafax + +install -D -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/faxgetty@.service +install -D -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/hfaxd.service +install -D -m0644 %{SOURCE3} %{buildroot}%{_unitdir}/faxq.service +install -D -m0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/hylafax %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%post -p /sbin/ldconfig -%postun -p /sbin/ldconfig %files %defattr(-,root,root) -%attr(755,root,root) %{_sbindir}/faxsetup -%attr(755,root,root) %{_sbindir}/faxsetup.linux -%doc CONTRIBUTORS COPYRIGHT README TODO +%attr(755,root,root) %{_bindir}/faxsetup +%attr(755,root,root) %{_bindir}/faxsetup.linux +%doc CONTRIBUTORS COPYRIGHT +#README TODO %files client %defattr(-,root,root) -%{_bindir}/* -%attr(755,root,root) %{_sbindir}/edit-faxcover -%attr(755,root,root) %{_sbindir}/textfmt +%attr(755,root,root) %{_bindir}/edit-faxcover +%attr(755,root,root) %{_bindir}/textfmt %{_mandir}/man1/* %files server %defattr(-,root,root) -%attr(755,root,root) %{_sbindir}/* -%exclude %{_sbindir}/faxsetup -%exclude %{_sbindir}/faxsetup.* -%exclude %{_sbindir}/edit-faxcover -%exclude %{_sbindir}/textfmt -%attr(755,root,root) %{_initrddir}/hylafax +%config(noreplace) %{_sysconfdir}/hylafax +%attr(755,root,root) %{_bindir}/* +%exclude %{_bindir}/faxsetup +%exclude %{_bindir}/faxsetup.* +%exclude %{_bindir}/edit-faxcover +%exclude %{_bindir}/textfmt +%{_unitdir}/faxgetty@.service +%{_unitdir}/hfaxd.service +%{_unitdir}/faxq.service %dir %{dirspool} %{dirspool}/* %dir %{dirlibdata} @@ -194,13 +194,17 @@ rm -f %{buildroot}%{_sbindir}/faxsetup.{bsdi,irix} %files -n %{libname} %defattr(-,root,root) -%{_libdir}/*.so.* +%{_libdir}/libfaxserver.so.* +%{_libdir}/libfaxutil.so.* -%files -n %{libname}-devel -%defattr(-,root,root) +#%files -n %{libname}-devel +#%defattr(-,root,root) ##%#{_libdir}/*.so %changelog +* Sun Sep 15 2024 Silvan Calarco 7.0.8-1mamba +- update to 7.0.8 + * Tue Sep 25 2018 Automatic Build System 6.0.7-1mamba - automatic version update by autodist