import recode-3.6-47.el8

This commit is contained in:
CentOS Sources 2019-05-07 09:42:41 -04:00 committed by Andrew Lukoshko
commit be68139ff2
10 changed files with 444 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/recode-3.6.tar.gz

1
.recode.metadata Normal file
View File

@ -0,0 +1 @@
2de90cd2ba553bc07d75a29913ea4424dd9e616b SOURCES/recode-3.6.tar.gz

View File

@ -0,0 +1,11 @@
--- recode-3.6/lib/gettext.c.orig 2005-03-07 12:18:30.000000000 +0100
+++ recode-3.6/lib/gettext.c 2005-03-07 12:23:14.000000000 +0100
@@ -1668,8 +1668,6 @@
# if !defined HAVE_GETCWD
char *getwd ();
# define getcwd(buf, max) getwd (buf)
-# else
-char *getcwd ();
# endif
# ifndef HAVE_STPCPY
static char *stpcpy PARAMS ((char *dest, const char *src));

View File

@ -0,0 +1,22 @@
--- recode-3.6.orig/configure.in 2001-01-03 16:50:54.000000000 +0100
+++ recode-3.6/configure.in 2012-07-23 14:15:28.000000000 +0200
@@ -15,7 +15,7 @@
AM_PROG_LIBTOOL
AC_ISC_POSIX
-AM_C_PROTOTYPES
+dnl AM_C_PROTOTYPES
AC_C_CONST
AC_C_INLINE
ad_AC_PROG_FLEX
--- recode-3.6.orig/src/Makefile.am 2000-12-06 17:36:12.000000000 +0100
+++ recode-3.6/src/Makefile.am 2012-07-23 14:47:07.000000000 +0200
@@ -17,7 +17,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
-AUTOMAKE_OPTIONS = gnits ansi2knr
+AUTOMAKE_OPTIONS = gnits
bin_PROGRAMS = recode
lib_LTLIBRARIES = librecode.la
man_MANS = recode.1

View File

@ -0,0 +1,11 @@
--- src/recodext.h.orig 2008-01-16 13:15:39.000000000 +0100
+++ src/recodext.h 2008-01-16 13:16:47.000000000 +0100
@@ -218,7 +218,7 @@
enum recode_symbol_type type : 3;
/* Non zero if this one should be ignored. */
- bool ignore : 2;
+ bool ignore : 1;
};
struct recode_surface_list

View File

@ -0,0 +1,16 @@
--- recode-3.6-orig/m4/flex.m4 2000-06-28 16:39:06.000000000 +0200
+++ recode-3.6/m4/flex.m4 2010-07-07 12:23:49.000000000 +0200
@@ -8,11 +8,8 @@
dnl Look for flex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
AC_DEFUN(ad_AC_PROG_FLEX,
[AC_CHECK_PROGS(LEX, flex, missing)
-if test "$LEX" = missing; then
+AS_IF([test "$LEX" = missing], [
LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
LEX_OUTPUT_ROOT=lex.yy
AC_SUBST(LEX_OUTPUT_ROOT)dnl
-else
- AC_PROG_LEX
- AC_DECL_YYTEXT
-fi])
+])])

View File

