diff --git a/.gitignore b/.gitignore index 5a1df18..e976c88 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ uudeview-0.5.20.tar.gz +/uudeview-7ef9e26532b39bdcedd319c07b6b77fc70e270dd.tar.gz +/uudeview-7640bc56aa5016cdc9c139eb1ab3ec874e47c744.tar.gz diff --git a/matherr.patch b/matherr.patch deleted file mode 100644 index c80f52b..0000000 --- a/matherr.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/uudeview-0.5.20/tcl/uutcl.c 2018-03-15 20:53:21.698000000 +0000 -+++ b/uudeview-0.5.20/tcl/uutcl.c 2018-03-15 20:53:32.646000000 +0000 -@@ -48,14 +48,6 @@ - #include - #endif - --/* -- * The following variable is a special hack that is needed in order for -- * Sun shared libraries to be used for Tcl. -- */ -- --extern int matherr(); --int *tclDummyMathPtr = (int *) matherr; -- - #include - #include - #include diff --git a/sources b/sources index 6300e06..a0ef2ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0161abaec3658095044601eae82bbc5b uudeview-0.5.20.tar.gz +SHA512 (uudeview-7640bc56aa5016cdc9c139eb1ab3ec874e47c744.tar.gz) = ae307e7b2488c3b61462dadfc45c80e98b0e0eb7387f1ce1b7ba5501d64b29ab19de4b4a4f5e3c148682de5d244b3c4b775b92b6b8c642346c6eb1325c1ec20b diff --git a/uudeview-configure-c99.patch b/uudeview-configure-c99.patch deleted file mode 100644 index 38a3a37..0000000 --- a/uudeview-configure-c99.patch +++ /dev/null @@ -1,63 +0,0 @@ -Fix historic autoconf-generated C code to be C99-compatible, and -include for a declaration of strerror in the strerror -probe. Prevents build issues with future compilers. - -diff --git a/configure b/configure -index 449f38b531df3e1b..3b3e667993de7fde 100755 ---- a/configure -+++ b/configure -@@ -758,7 +758,7 @@ cat > conftest.$ac_ext << EOF - #line 759 "configure" - #include "confdefs.h" - --main(){return(0);} -+int main(){return(0);} - EOF - if { (eval echo configure:764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes -@@ -2248,8 +2248,8 @@ else - #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) - #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) - int main () { int i; for (i = 0; i < 256; i++) --if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); --exit (0); } -+if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; -+return 0; } - - EOF - if { (eval echo configure:2256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -@@ -2385,8 +2385,8 @@ else - #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) - #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) - int main () { int i; for (i = 0; i < 256; i++) --if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); --exit (0); } -+if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; -+return 0; } - - EOF - if { (eval echo configure:2393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -@@ -2647,6 +2647,9 @@ cat > conftest.$ac_ext < -+#endif - char *blubb() { return (char *) strerror (42); } - - int main() { -diff --git a/configure.in b/configure.in -index 78df97b2af450bfc..1f3175b05948db2b 100644 ---- a/configure.in -+++ b/configure.in -@@ -518,6 +518,9 @@ AC_CHECK_FUNC(tempnam,,AC_DEFINE(tempnam,_FP_tempnam)) - # - AC_MSG_CHECKING([for strerror]) - AC_TRY_LINK([ -+#ifdef STDC_HEADERS -+#include -+#endif - char *blubb() { return (char *) strerror (42); } - ],[ - (void) blubb(); diff --git a/uudeview-debian-patches.patch b/uudeview-debian-patches.patch deleted file mode 100644 index b5165c3..0000000 --- a/uudeview-debian-patches.patch +++ /dev/null @@ -1,372 +0,0 @@ ---- uudeview-0.5.20.orig/uulib/uulib.c -+++ uudeview-0.5.20/uulib/uulib.c -@@ -872,7 +872,10 @@ - } - - /* -- * decode file first to temp file, then copy it to a final location -+ * Decode file first to temp file, then copy it to a final location. -+ * A move is preferable to a copy. If the file is on the same -+ * partition, no copy is performed. This is important for large -+ * files. - */ - - int UUEXPORT -@@ -978,6 +981,12 @@ - return UURET_IOERR; - } - -+ if (rename(thefile->binfile, uugen_fnbuffer) == 0) { -+ fclose(source); -+ close(fildes); -+ goto finish_ok; -+ } -+ - if ((target = fdopen (fildes, "wb")) == NULL) { - progress.action = 0; - UUMessage (uulib_id, __LINE__, UUMSG_ERROR, -@@ -1042,6 +1051,8 @@ - thefile->binfile, - strerror (uu_errno = errno)); - } -+ -+ finish_ok: - _FP_free (thefile->binfile); - thefile->binfile = NULL; - thefile->state &= ~UUFILE_TMPFILE; -@@ -1103,9 +1114,9 @@ - - while (!feof (inpfile) && - (uu_fast_scanning || ftell(inpfile) < maxpos)) { -- if (_FP_fgets (uugen_inbuffer, 511, inpfile) == NULL) -+ if (_FP_fgets (uugen_inbuffer, 1023, inpfile) == NULL) - break; -- uugen_inbuffer[511] = '\0'; -+ uugen_inbuffer[1023] = '\0'; - - if (ferror (inpfile)) - break; ---- uudeview-0.5.20.orig/uulib/uuscan.c -+++ uudeview-0.5.20/uulib/uuscan.c -@@ -387,10 +387,10 @@ - *attribute != '(' && *attribute != ')' && - *attribute != '<' && *attribute != '>' && - *attribute != '@' && *attribute != ',' && -- /* *attribute != ';' && */ *attribute != ':' && -- *attribute != '\\' &&*attribute != '"' && -- *attribute != '/' && /* *attribute != '[' && -- *attribute != ']' && */ *attribute != '?' && -+ *attribute != ';' && *attribute != ':' && -+ *attribute != '\\' && *attribute != '"' && -+ *attribute != '/' && *attribute != '[' && -+ *attribute != ']' && *attribute != '?' && - *attribute != '=' && length < 255) { - *ptr++ = *attribute++; - length++; ---- uudeview-0.5.20.orig/uulib/uustring.h -+++ uudeview-0.5.20/uulib/uustring.h -@@ -36,3 +36,4 @@ - #define S_MIME_B_NOT_FOUND 35 - #define S_MIME_MULTI_DEPTH 36 - #define S_MIME_PART_MULTI 37 -+#define S_OPEN_FILE 38 ---- uudeview-0.5.20.orig/uulib/uunconc.c -+++ uudeview-0.5.20/uulib/uunconc.c -@@ -1311,6 +1311,12 @@ - char *mode, *ntmp; - uufile *iter; - size_t bytes; -+#define HAVE_MKSTEMP -+#ifdef HAVE_MKSTEMP -+ int tmpfd; -+ const char *tmpprefix = "uuXXXXXX"; -+ char *tmpdir = NULL; -+#endif /* HAVE_MKSTEMP */ - - if (data == NULL || data->thisfile == NULL) - return UURET_ILLVAL; -@@ -1325,17 +1331,39 @@ - return UURET_NODATA; - - if (data->uudet == PT_ENCODED) -- mode = "wt"; /* open text files in text mode */ -+ mode = "wtx"; /* open text files in text mode */ - else -- mode = "wb"; /* otherwise in binary */ -+ mode = "wbx"; /* otherwise in binary */ - -+#ifdef HAVE_MKSTEMP -+ if ((getuid()==geteuid()) && (getgid()==getegid())) { -+ tmpdir=getenv("TMPDIR"); -+ } -+ -+ if (!tmpdir) { -+ tmpdir = "/tmp"; -+ } -+ data->binfile = malloc(strlen(tmpdir)+strlen(tmpprefix)+2); -+ -+ if (!data->binfile) { -+#else - if ((data->binfile = tempnam (NULL, "uu")) == NULL) { -+#endif /* HAVE_MKSTEMP */ - UUMessage (uunconc_id, __LINE__, UUMSG_ERROR, - uustring (S_NO_TEMP_NAME)); - return UURET_NOMEM; - } - -+#ifdef HAVE_MKSTEMP -+ strcpy(data->binfile, tmpdir); -+ strcat(data->binfile, "/"); -+ strcat(data->binfile, tmpprefix); -+ -+ if ((tmpfd = mkstemp(data->binfile)) == -1 || -+ (dataout = fdopen(tmpfd, mode)) == NULL) { -+#else - if ((dataout = fopen (data->binfile, mode)) == NULL) { -+#endif /* HAVE_MKSTEMP */ - /* - * we couldn't create a temporary file. Usually this means that TMP - * and TEMP aren't set -@@ -1343,6 +1371,12 @@ - UUMessage (uunconc_id, __LINE__, UUMSG_ERROR, - uustring (S_WR_ERR_TARGET), - data->binfile, strerror (uu_errno = errno)); -+#ifdef HAVE_MKSTEMP -+ if (tmpfd != -1) { -+ unlink(data->binfile); -+ close(tmpfd); -+ } -+#endif /* HAVE_MKSTEMP */ - _FP_free (data->binfile); - data->binfile = NULL; - uu_errno = errno; -@@ -1437,6 +1471,9 @@ - res = UURET_IOERR; - break; - } -+ UUMessage (uunconc_id, __LINE__, UUMSG_MESSAGE, -+ uustring (S_OPEN_FILE), -+ iter->data->sfname); - _FP_strncpy (uugen_fnbuffer, iter->data->sfname, 1024); - } - -@@ -1496,13 +1533,19 @@ - */ - - if (data->uudet == BH_ENCODED && data->binfile) { -+#ifdef HAVE_MKSTEMP -+ ntmp = malloc(strlen(tmpdir)+strlen(tmpprefix)+2); -+ -+ if (ntmp == NULL) { -+#else - if ((ntmp = tempnam (NULL, "uu")) == NULL) { -+#endif /* HAVE_MKSTEMP */ - UUMessage (uunconc_id, __LINE__, UUMSG_ERROR, - uustring (S_NO_TEMP_NAME)); - progress.action = 0; - return UURET_NOMEM; - } -- if ((datain = fopen (data->binfile, "rb")) == NULL) { -+ if ((datain = fopen (data->binfile, "rbx")) == NULL) { - UUMessage (uunconc_id, __LINE__, UUMSG_ERROR, - uustring (S_NOT_OPEN_FILE), - data->binfile, strerror (uu_errno = errno)); -@@ -1510,12 +1553,27 @@ - free (ntmp); - return UURET_IOERR; - } -+ -+#ifdef HAVE_MKSTEMP -+ strcpy(ntmp, tmpdir); -+ strcat(ntmp, "/"); -+ strcat(ntmp, tmpprefix); -+ if ((tmpfd = mkstemp(ntmp)) == -1 || -+ (dataout = fdopen(tmpfd, "wb")) == NULL) { -+#else - if ((dataout = fopen (ntmp, "wb")) == NULL) { -+#endif /* HAVE_MKSTEMP */ - UUMessage (uunconc_id, __LINE__, UUMSG_ERROR, - uustring (S_NOT_OPEN_TARGET), - ntmp, strerror (uu_errno = errno)); - progress.action = 0; - fclose (datain); -+#ifdef HAVE_MKSTEMP -+ if (tmpfd != -1) { -+ unlink(ntmp); -+ close(tmpfd); -+ } -+#endif /* HAVE_MKSTEMP */ - free (ntmp); - return UURET_IOERR; - } ---- uudeview-0.5.20.orig/uulib/uustring.c -+++ uudeview-0.5.20/uulib/uustring.c -@@ -107,6 +107,7 @@ - { S_MIME_B_NOT_FOUND, "Boundary expected on Multipart message but found EOF" }, - { S_MIME_MULTI_DEPTH, "Multipart message nested too deep" }, - { S_MIME_PART_MULTI, "Handling partial multipart message as plain text" }, -+ { S_OPEN_FILE, "Opened file %s" }, - - { 0, "" } - }; ---- uudeview-0.5.20.orig/unix/uudeview.c -+++ uudeview-0.5.20/unix/uudeview.c -@@ -443,18 +443,46 @@ - FILE *target; - size_t bytes; - int res; -+#define HAVE_MKSTEMP -+#ifdef HAVE_MKSTEMP -+ int tmpfd; -+ const char *tmpprefix = "uuXXXXXX"; -+ char *tmpdir = NULL; -+#endif /* HAVE_MKSTEMP */ - - if (stdinput) { - fprintf (stderr, "proc_stdin: cannot process stdin twice\n"); - return 0; - } - -+#ifdef HAVE_MKSTEMP -+ if ((getuid()==geteuid()) && (getgid()==getegid())) { -+ tmpdir=getenv("TMPDIR"); -+ } -+ -+ if (!tmpdir) { -+ tmpdir = "/tmp"; -+ } -+ stdfile = malloc(strlen(tmpdir)+strlen(tmpprefix)+2); -+ -+ if (!stdfile) { -+#else - if ((stdfile = tempnam (NULL, "uu")) == NULL) { -+#endif - fprintf (stderr, "proc_stdin: cannot get temporary file\n"); - return 0; - } - -- if ((target = fopen (stdfile, "wb")) == NULL) { -+#ifdef HAVE_MKSTEMP -+ strcpy(stdfile, tmpdir); -+ strcat(stdfile, "/"); -+ strcat(stdfile, tmpprefix); -+ -+ if ((tmpfd = mkstemp(stdfile)) == -1 || -+ (target = fdopen(tmpfd, "wbx")) == NULL) { -+#else -+ if ((target = fopen (stdfile, "wbx")) == NULL) { -+#endif - fprintf (stderr, "proc_stdin: cannot open temp file %s for writing: %s\n", - stdfile, strerror (errno)); - _FP_free (stdfile); -@@ -657,9 +685,6 @@ - else switch (*(argv[number] + 1)) { - case '\0': - interact = 0; -- if (overwrite == 0) { -- overwrite = 1; -- } - proc_stdin (); - break; - case 'a': -@@ -699,10 +724,7 @@ - fprintf (stderr, "WARNING: cannot interact when reading from stdin\n"); - } - else { -- interact = (*argv[number] == '+') ? 1 : 0; -- if (overwrite == 0 && *argv[number] == '-') { -- overwrite = 1; -- } -+ interact = (*argv[number] == '+') ? 1 : 0; - } - break; - case 'm': -@@ -773,6 +795,8 @@ - break; - } - } -+ if (overwrite == 0 && interact == 0 && autoren == 0) -+ overwrite = 1; - - return 1; - } ---- uudeview-0.5.20.orig/man/uudeview.1 -+++ uudeview-0.5.20/man/uudeview.1 -@@ -164,6 +164,16 @@ - verbosity. Normally, the program prints some status messages - while reading the input files, which can be very helpful if something - should go wrong. Use if these messages disturb you. -+Disables progress bars. See -+.B -n -+option. -+.TP -+.B -v -+(disables Verbosity) Disables verbose messages, i.e. notes are not -+displayed, but does not remove warnings and errors. Is not as quiet as -+the -+.B -q -+(Quiet) option. - .TP - .B -n - No progress bars. Normally, UUDeview prints ASCII bars crawling up ---- uudeview-0.5.20.orig/tcl/xdeview -+++ uudeview-0.5.20/tcl/xdeview -@@ -59,8 +59,8 @@ - # MIME configuration - # - --ifndef MIMEGlobalTypes "" --ifndef MIMEGlobalCap "" -+ifndef MIMEGlobalTypes "/etc/mime.types" -+ifndef MIMEGlobalCap "/etc/mailcap" - if { ! [ catch { set env(HOME) } ] } { - ifndef MIMELocalTypes $env(HOME)/.mime.types - ifndef MIMELocalCap $env(HOME)/.mailcap ---- uudeview-0.5.20.orig/man/uuwish.1 -+++ uudeview-0.5.20/man/uuwish.1 -@@ -0,0 +1,45 @@ -+.\" Copyright (c) 1999 Roland Rosenfeld -+.\" changes Copyright (c) 2001 Chris Hanson -+.\" -+.\" This program is free software; you can redistribute it and/or modify -+.\" it under the terms of the GNU General Public License as published by -+.\" the Free Software Foundation; either version 2 of the License, or -+.\" (at your option) any later version. -+.\" -+.\" This program is distributed in the hope that it will be useful, -+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+.\" GNU General Public License for more details. -+.\" -+.\" You should have received a copy of the GNU General Public License -+.\" along with this program; if not, write to the Free Software -+.\" Foundation, Inc.,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -+.\" -+.\" This manual page is written especially for Debian Linux. -+.\" -+.TH UUWISH 1 "February 2001" "Debian Project" "Debian GNU/Linux" -+.SH NAME -+uuwish \- A minimal wish extended by the UU commands -+.SH SYNOPSIS -+.B uuwish -+is a minimal -+.BR wish (1) -+extended by the UU commands that are available in -+.BR uudeview (1) -+and -+.BR uuenview (1). -+.B uuwish -+isn't meant to be called directly; it is a Tcl/Tk script interpreter, -+which is meant to be used by -+.BR xdeview (1). -+.SH "SEE ALSO" -+.BR xdeview (1), -+.BR uudeview (1), -+.BR uuenview (1), -+.BR wish (1). -+.SH AUTHOR -+.B uuwish -+was written by Frank Pilhofer . -+.PP -+This manual page was written by Roland Rosenfeld , -+for the Debian GNU/Linux system (but may be used by others). diff --git a/uudeview-format-security.patch b/uudeview-format-security.patch deleted file mode 100644 index 42d9f9f..0000000 --- a/uudeview-format-security.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/unix/uuenview.c b/unix/uuenview.c -index 7acfd3b..726a2a6 100644 ---- a/unix/uuenview.c -+++ b/unix/uuenview.c -@@ -310,7 +310,7 @@ SendMkCommand (char **rcptlist, char *towhom, char *subject, int isemail) - } - - if ((*rcptlist = (char *) malloc (strlen (towhom) + 16)) == NULL) { -- fprintf (stderr, "error: Out of memory allocating %d bytes\n", -+ fprintf (stderr, "error: Out of memory allocating %zd bytes\n", - strlen (towhom)+16); - _FP_free (command); - return NULL; -@@ -483,7 +483,7 @@ AttachFiles (char *towhom, char *subject, - if (_FP_stristr (input, "multipart") != NULL) { - /* it is already a multipart posting. grab the boundary */ - if ((ptr = _FP_stristr (input, "boundary=")) != NULL) { -- fprintf(thepipe, input); -+ fprintf(thepipe, "%s", input); - strcpy (boundary, ParseValue (ptr)); - hadmulti = 1; - } diff --git a/uudeview-threads.patch b/uudeview-threads.patch new file mode 100644 index 0000000..91f9e04 --- /dev/null +++ b/uudeview-threads.patch @@ -0,0 +1,16 @@ +diff -up uudeview-7ef9e26532b39bdcedd319c07b6b77fc70e270dd/configure.ac.threads uudeview-7ef9e26532b39bdcedd319c07b6b77fc70e270dd/configure.ac +--- uudeview-7ef9e26532b39bdcedd319c07b6b77fc70e270dd/configure.in.threads 2025-01-15 12:34:54.094758034 -0500 ++++ uudeview-7ef9e26532b39bdcedd319c07b6b77fc70e270dd/configure.in 2025-01-15 14:03:10.795382171 -0500 +@@ -171,11 +171,7 @@ if test "x$have_tcl" != "xno" ; then + AC_MSG_RESULT(found in $tcl_lib_dir) + fi + +- case $TCL_DEFS in +- *TCL_THREADS*) +- CFLAGS="-D_REENTRANT $CFLAGS" +- ;; +- esac ++ CFLAGS="-std=gnu17 -D_REENTRANT $CFLAGS" + fi + + # diff --git a/uudeview.spec b/uudeview.spec index 8696b16..d660dc7 100644 --- a/uudeview.spec +++ b/uudeview.spec @@ -1,21 +1,36 @@ +%global _hardened_build 1 +%global snapshot 1 +%global OWNER hannob +%global PROJECT uudeview +%global commit 7640bc56aa5016cdc9c139eb1ab3ec874e47c744 +%global commitdate 20250320 +#global gittag 0.5.20 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + Name: uudeview -Version: 0.5.20 -Release: 56%{?dist} +Version: 0.5.20%{?snapshot:^%{commitdate}git%{shortcommit}} +Release: 1%{?dist} # Automatically converted from old format: GPLv2+ - review is highly recommended. License: GPL-2.0-or-later -Source: http://www.fpx.de/fp/Software/UUDeview/download/uudeview-0.5.20.tar.gz +%if 0%{?snapshot} +Source0: https://github.com/%{OWNER}/%{PROJECT}/archive/%{commit}/%{name}-%{commit}.tar.gz +BuildRequires: autoconf +%else +Source0: http://www.fpx.de/fp/Software/UUDeview/download/uudeview-%{version}.tar.gz +%endif Source1: xdeview.desktop -Patch0: uudeview-debian-patches.patch -Patch1: uudeview-format-security.patch -Patch2: matherr.patch -Patch3: uudeview-configure-c99.patch +ExcludeArch: %{ix86} +Patch0: uudeview-threads.patch URL: http://www.fpx.de/fp/Software/UUDeview/ Summary: Applications for uuencoding, uudecoding, ... -BuildRequires: make +BuildRequires: desktop-file-utils +BuildRequires: make BuildRequires: inews BuildRequires: texlive-collection-latexextra -BuildRequires: transfig, desktop-file-utils +BuildRequires: texlive-courier +BuildRequires: texlive-times +BuildRequires: transfig BuildRequires: tk-devel BuildRequires: gcc Requires: %{_sbindir}/sendmail @@ -41,12 +56,12 @@ This package contains header files and static libraries for uulib. %prep -%setup -q -%patch -P0 -p1 -%patch -P1 -p1 -%patch -P2 -p2 -%patch -P3 -p1 -%{__sed} -i -e "s,psfig,epsfig,g" doc/library.ltx +%if 0%{?snapshot} +%autosetup -p1 -n %{name}-%{commit} +autoreconf -i +%else +%autosetup -p1 +%endif %{__sed} -i -e "s,for ff_subdir in lib,for ff_subdir in %{_lib},g" configure %build @@ -71,7 +86,7 @@ install -p -m 0644 uulib/libuu.a $RPM_BUILD_ROOT/%{_libdir}/ %files -%doc COPYING HISTORY IAFA-PACKAGE README uudeview.lsm +%doc COPYING HISTORY IAFA-PACKAGE README.md uudeview.lsm %{_mandir}/man1/*.1* %{_bindir}/uudeview %{_bindir}/uuenview @@ -85,6 +100,32 @@ install -p -m 0644 uulib/libuu.a $RPM_BUILD_ROOT/%{_libdir}/ %{_libdir}/*.a %changelog +* Wed Jul 22 2026 Charles R. Anderson - 0.5.20^20250320git7640bc5-1 +- Update to latest git snapshot + +* Fri Jul 17 2026 Fedora Release Engineering - 0.5.20^20241111git7ef9e26-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 0.5.20^20241111git7ef9e26-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 0.5.20^20241111git7ef9e26-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Feb 3 2025 Jaroslav Škarvada - 0.5.20^20241111git7ef9e26-4 +- Rebuilt for tcl/tk + +* Sun Jan 19 2025 Fedora Release Engineering - 0.5.20^20241111git7ef9e26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jan 15 2025 Charles R. Anderson - 0.5.20^20241111git7ef9e26-2 +- Rebuilt for Tcl/Tk 9.0 (#2337805) +- Patch to always set -D_REENTRANT since Tcl 9.0 no longer sets TCL_THREADS, + and add -std=gnu17 to CFLAGS since GCC 15 changed to gnu23 which fails. + +* Fri Jan 03 2025 Charles R. Anderson - 0.5.20^20241111git7ef9e26-1 +- Update to git snapshot to resolve FTBFS with Tcl_CreateCommand + * Fri Jul 26 2024 Miroslav Suchý - 0.5.20-56 - convert license to SPDX