Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package uucp for openSUSE:Factory checked in at 2023-07-12 17:28:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/uucp (Old) and /work/SRC/openSUSE:Factory/.uucp.new.8922 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "uucp" Wed Jul 12 17:28:13 2023 rev:5 rq:1098345 version:1.07 Changes: -------- --- /work/SRC/openSUSE:Factory/uucp/uucp.changes 2023-01-16 18:02:37.084058813 +0100 +++ /work/SRC/openSUSE:Factory/.uucp.new.8922/uucp.changes 2023-07-12 17:28:50.599122489 +0200 @@ -1,0 +2,21 @@ +Wed Jul 12 10:41:24 UTC 2023 - Dr. Werner Fink <wer...@suse.de> + +- Add patches + * improved-pipe.patch + * manpage.patch + * option-to-not-force-hw-control.patch + * spelling.patch + * uucp-1.07-locking.patch + - Use ioctl TIOCEXCL as well as flock LOCK_EX|LOCK_NB + to make locking work on the open serial device + * wait-for-correct-parent.patch +- Port patches + * uucp-1.07.dif + * uucp-texinfo-5.0.patch + +------------------------------------------------------------------- +Mon Jul 10 10:32:17 UTC 2023 - Ludwig Nussel <lnus...@suse.com> + +- drop lockdev support (boo#1212801, removed uucp-1.07-lockdev.patch) + +------------------------------------------------------------------- Old: ---- uucp-1.07-lockdev.patch New: ---- improved-pipe.patch manpage.patch option-to-not-force-hw-control.patch spelling.patch uucp-1.07-locking.patch wait-for-correct-parent.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ uucp.spec ++++++ --- /var/tmp/diff_new_pack.ajvedu/_old 2023-07-12 17:28:51.343127640 +0200 +++ /var/tmp/diff_new_pack.ajvedu/_new 2023-07-12 17:28:51.351127695 +0200 @@ -38,7 +38,7 @@ Patch1: uucp-1.07-contrib.dif Patch2: uucp-1.07-grade.patch Patch3: uucp-1.07-cu.patch -Patch4: uucp-1.07-lockdev.patch +Patch4: uucp-1.07-locking.patch Patch5: drop_ftime.patch Patch6: uucp-texinfo-5.0.patch Patch7: address-wildcard-in-port.patch @@ -47,9 +47,13 @@ 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 BuildRequires: autoconf BuildRequires: automake -BuildRequires: lockdev-devel BuildRequires: makeinfo BuildRequires: ncurses-devel BuildRequires: pam-devel @@ -107,7 +111,7 @@ %patch1 -p0 -b .cont %patch2 -p0 -b .grad %patch3 -p0 -b .cu -%patch4 -p0 -b .lockdev +%patch4 -p0 -b .locking %patch0 -p0 -b .p0 %patch5 -p1 -b .p5 %patch6 -p1 -b .p6 @@ -117,10 +121,15 @@ %patch10 -p1 -b .p10 %patch11 -p0 -b .p11 %patch12 -p0 -b .p12 +%patch13 -p0 -b .p13 +%patch14 -p0 -b .p14 +%patch15 -p0 -b .p15 +%patch16 -p0 -b .p16 +%patch17 -p0 -b .p17 %build autoreconf -fvi -export CFLAGS="%{optflags} -fno-strict-aliasing -fPIE -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE" +export CFLAGS="%{optflags} -fno-strict-aliasing -fPIE -D_GNU_SOURCE $(getconf LFS_CFLAGS)" %configure \ --with-newconfigdir=%{_sysconfdir}/uucp \ --with-oldconfigdir=%{_sysconfdir}/uucp/hdb_config ++++++ improved-pipe.patch ++++++ Author: Rafael Diniz <raf...@rhizomatica.org> Description: remove ATTRIBUTE_UNUSED of the parameter uucp-org.patch uses add the possibility to send the system name to be called in pipe command (use \Z as place holder for the system name) Index: uucp-1.07/unix/pipe.c =================================================================== --- unix/pipe.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) --- unix/pipe.c +++ unix/pipe.c 2019-08-17 21:06:47.742519770 +0000 @@ -191,8 +191,8 @@ static boolean fspipe_dial (qconn, puuconf, qsys, zphone, qdialer, ptdialer) struct sconnection *qconn; pointer puuconf; - const struct uuconf_system *qsys ATTRIBUTE_UNUSED; - const char *zphone ATTRIBUTE_UNUSED; + const struct uuconf_system *qsys; + const char *zphone; struct uuconf_dialer *qdialer; enum tdialerfound *ptdialer; { @@ -212,12 +212,17 @@ fspipe_dial (qconn, puuconf, qsys, zphon ulog (LOG_ERROR, "No command for pipe connection"); return FALSE; } - - /* Look for a string \H and replaced it by the address given for this system */ + + /* Look for a string \H and replace it by the address given for this system */ for (p=pzprog; *p; p++) if (!strcmp(*p, "\\H")) *p = zphone; + /* Look for a string \Z and replace by the system name to be called */ + for (p=pzprog; *p; p++) + if (!strcmp(*p, "\\Z")) + *p = qsys->uuconf_zname; + aidescs[0] = SPAWN_WRITE_PIPE; aidescs[1] = SPAWN_READ_PIPE; aidescs[2] = SPAWN_NULL; ++++++ manpage.patch ++++++ Description: lintian detects some issues with these manpages Author: Thorsten Alteholz <deb...@alteholz.de> Index: uucp-1.07/contrib/uurate.man =================================================================== --- uucico.8 | 6 +++--- uucp.1 | 4 ++-- uustat.1 | 12 ++++++------ uux.1 | 4 ++-- uuxqt.8 | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) --- uucico.8 +++ uucico.8 2019-01-12 18:51:27.927352540 +0000 @@ -58,7 +58,7 @@ If a call fails, .I uucico will normally refuse to retry the call until a certain (configurable) amount of time -has passed. This may be overriden by the +has passed. This may be overridden by the .B -f, .B --force, or @@ -180,11 +180,11 @@ After calling out (to a particular syste .B \-\-system, or .B \-S -is specifed, or to all systems which have work when just +is specified, or to all systems which have work when just .B \-r1 or .B \-\-master -is specifed), begin an endless loop as with +is specified), begin an endless loop as with .B \-\-loop. .TP 5 .B \-q, \-\-nouuxqt --- uucp.1 +++ uucp.1 2019-01-12 18:52:26.547350782 +0000 @@ -69,10 +69,10 @@ removed before being processed by the .I uucico (8) daemon, the copy will fail. The files must be readable by the .I uucico -(8) daemon, and by the invoking user. +(8) daemon, and by the invoking user. This is the default. .TP 5 .B \-C, \-\-copy -Copy local source files to the spool directory. This is the default. +Copy local source files to the spool directory. .TP 5 .B \-d, \-\-directories Create all necessary directories when doing the copy. This is the --- uustat.1 +++ uustat.1 2019-01-12 18:51:27.927352540 +0000 @@ -406,7 +406,7 @@ Print a help message and exit. .SH EXAMPLES .br .nf -uustat --all +uustat \-\-all .fi Display status of all jobs. A sample output line is as follows: .br @@ -443,7 +443,7 @@ options may be used to control which job .br .nf -uustat --executions +uustat \-\-executions .fi Display status of queued up execution requests. A sample output line is as follows: @@ -474,7 +474,7 @@ options may be used to control which req .br .nf -uustat --list +uustat \-\-list .fi Display status for all systems with queued up commands. A sample output line is as follows: @@ -491,7 +491,7 @@ and the status of that conversation. .br .nf -uustat --status +uustat \-\-status .fi Display conversation status for all remote systems. A sample output line is as follows: @@ -511,7 +511,7 @@ also displays the time when the next cal .br .nf -uustat --ps +uustat \-\-ps .fi Display the status of all processes holding UUCP locks. The output format is system dependent, as @@ -523,7 +523,7 @@ simply invokes .br .in +0.5i .nf -uustat --command rmail --older-than 168 --kill-all --no-list --mail --notify --comment "Queued for over 1 week" +uustat \-\-command rmail \-\-older\-than 168 \-\-kill\-all \-\-no\-list \-\-mail \-\-notify \-\-comment "Queued for over 1 week" .fi .in -0.5i This will kill all --- uux.1 +++ uux.1 2019-01-12 18:51:27.931352540 +0000 @@ -204,7 +204,7 @@ Print a help message and exit. .SH EXAMPLES .br .nf -uux -z - sys1!rmail user1 +uux \-z \- sys1!rmail user1 .fi Execute the command ``rmail user1'' on the system sys1, giving it as standard input whatever is given to @@ -215,7 +215,7 @@ as standard input. If a failure occurs, .br .nf -uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff' +uux 'diff \-c sys1!~user1/file1 sys2!~user2/file2 >!file.diff' .fi Fetch the two named files from system sys1 and system sys2 and execute .I diff --- uuxqt.8 +++ uuxqt.8 2019-01-12 18:51:27.931352540 +0000 @@ -43,7 +43,7 @@ Only execute requests for the specified .br .in +0.5i .nf -uuxqt --command rmail +uuxqt \-\-command rmail .fi .in -0.5i .TP 5 ++++++ option-to-not-force-hw-control.patch ++++++ Description: avoid forcing hw control Author: Michal Suchanek Index: uucp-1.07/conn.h =================================================================== --- conn.c | 5 +++-- conn.h | 4 ++-- cu.1 | 3 +++ cu.c | 12 ++++++++++-- unix/pipe.c | 5 +++-- unix/serial.c | 25 +++++++++++++++++-------- unix/tcp.c | 5 +++-- unix/tli.c | 5 +++-- uucico.c | 6 +++--- 9 files changed, 47 insertions(+), 23 deletions(-) --- conn.c +++ conn.c 2013-12-04 10:20:26.026181299 +0000 @@ -114,12 +114,13 @@ fconn_unlock (qconn) /* Open a connection. */ boolean -fconn_open (qconn, ibaud, ihighbaud, fwait, fuser) +fconn_open (qconn, ibaud, ihighbaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; long ihighbaud; boolean fwait; boolean fuser; + boolean nortscts; { boolean fret; @@ -177,7 +178,7 @@ fconn_open (qconn, ibaud, ihighbaud, fwa else ulog_device (qconn->qport->uuconf_zname); - fret = (*qconn->qcmds->pfopen) (qconn, ibaud, fwait, fuser); + fret = (*qconn->qcmds->pfopen) (qconn, ibaud, fwait, fuser, nortscts); if (! fret) ulog_device ((const char *) NULL); --- conn.h +++ conn.h 2013-12-04 10:20:26.022181350 +0000 @@ -117,7 +117,7 @@ struct sconncmds boolean (*pfunlock) P((struct sconnection *qconn)); /* Open the connection. */ boolean (*pfopen) P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); /* Close the connection. */ boolean (*pfclose) P((struct sconnection *qconn, pointer puuconf, @@ -198,7 +198,7 @@ extern boolean fconn_unlock P((struct sc than the effective permissions. */ extern boolean fconn_open P((struct sconnection *qconn, long ibaud, long ihighbaud, boolean fwait, - boolean fuser)); + boolean fuser, boolean nortscts)); /* Close a connection. The fsuccess argument is TRUE if the conversation completed normally, FALSE if it is being aborted. */ --- cu.1 +++ cu.1 2013-12-04 10:20:26.026181299 +0000 @@ -233,6 +233,9 @@ Echo characters locally (half-duplex mod .B \-\-nostop Turn off XON/XOFF handling (it is on by default). .TP 5 +.B \-f, \-\-nortscts +Do not use hardware flow control. +.TP 5 .B \-E char, \-\-escape char Set the escape character. Initially .B ~ --- cu.c +++ cu.c 2013-12-04 10:27:03.353425764 +0000 @@ -223,6 +223,7 @@ static const struct option asCulongopts[ { "baud", required_argument, NULL, 's' }, { "mapcr", no_argument, NULL, 't' }, { "nostop", no_argument, NULL, 3 }, + { "nortscts", no_argument, NULL, 'f' }, { "system", required_argument, NULL, 'z' }, { "config", required_argument, NULL, 'I' }, { "debug", required_argument, NULL, 'x' }, @@ -258,6 +259,8 @@ main (argc, argv) enum txonxoffsetting txonxoff = XONXOFF_ON; /* -I: configuration file name. */ const char *zconfig = NULL; + /* -f: no hardware flow control */ + boolean nortscts = FALSE; int iopt; pointer puuconf; int iuuconf; @@ -295,7 +298,7 @@ main (argc, argv) } } - while ((iopt = getopt_long (argc, argv, "a:c:deE:hnI:l:op:s:tvx:z:", + while ((iopt = getopt_long (argc, argv, "a:c:deE:fhnI:l:op:s:tvx:z:", asCulongopts, (int *) NULL)) != EOF) { switch (iopt) @@ -322,6 +325,11 @@ main (argc, argv) zCuvar_escape = optarg; break; + case 'f': + /* No hardware flow control. */ + nortscts = TRUE; + break; + case 'h': /* Local echo. */ fCulocalecho = TRUE; @@ -687,7 +695,7 @@ main (argc, argv) } /* Here we have locked a connection to use. */ - if (! fconn_open (&sconn, iusebaud, ihighbaud, FALSE, sinfo.fdirect)) + if (! fconn_open (&sconn, iusebaud, ihighbaud, FALSE, sinfo.fdirect, nortscts)) ucuabort (); fCuclose_conn = TRUE; --- uucico.c +++ uucico.c 2013-12-04 10:20:26.026181299 +0000 @@ -695,7 +695,7 @@ main (argc, argv) if (fret) { - if (! fconn_open (&sconn, (long) 0, (long) 0, TRUE, FALSE)) + if (! fconn_open (&sconn, (long) 0, (long) 0, TRUE, FALSE, FALSE)) fret = FALSE; qConn = &sconn; } @@ -714,7 +714,7 @@ main (argc, argv) (struct uuconf_dialer *) NULL, TRUE) || ! fconn_open (&sconn, (long) 0, (long) 0, TRUE, - FALSE)) + FALSE, FALSE)) break; } fret = FALSE; @@ -1179,7 +1179,7 @@ fconn_call (qdaemon, qport, qstat, cretr } if (! fconn_open (&sconn, qsys->uuconf_ibaud, qsys->uuconf_ihighbaud, - FALSE, FALSE)) + FALSE, FALSE, FALSE)) { terr = STATUS_PORT_FAILED; fret = FALSE; --- unix/pipe.c +++ unix/pipe.c 2013-12-04 10:20:26.026181299 +0000 @@ -49,7 +49,7 @@ const char pipe_rcsid[] = "$Id: pipe.c,v static void uspipe_free P((struct sconnection *qconn)); static boolean fspipe_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean fspipe_close P((struct sconnection *qconn, pointer puuconf, struct uuconf_dialer *qdialer, @@ -115,11 +115,12 @@ uspipe_free (qconn) /*ARGSUSED*/ static boolean -fspipe_open (qconn, ibaud, fwait, fuser) +fspipe_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn ATTRIBUTE_UNUSED; long ibaud ATTRIBUTE_UNUSED; boolean fwait; boolean fuser ATTRIBUTE_UNUSED; + boolean nortscts ATTRIBUTE_UNUSED; { /* We don't do incoming waits on pipes. */ if (fwait) --- unix/serial.c +++ unix/serial.c 2013-12-04 10:20:26.026181299 +0000 @@ -246,11 +246,11 @@ static boolean fsserial_open P((struct s boolean fwait, boolean fuser, enum tclocal_setting tlocal)); static boolean fsstdin_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean fsmodem_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean fsdirect_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean fsblock P((struct ssysdep_conn *q, boolean fblock)); static boolean fsserial_close P((struct ssysdep_conn *q)); static boolean fsstdin_close P((struct sconnection *qconn, @@ -1375,11 +1375,12 @@ fsserial_open (qconn, ibaud, fwait, fuse call to fsblock. */ static boolean -fsstdin_open (qconn, ibaud, fwait, fuser) +fsstdin_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; boolean fwait; boolean fuser; + boolean nortscts; { struct ssysdep_conn *q; @@ -1390,6 +1391,9 @@ fsstdin_open (qconn, ibaud, fwait, fuser q->o = q->ord; if (! fsserial_open (qconn, ibaud, fwait, fuser, IGNORE_CLOCAL)) return FALSE; + if (nortscts + && ! fsserial_hardflow (qconn, FALSE)) + return FALSE; q->iwr_flags = fcntl (q->owr, F_GETFL, 0); if (q->iwr_flags < 0) { @@ -1402,11 +1406,12 @@ fsstdin_open (qconn, ibaud, fwait, fuser /* Open a modem port. */ static boolean -fsmodem_open (qconn, ibaud, fwait, fuser) +fsmodem_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; boolean fwait; boolean fuser; + boolean nortscts; { struct uuconf_modem_port *qm; @@ -1423,7 +1428,10 @@ fsmodem_open (qconn, ibaud, fwait, fuser out, because some modems don't assert the necessary signals until they see carrier. Instead, we turn on hardware flow control in fsmodem_carrier. */ - if (fwait + if (nortscts + && ! fsserial_hardflow (qconn, FALSE)) + return FALSE; + else if (fwait && ! fsserial_hardflow (qconn, qm->uuconf_fhardflow)) return FALSE; @@ -1433,11 +1441,12 @@ fsmodem_open (qconn, ibaud, fwait, fuser /* Open a direct port. */ static boolean -fsdirect_open (qconn, ibaud, fwait, fuser) +fsdirect_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; boolean fwait; boolean fuser; + boolean nortscts; { struct uuconf_direct_port *qd; @@ -1450,7 +1459,7 @@ fsdirect_open (qconn, ibaud, fwait, fuse /* Always turn on hardware flow control for a direct port when it is opened. There is no other sensible time to turn it on. */ - return fsserial_hardflow (qconn, qd->uuconf_fhardflow); + return fsserial_hardflow (qconn, qd->uuconf_fhardflow && ! nortscts); } /* Change the blocking status of the port. We keep track of the --- unix/tcp.c +++ unix/tcp.c 2013-12-04 10:20:26.026181299 +0000 @@ -78,7 +78,7 @@ static boolean ftcp_set_hints P((int ive #endif static boolean ftcp_set_flags P((struct ssysdep_conn *qsysdep)); static boolean ftcp_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean ftcp_close P((struct sconnection *qconn, pointer puuconf, struct uuconf_dialer *qdialer, @@ -208,11 +208,12 @@ ftcp_set_flags (qsysdep) system. */ static boolean -ftcp_open (qconn, ibaud, fwait, fuser) +ftcp_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud ATTRIBUTE_UNUSED; boolean fwait; boolean fuser ATTRIBUTE_UNUSED; + boolean nortscts ATTRIBUTE_UNUSED; { struct ssysdep_conn *qsysdep; const char *zport; --- unix/tli.c +++ unix/tli.c 2013-12-04 10:20:26.026181299 +0000 @@ -106,7 +106,7 @@ static const char *ztlierror P((void)); static void utli_free P((struct sconnection *qconn)); static boolean ftli_push P((struct sconnection *qconn)); static boolean ftli_open P((struct sconnection *qconn, long ibaud, - boolean fwait, boolean fuser)); + boolean fwait, boolean fuser, boolean nortscts)); static boolean ftli_close P((struct sconnection *qconn, pointer puuconf, struct uuconf_dialer *qdialer, @@ -238,11 +238,12 @@ ftli_push (qconn) system. */ static boolean -ftli_open (qconn, ibaud, fwait, fuser) +ftli_open (qconn, ibaud, fwait, fuser, nortscts) struct sconnection *qconn; long ibaud; boolean fwait; boolean fuser ATTRIBUTE_UNUSED; + boolean nortscts ATTRIBUTE_UNUSED; { struct ssysdep_conn *qsysdep; const char *zdevice; ++++++ spelling.patch ++++++ Author: Thorsten Alteholz <deb...@alteholz.de> Description: correct spelling error in binary Index: uucp-1.07/cu.c =================================================================== --- cu.c | 2 +- uuxqt.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) --- cu.c +++ cu.c 2019-01-12 18:50:00.435355162 +0000 @@ -1769,7 +1769,7 @@ icutake (puuconf, argc, argv, pvar, pinf zfrom = zbufcpy (argv[1]); else { - zfrom = zsysdep_terminal_line ("Remote file to retreive: "); + zfrom = zsysdep_terminal_line ("Remote file to retrieve: "); if (zfrom == NULL) ucuabort (); zfrom[strcspn (zfrom, " \t\n")] = '\0'; --- uuxqt.c +++ uuxqt.c 2019-01-12 18:50:32.907354189 +0000 @@ -1517,7 +1517,7 @@ uqdo_xqt_file (puuconf, zfile, zbase, qs az[i++] = zQcmd; az[i++] = "\n"; - (void) fsysdep_mail (zmail, "Execution succeded", i, az); + (void) fsysdep_mail (zmail, "Execution succeeded", i, az); } /* Now we may have to uucp the output to some other machine. */ ++++++ uucp-1.07-locking.patch ++++++ --- unix/serial.c | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) --- unix/serial.c +++ unix/serial.c 2023-07-12 09:28:06.155507529 +0000 @@ -57,11 +57,10 @@ const char serial_rcsid[] = "$Id: serial #if HAVE_FCNTL_H #include <fcntl.h> -#else +#endif #if HAVE_SYS_FILE_H #include <sys/file.h> #endif -#endif #ifndef O_RDONLY #define O_RDONLY 0 @@ -817,6 +816,34 @@ fsserial_lock (qconn, fin, fuser) (void) fsserial_lockfile (FALSE, qconn); return FALSE; } +#else +#if HAVE_TIOCEXCL + /* If we can't mark it in use, return FALSE to indicate that the + lock failed. */ + if (ioctl (qsysdep->o, TIOCEXCL) < 0) + { + if (errno != EALREADY) + ulog (LOG_ERROR, "ioctl (TIOCEXCL): %s", strerror (errno)); +#ifdef TIOCNOTTY + (void) ioctl (qsysdep->o, TIOCNOTTY, (char *) NULL); +#endif + (void) close (qsysdep->o); + qsysdep->o = -1; + (void) fsserial_lockfile (FALSE, qconn); + return FALSE; + } +#if defined(LOCK_EX) && defined(LOCK_NB) + if (flock(qsysdep->o, LOCK_EX|LOCK_NB) < 0) + { + if (errno != EWOULDBLOCK) + ulog (LOG_ERROR, "flock (LOCK_EX|LOCK_NB): %s", strerror (errno)); + (void) close (qsysdep->o); + qsysdep->o = -1; + (void) fsserial_lockfile (FALSE, qconn); + return FALSE; + } +#endif +#endif #endif #if HAVE_DEV_INFO @@ -2220,6 +2247,13 @@ fsysdep_modem_end_dial (qconn, qdial) q->iflags = iflags; #if HAVE_TIOCSINUSE (void) ioctl (onew, TIOCSINUSE, 0); +#else +#if HAVE_TIOCEXCL + (void) ioctl (onew, TIOCEXCL); +#if defined(LOCK_EX) && defined(LOCK_NB) + (void) flock(onew, LOCK_EX|LOCK_NB); +#endif +#endif #endif } } ++++++ uucp-1.07.dif ++++++ --- /var/tmp/diff_new_pack.ajvedu/_old 2023-07-12 17:28:51.471128526 +0200 +++ /var/tmp/diff_new_pack.ajvedu/_new 2023-07-12 17:28:51.475128553 +0200 @@ -14,6 +14,7 @@ uucico.8 | 4 + uucico.c | 3 + uuconv.1 | 74 +++++++++++++++++++++++++++++++++ + uuconv.c | 2 uucp.1 | 4 + uucp.texi | 50 +++++++++++----------- uulog.1 | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -25,7 +26,7 @@ uuto.1 | 36 ++++++++++++++++ uux.1 | 4 + uuxqt.8 | 4 + - 26 files changed, 695 insertions(+), 83 deletions(-) + 27 files changed, 696 insertions(+), 84 deletions(-) --- .pkgextract +++ .pkgextract 2017-04-04 15:40:58.880817467 +0000 @@ -461,7 +462,7 @@ #if HAVE_SYS_PARAM_H #include <sys/param.h> -@@ -1018,6 +1019,45 @@ static struct sbaud_table +@@ -1026,6 +1027,45 @@ static struct sbaud_table #ifdef B4000000 { B4000000, 4000000 }, #endif @@ -507,7 +508,7 @@ { B0, 0 } }; -@@ -2559,16 +2599,40 @@ fsysdep_conn_read (qconn, zbuf, pclen, c +@@ -2574,16 +2614,40 @@ fsysdep_conn_read (qconn, zbuf, pclen, c else csleepchars = MAX_INPUT - 10; @@ -550,7 +551,7 @@ /* Some versions of select take a pointer to an int, while some take a pointer to an fd_set. I just cast the arguments to a generic pointer, and assume that -@@ -3066,7 +3130,7 @@ fsysdep_conn_io (qconn, zwrite, pcwrite, +@@ -3081,7 +3145,7 @@ fsysdep_conn_io (qconn, zwrite, pcwrite, we don't need to use the catch stuff, since we know that HAVE_RESTARTABLE_SYSCALLS is 0. */ usset_signal (SIGALRM, usalarm, TRUE, (boolean *) NULL); @@ -711,6 +712,17 @@ +.RS 5 +.B info uucp 'Invoking uuconv' +.RE +--- uuconv.c ++++ uuconv.c 2013-05-08 12:49:06.000000000 +0000 +@@ -676,7 +676,7 @@ + { + if ((*pz)[0] != '-' && pz != pzarg) + fprintf (e, " "); +- fprintf (e, *pz); ++ fprintf (e, "%s", *pz); + } + } + --- uucp.1 +++ uucp.1 2017-04-04 15:40:58.884817393 +0000 @@ -1,4 +1,6 @@ ++++++ uucp-texinfo-5.0.patch ++++++ --- /var/tmp/diff_new_pack.ajvedu/_old 2023-07-12 17:28:51.503128747 +0200 +++ /var/tmp/diff_new_pack.ajvedu/_new 2023-07-12 17:28:51.507128774 +0200 @@ -2,7 +2,7 @@ =================================================================== --- uucp-1.07.orig/uucp.texi +++ uucp-1.07/uucp.texi -@@ -4230,7 +4230,7 @@ may be sent to the remote system upon re +@@ -4232,7 +4232,7 @@ may be sent to the remote system upon re @table @code @@ -11,7 +11,7 @@ @findex speed in sys file @item baud @var{number} @findex baud in sys file -@@ -5119,7 +5119,7 @@ the port name is taken as the device. D +@@ -5121,7 +5121,7 @@ the port name is taken as the device. D dependent. On Unix, a modem or direct connection might be something like @file{/dev/ttyd0}; a TLI port might be @file{/dev/inet/tcp}. @@ -20,7 +20,7 @@ @findex speed in port file @item baud @var{number} [ modem and direct only ] @findex baud in port file -@@ -5129,7 +5129,7 @@ name, then all ports which match the spe +@@ -5131,7 +5131,7 @@ name, then all ports which match the spe the speed is not specified here and is not specified by the system, the natural speed of the port will be used by default. ++++++ wait-for-correct-parent.patch ++++++ Description: wait for correct parent to die Author: Jörg Sommer <jo...@jo-so.de> Index: uucp-1.07/unix/detach.c =================================================================== --- unix/detach.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) --- unix/detach.c +++ unix/detach.c 2019-03-02 15:37:21.850946777 +0000 @@ -98,10 +98,8 @@ usysdep_detach () if (ipid != 0) _exit (EXIT_SUCCESS); - /* We'll always wind up as a child of process number 1, right? - Right? We have to wait for our parent to die before - reenabling SIGHUP. */ - while (getppid () != 1) + /* We have to wait for our parent to die before reenabling SIGHUP. */ + while (getppid () == igrp) sleep (1); ipid = getpid ();