@ -0,0 +1,12 @@
diff -up recode-3.6/src/names.c.printf recode-3.6/src/names.c
--- recode-3.6/src/names.c.printf 2000-12-06 20:41:29.000000000 +0100
+++ recode-3.6/src/names.c 2013-12-18 12:48:42.578052395 +0100
@@ -892,7 +892,7 @@ list_concise_charset (RECODE_OUTER outer
if (ucs2 >= 0)
printf (format, code);
else if (mnemonic || counter2 != 112)
- printf (blanks);
+ printf ("%s", blanks);
if (mnemonic)
printf (counter2 == 112 ? " %s\n" : " %-3s", mnemonic);

View File

@ -0,0 +1,51 @@
diff -u -r recode-3.6.orig/src/common.h recode-3.6/src/common.h
--- recode-3.6.orig/src/common.h 2000-06-28 20:40:15.000000000 +0200
+++ recode-3.6/src/common.h 2017-10-03 13:52:09.904644383 +0200
@@ -56,13 +56,14 @@
# define RETSIGTYPE void
#endif
-#if DIFF_HASH
-# ifdef HAVE_LIMITS_H
-# include <limits.h>
-# endif
-# ifndef CHAR_BIT
-# define CHAR_BIT 8
-# endif
+#ifdef HAVE_LIMITS_H
+# include <limits.h>
+#endif
+#ifndef CHAR_BIT
+# define CHAR_BIT 8
+#endif
+#ifndef PATH_MAX
+# define PATH_MAX 4096
#endif
/* Some systems do not define EXIT_*, even with STDC_HEADERS. */
diff -u -r recode-3.6.orig/src/main.c recode-3.6/src/main.c
--- recode-3.6.orig/src/main.c 2000-12-06 20:44:59.000000000 +0100
+++ recode-3.6/src/main.c 2017-10-03 14:32:51.274017940 +0200
@@ -847,7 +847,7 @@
for (; optind < argc; optind++)
{
const char *input_name;
- char output_name[200]; /* FIXME: dangerous limit */
+ char output_name[PATH_MAX];
FILE *file;
struct stat file_stat;
struct utimbuf file_utime;
@@ -871,7 +871,12 @@
/* FIXME: Scott Schwartz <schwartz@bio.cse.psu.edu> writes:
"There's no reason to think that that name is unique." */
-
+ // To avoid overflows, the size of the array pointed by destination (output_name)
+ // shall be long enough to contain the same C string as source
+ // (including the terminating null character).
+ if (strlen(input_name) >= PATH_MAX) {
+ error (EXIT_FAILURE, 0, "input_name reach the PATH_MAX limit");
+ }
strcpy (output_name, input_name);
#if DOSWIN_OR_OS2
for (cursor = output_name + strlen (output_name);

68
SOURCES/recode.patch Normal file
View File

@ -0,0 +1,68 @@
--- recode-3.6.orig/src/libiconv.c
+++ recode-3.6/src/libiconv.c
@@ -1,5 +1,5 @@
/* Conversion of files between different charsets and surfaces.
- Copyright © 1999, 2000 Free Software Foundation, Inc.
+ Copyright © 1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by François Pinard <pinard@iro.umontreal.ca>, 1999,
and Bruno Haible <haible@clisp.cons.org>, 2000.
@@ -195,12 +195,17 @@
memcpy() doesn't do here, because the regions might overlap.
memmove() isn't worth it, because we rarely have to move more
than 12 bytes. */
- if (input > input_buffer && input_left > 0)
+ cursor = input_buffer;
+ if (input_left > 0)
{
- cursor = input_buffer;
- do
- *cursor++ = *input++;
- while (--input_left > 0);
+ if (input > input_buffer)
+ {
+ do
+ *cursor++ = *input++;
+ while (--input_left > 0);
+ }
+ else
+ cursor += input_left;
}
}
--- recode-3.6.orig/src/request.c
+++ recode-3.6/src/request.c
@@ -1073,7 +1073,7 @@
if (task->output.cursor + 4 >= task->output.limit)
{
RECODE_OUTER outer = task->request->outer;
- size_t old_size = task->output.limit - task->output.buffer;
+ size_t old_size = task->output.cursor - task->output.buffer;
size_t new_size = task->output.cursor + 4 - task->output.buffer;
/* FIXME: Rethink about how the error should be reported. */
--- recode-3.6.orig/src/task.c
+++ recode-3.6/src/task.c
@@ -1198,6 +1198,8 @@
else
success = transform_mere_copy (subtask);
+ task->output = subtask->output;
+
if (subtask->input.name && *subtask->input.name)
fclose (subtask->input.file);
if (subtask->output.name && *subtask->output.name)
--- recode-3.6.orig/src/hash.h
+++ recode-3.6/src/hash.h
@@ -21,6 +21,11 @@
/* Make sure USE_OBSTACK is defined to 1 if you want the allocator to use
obstacks instead of malloc, and recompile `hash.c' with same setting. */
+#define hash_lookup recode_hash_lookup
+#define hash_delete recode_hash_delete
+#define hash_free recode_hash_free
+#define hash_insert recode_hash_insert
+
#ifndef PARAMS
# if PROTOTYPES || __STDC__
# define PARAMS(Args) Args

251
SPECS/recode.spec Normal file
View File

@ -0,0 +1,251 @@
Summary: Conversion between character sets and surfaces
Name: recode
Version: 3.6
Release: 47%{?dist}
License: GPLv2+
Group: Applications/File
Url: http://recode.progiciels-bpi.ca/
Source: http://recode.progiciels-bpi.ca/archives/recode-%{version}.tar.gz
Patch0: recode.patch
Patch1: recode-3.6-getcwd.patch
Patch2: recode-bool-bitfield.patch
Patch3: recode-flex-m4.patch
Patch4: recode-automake.patch
Patch5: recode-format-security.patch
Patch6: recode-longfilename.patch
Requires(post): /sbin/install-info
Requires(post): /sbin/ldconfig
Requires(preun): /sbin/install-info
Requires(postun): /sbin/ldconfig
BuildRequires: libtool
BuildRequires: texinfo
%description
The `recode' converts files between character sets and usages.
It recognizes or produces nearly 150 different character sets
and is able to transliterate files between almost any pair. When exact
transliteration are not possible, it may get rid of the offending
characters or fall back on approximations. Most RFC 1345 character sets
are supported.
%package devel
Summary: Header files for development using recode
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The `recode' library converts files between character sets and usages.
The library recognizes or produces nearly 150 different character sets
and is able to transliterate files between almost any pair. When exact
transliteration are not possible, it may get rid of the offending
characters or fall back on approximations. Most RFC 1345 character sets
are supported.
%prep
%setup -q
%patch0 -p1
%patch1 -p1 -b .getcwd
%patch2 -p0
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
rm m4/libtool.m4
rm acinclude.m4
%build
autoreconf -fiv
%configure --disable-static
make %{?_smp_mflags}
%check
make check
%install
%makeinstall
%find_lang %{name}
# remove unpackaged file from the buildroot
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
# remove libtool archives
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
%post
/sbin/ldconfig
/sbin/install-info %{_infodir}/recode.info.gz %{_infodir}/dir --entry="* recode: (recode). Conversion between character sets and surfaces." || :
%preun
if [ $1 = 0 ]; then
/sbin/install-info --delete %{_infodir}/recode.info.gz %{_infodir}/dir --entry="* recode: (recode). Conversion between character sets and surfaces." || :
fi
%postun -p /sbin/ldconfig
%files -f %{name}.lang
%doc AUTHORS COPYING* ChangeLog NEWS README THANKS TODO
%{_mandir}/*/*
%{_infodir}/recode.info*
%{_bindir}/*
%{_libdir}/*.so.0*
%files devel
%{_libdir}/*.so
%{_includedir}/*
%changelog
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6-47
- Escape macros in %%changelog
* Tue Oct 03 2017 Zoltan Kota <zoltank[AT]gmail.com> - 3.6-46
- Apply patch to fix bug #1422550
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-43
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.6-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-39
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Dec 18 2013 Jiri Popelka <jpopelka@redhat.com> - 3.6-38
- Fix FTBFS if "-Werror=format-security" flag is used (#1037305).
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Feb 25 2013 Zoltan Kota <zoltank[AT]gmail.com> 3.6-36
- Fix failed Fedora_19_Mass_Rebuild [bug #914431].
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Mon Jul 23 2012 Zoltan Kota <zoltank[AT]gmail.com> 3.6-34
- Add patch for fixing build with new automake.
(Fixes failed Fedora_18_Mass_Rebuild.)
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon May 21 2012 Zoltan Kota <zoltank[AT]gmail.com> 3.6-32
- Corrected summary of the devel subpackage. Fixing bug #817947.
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Jul 7 2010 Zoltan Kota <z.kota[AT]gmx.net> 3.6-29
- Fix build on x86_64. Run autoreconf to update config files.
autoconf >= 2.64 needs to patch the flex.m4 file.
Fixing FTBFS bug #564601.
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Feb 20 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 3.6-26
- Autorebuild for GCC 4.3
* Wed Jan 16 2008 Zoltan Kota <z.kota[AT]gmx.net> 3.6-25
- add patch for gcc43
* Wed Aug 22 2007 Zoltan Kota <z.kota[AT]gmx.net> 3.6-24
- update license tag
- rebuild
* Tue Apr 03 2007 Zoltan Kota <z.kota[AT]gmx.net> 3.6-23
- rebuild
* Fri Sep 01 2006 Zoltan Kota <z.kota[AT]gmx.net> 3.6-22
- rebuild
* Mon Feb 13 2006 Zoltan Kota <z.kota[AT]gmx.net> 3.6-21
- rebuild
* Thu Dec 22 2005 Zoltan Kota <z.kota[AT]gmx.net> 3.6-20
- rebuild
* Fri Aug 26 2005 Zoltan Kota <z.kota[AT]gmx.net> 3.6-19
- fix requires
- disable static libs and remove libtool archives
- add %%doc
* Fri Aug 26 2005 Zoltan Kota <z.kota[AT]gmx.net> 3.6-18
- add dist tag
- specfile cleanup
* Thu May 26 2005 Bill Nottingham <notting@redhat.com> 3.6-17
- rebuild for Extras
* Mon Mar 07 2005 Than Ngo <than@redhat.com> 3.6-16
- cleanup
* Sat Mar 05 2005 Than Ngo <than@redhat.com> 3.6-15
- rebuilt
* Wed Feb 09 2005 Than Ngo <than@redhat.com> 3.6-14
- rebuilt
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Fri Feb 13 2004 Than Ngo <than@redhat.com> 3.6-11
- add a patch file from kota@szbk.u-szeged.hu (bug #115524)
* Thu Nov 20 2003 Thomas Woerner <twoerner@redhat.com> 3.6-10
- Fixed RPATH (missing make in %%build)
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
- rebuilt
* Wed Dec 11 2002 Tim Powers <timp@redhat.com> 3.6-7
- rebuild on all arches
- remove unpackaged file from the buildroot
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Thu May 23 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Mon Apr 15 2002 Bill Nottingham <notting@redhat.com> 3.6-4
- add ldconfig %%post/%%postun
* Tue Feb 26 2002 Than Ngo <than@redhat.com> 3.6-3
- rebuild
* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
- automated rebuild
* Tue Nov 13 2001 Than Ngo <than@redhat.com> 3.6-1
- initial RPM for 8.0