From def93857521b35f068797efcb6552491103ec145c0ca1db8982849669a071109 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 18 Dec 2006 23:15:43 +0000 Subject: [PATCH 01/24] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=1 --- cmp-eof-dev-null.diff | 164 ++++++++++++++++++++++++++ diffutils-2.8.1-i18n-0.2.patch.gz | 3 + diffutils-2.8.7.tar.gz | 3 + diffutils-3.5.tar.xz | 3 - diffutils-3.5.tar.xz.sig | 16 --- diffutils.changes | 189 ------------------------------ diffutils.keyring | Bin 35277 -> 0 bytes diffutils.spec | 169 +++++++++++++++++--------- ready | 0 9 files changed, 285 insertions(+), 262 deletions(-) create mode 100644 cmp-eof-dev-null.diff create mode 100644 diffutils-2.8.1-i18n-0.2.patch.gz create mode 100644 diffutils-2.8.7.tar.gz delete mode 100644 diffutils-3.5.tar.xz delete mode 100644 diffutils-3.5.tar.xz.sig delete mode 100644 diffutils.keyring create mode 100644 ready diff --git a/cmp-eof-dev-null.diff b/cmp-eof-dev-null.diff new file mode 100644 index 0000000..aa2e6ad --- /dev/null +++ b/cmp-eof-dev-null.diff @@ -0,0 +1,164 @@ +2006-05-09 Paul Eggert + + * src/cmp.c (cmp): The previous fix wasn't quite right either, as + it mishandled 'cmp A B >/dev/null' when A is shorter than B and + differs before A's end-of-file, by outputting a bogus EOF message. + Also, it was inefficient if A and B were large. + +2006-05-07 Jim Meyering (tiny change) + + Fix bug introduced in 2006-03-09 change: + cmp always exits successfully, when stdout is redirected to /dev/null. + * src/cmp.c (cmp): When there's a difference, arrange to return nonzero + also when comparison_type is the new (from 2006-03-09) type_no_stdout. + +2006-03-09 Paul Eggert + + * src/cmp.c (type_no_stdout): New constant. + (main): Use it to avoid bug when the "EOF on foo" message is + generated and stdout is /dev/null. + Problem reported by Vincent Lefevre (Debian bug 356083). + +Index: cmp.c +=================================================================== +RCS file: /sources/diffutils/diffutils/src/cmp.c,v +retrieving revision 1.39 +retrieving revision 1.40 +diff -u -a -p -u -p -a -r1.39 -r1.40 +--- cmp.c 5 Jan 2006 07:23:55 -0000 1.39 ++++ cmp.c 9 Mar 2006 20:38:11 -0000 1.40 +@@ -78,6 +78,7 @@ static enum comparison_type + { + type_first_diff, /* Print the first difference. */ + type_all_diffs, /* Print all differences. */ ++ type_no_stdout, /* Do not output to stdout; only stderr. */ + type_status /* Exit status only. */ + } comparison_type; + +@@ -317,7 +318,12 @@ main (int argc, char **argv) + if (fstat (STDOUT_FILENO, &outstat) == 0 + && stat (NULL_DEVICE, &nullstat) == 0 + && 0 < same_file (&outstat, &nullstat)) +- comparison_type = type_status; ++ comparison_type = ++ ((fstat (STDERR_FILENO, &outstat) == 0 ++ ? 0 < same_file (&outstat, &nullstat) ++ : errno == EBADF) ++ ? type_status ++ : type_no_stdout); + } + + /* If only a return code is needed, +@@ -356,7 +362,7 @@ main (int argc, char **argv) + for (f = 0; f < 2; f++) + if (close (file_desc[f]) != 0) + error (EXIT_TROUBLE, errno, "%s", file[f]); +- if (exit_status != 0 && comparison_type != type_status) ++ if (exit_status != EXIT_SUCCESS && comparison_type < type_no_stdout) + check_stdout (); + exit (exit_status); + return exit_status; +@@ -536,6 +542,9 @@ cmp (void) + while (first_diff < smaller); + ret = EXIT_FAILURE; + break; ++ ++ case type_no_stdout: ++ break; + } + } + +Index: cmp.c +=================================================================== +RCS file: /sources/diffutils/diffutils/src/cmp.c,v +retrieving revision 1.40 +retrieving revision 1.41 +diff -u -a -p -u -p -a -r1.40 -r1.41 +--- cmp.c 9 Mar 2006 20:38:11 -0000 1.40 ++++ cmp.c 9 Mar 2006 20:54:39 -0000 1.41 +@@ -318,12 +318,7 @@ main (int argc, char **argv) + if (fstat (STDOUT_FILENO, &outstat) == 0 + && stat (NULL_DEVICE, &nullstat) == 0 + && 0 < same_file (&outstat, &nullstat)) +- comparison_type = +- ((fstat (STDERR_FILENO, &outstat) == 0 +- ? 0 < same_file (&outstat, &nullstat) +- : errno == EBADF) +- ? type_status +- : type_no_stdout); ++ comparison_type = type_no_stdout; + } + + /* If only a return code is needed, +Index: cmp.c +=================================================================== +RCS file: /sources/diffutils/diffutils/src/cmp.c,v +retrieving revision 1.43 +retrieving revision 1.44 +diff -u -a -p -u -p -a -r1.43 -r1.44 +--- cmp.c 13 Mar 2006 19:11:17 -0000 1.43 ++++ cmp.c 8 May 2006 01:41:04 -0000 1.44 +@@ -536,10 +536,10 @@ cmp (void) + first_diff++; + } + while (first_diff < smaller); +- ret = EXIT_FAILURE; +- break; + ++ /* Fall through. */ + case type_no_stdout: ++ ret = EXIT_FAILURE; + break; + } + } +Index: cmp.c +=================================================================== +RCS file: /sources/diffutils/diffutils/src/cmp.c,v +retrieving revision 1.44 +retrieving revision 1.45 +diff -u -a -p -u -p -a -r1.44 -r1.45 +--- cmp.c 8 May 2006 01:41:04 -0000 1.44 ++++ cmp.c 9 May 2006 22:57:20 -0000 1.45 +@@ -382,7 +382,7 @@ cmp (void) + word *buffer1 = buffer[1]; + char *buf0 = (char *) buffer0; + char *buf1 = (char *) buffer1; +- int ret = EXIT_SUCCESS; ++ int differing = 0; + int f; + int offset_width IF_LINT (= 0); + +@@ -536,17 +536,18 @@ cmp (void) + first_diff++; + } + while (first_diff < smaller); ++ differing = -1; ++ break; + +- /* Fall through. */ + case type_no_stdout: +- ret = EXIT_FAILURE; ++ differing = 1; + break; + } + } + + if (read0 != read1) + { +- if (comparison_type != type_status) ++ if (differing <= 0 && comparison_type != type_status) + { + /* See POSIX 1003.1-2001 for this format. */ + fprintf (stderr, _("cmp: EOF on %s\n"), file[read1 < read0]); +@@ -555,9 +556,9 @@ cmp (void) + return EXIT_FAILURE; + } + } +- while (read0 == buf_size); ++ while (differing <= 0 && read0 == buf_size); + +- return ret; ++ return differing == 0 ? EXIT_SUCCESS : EXIT_FAILURE; + } + + /* Compare two blocks of memory P0 and P1 until they differ, diff --git a/diffutils-2.8.1-i18n-0.2.patch.gz b/diffutils-2.8.1-i18n-0.2.patch.gz new file mode 100644 index 0000000..744c38b --- /dev/null +++ b/diffutils-2.8.1-i18n-0.2.patch.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9289be62b118f41757d3ac267c6fbe4678717dfb26240edfdd85a5b5ddff4029 +size 4450 diff --git a/diffutils-2.8.7.tar.gz b/diffutils-2.8.7.tar.gz new file mode 100644 index 0000000..8242c96 --- /dev/null +++ b/diffutils-2.8.7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53d9c10830ac322c00dfcccf60d961014e767da86d2c802ccc5cbad7e7aea07c +size 1057977 diff --git a/diffutils-3.5.tar.xz b/diffutils-3.5.tar.xz deleted file mode 100644 index 84acae2..0000000 --- a/diffutils-3.5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dad398ccd5b9faca6b0ab219a036453f62a602a56203ac659b43e889bec35533 -size 1360996 diff --git a/diffutils-3.5.tar.xz.sig b/diffutils-3.5.tar.xz.sig deleted file mode 100644 index 19ff48d..0000000 --- a/diffutils-3.5.tar.xz.sig +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIcBAABCgAGBQJXuT2mAAoJEH/Z/MsAC+7uECsP/0wVZOh74XKI0Y4XPxqhgKou -L/uFMgqpq2P9Uwr8jnJCr3xsKWCHYSYXOjmzbQ21wkqDWynT+NbLRcH4HLvO6vU3 -EWtoBor7UG0weTDanNfRBFjVLWsHsDWJj7VGMja9OAkXjpqo0f+iYHHIbJ+oKlIY -gzNqUdjGg8RpsvNapz4XuTsoUNDrTtVOy/k9xHUZCw/h1cZBVpaAU8MEE3MReab6 -pOn660BlVqT50vMd09FKRuTLktJ2LBFZ6x+xdPBJm5LFdUFqClbiNaNv+idhlvfB -GC8qjBr4WhuCtGpJKLFADTOZ8UOxcmx2sNz0ypiQrLT1UkTUtY3B0ADnzWuMEcwx -eaPNzdJhPExY64i7MA2vc2MxlRb7omj8kI+n0rBpiFKLMI3x3ZWf6Papg/acYbJg -0NHQkqdc82gH3vsp5DX/wNn+3TNwks9ziVt7Jervk7uQqWaDLrah3waBN3q5UWsk -HLAlkhb94Ahi+cNMk1oiNKqT+en3AhZ/7O6imKzTM8bTk27Ek7q3ThLfBeUKcp2O -j1aaPbaDGEL9pZZDCeuZCSdRZDGMY+spGNYRC4pmYCL9C2LsH5jtX5ob9gQsPHt3 -XFsi5l83i5N3amwzb2OdSTEwM0xgPX8TmcN435409gvz/VVmeSmx5jhHb9m8SLSk -SrDXEuf5yKX8J8HXVMgt -=e0eV ------END PGP SIGNATURE----- diff --git a/diffutils.changes b/diffutils.changes index 474f356..335a465 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,192 +1,3 @@ -------------------------------------------------------------------- -Mon Aug 22 20:34:19 UTC 2016 - astieger@suse.com - -- Diffutils 3.5: - * diff3 no longer malfunctions due to use-after-free - [bug introduced in 3.4] - * diff --color no longer colorizes when TERM=dumb - -------------------------------------------------------------------- -Tue Aug 9 09:03:53 UTC 2016 - mpluskal@suse.com - -- Update to version 3.4 - * diff accepts two new options --color and --palette to generate - and configure colored output. --color takes an optional - argument specifying when to colorize a line: --color=always, - --color=auto, --color=never. --palette is used to configure - which colors are used. - * many bugfixes -- New -lang subpackage -- Drop no longer needed gnulib-perl522.patch - -------------------------------------------------------------------- -Thu Feb 4 09:29:27 UTC 2016 - mpluskal@suse.com - -- Make building more verbose -- Move info page removal to preun -- Cleanup spec file with spec-cleaner -- Update provides/obsoletes - -------------------------------------------------------------------- -Mon Jul 6 10:13:58 UTC 2015 - coolo@suse.com - -- add gnulib-perl522.patch from gnulib upstream - -------------------------------------------------------------------- -Sat Jan 3 15:25:32 UTC 2015 - meissner@suse.com - -- build with PIE - -------------------------------------------------------------------- -Fri Dec 6 13:28:07 CET 2013 - pth@suse.de - -- Diffutils has a testsuite so run it. - -------------------------------------------------------------------- -Fri Jun 21 07:22:47 UTC 2013 - meissner@suse.com - -- disable gpg key checking to avoid build cycles. will be - done by source service - -------------------------------------------------------------------- -Fri Apr 5 11:22:33 UTC 2013 - meissner@suse.com - -- add gpg key checking, keyring from savannah - -------------------------------------------------------------------- -Fri Apr 5 08:01:12 UTC 2013 - jslaby@suse.com - -- Update to 3.3: - * add --no-dereference - * -N works with - (stdin) as input - * many fixes - * many cleanups (in docco too) -- remove: config-guess-sub-update.patch -- remove: diffutils-stdio.in.patch - -------------------------------------------------------------------- -Mon Mar 25 14:33:40 UTC 2013 - mmeister@suse.com - -- Added url as source. - Please see http://en.opensuse.org/SourceUrls - -------------------------------------------------------------------- -Sat Feb 2 20:34:31 UTC 2013 - schwab@suse.de - -- Update config.guess/sub for aarch64 - -------------------------------------------------------------------- -Tue Jul 17 19:04:29 UTC 2012 - aj@suse.de - -- Fix build with missing gets declaration (glibc 2.16) - -------------------------------------------------------------------- -Mon Feb 27 16:22:01 CET 2012 - jslaby@suse.de - -- Update to 3.2: - * diff: --ignore-file-name-case now applies at top level too - * diff, sdiff: new option --ignore-trailing-space - * maint: avoid new "make sytnax-check" failure - -------------------------------------------------------------------- -Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de - -- Remove redundant tags/sections from specfile - (cf. packaging guidelines) - -------------------------------------------------------------------- -Sat Aug 13 03:10:31 CEST 2011 - pth@suse.de - -- Update to 3.1: - + Bug fixes - - diff no longer reports spurious differences merely because two - entries in the same directory have names that compare equal in - the current locale, or compare equal because --ignore-file-name-case - was given. - -------------------------------------------------------------------- -Sun Sep 19 10:02:52 CEST 2010 - vuntz@opensuse.org - -- Update to version 3.0: - + Bug fixes - - diff once again prints the required "\ No newline at end of - file" line when at least one input lacks a newline-at-EOF and - the final hunk plus context-length aligns exactly with the end - of the newline-lacking file. - [bug introduced between 2.8.7 and 2.9] - + Changes in behavior - - In context-style diffs, diff prints a portion of a preceding - "function" line for each hunk, with --show-function-line=RE - (-F) or --show-c-function (-p). Now, it trims leading blanks - from such lines before extracting a prefix. This is useful - especially when a function line is so far indented that the - name itself would be truncated or not included in the - limited-width substring that diff appends. - - diff once again reports a difference with the diagnostic - "Binary files A and B differ" when at least one of the files - appears to be binary. From 2.8.4 through diffutils-2.9, it - printed "Files A and B differ". -- Changes from version 2.9: - + New features - - New diff option --suppress-blank-empty. - - Bring back support for `diff -NUM', where NUM is a number, - even when conforming to POSIX 1003.1-2001. This change - reverts to the behavior of GNU diff 2.7 and earlier. This is - a change only when conforming to POSIX 1003.1-2001; there is - no effect when conforming to older POSIX versions. - - sdiff now understands '1' and '2' as synonyms for 'l' and - 'r'. - + Changes in behavior - - sdiff and diff3 now invoke diff, not $(bindir)/diff - + Administrivia - - updated gnulib support -- Drop diffutils-no_binary_mode.patch: fixed upstream. -- Drop diffutils-2.8.1-i18n-0.2.patch: this doesn't apply anymore, - the only reference I can guess about it goes back to 2004, and - commit 8983b8d9 upstream is about handling multibyte characters - in side-by-side format. So I'm assuming it's fixed. This also - means we can drop the call to autoreconf. -- Drop diffutils-2.8.7-autoconf.patch: this is not needed anymore. -- Remove AutoReqProv: it's default now. -- Stop touching the main pages in %build. -- Use %configure and %makeinstall macros. - -------------------------------------------------------------------- -Fri Aug 20 10:15:36 UTC 2010 - pth@novell.com - -- Only do freopen if O_BINARY is true. - -------------------------------------------------------------------- -Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de - -- use %_smp_mflags - -------------------------------------------------------------------- -Sat Feb 13 15:06:26 CET 2010 - rguenther@suse.de - -- fix stack limit autoconf check - -------------------------------------------------------------------- -Mon Dec 7 23:11:11 CET 2009 - jengelh@medozas.de - -- enable parallel building - -------------------------------------------------------------------- -Thu Jan 10 17:36:12 CET 2008 - schwab@suse.de - -- Update to head of trunk. - * New diff option --suppress-blank-empty. - * Bring back support for `diff -NUM', where NUM is a number, - even when conforming to POSIX 1003.1-2001. This change reverts to - the behavior of GNU diff 2.7 and earlier. This is a change only - when conforming to POSIX 1003.1-2001; there is no effect when - conforming to older POSIX versions. - This change is in response to decisions taken in the January 2005 - Austin Group standardization meeting. For more details, please see - "Utility Syntax Guidelines" in the Minutes of the January 2005 - Meeting . - * sdiff now understands '1' and '2' as synonyms for 'l' and 'r'. - ------------------------------------------------------------------- Mon Nov 27 17:15:34 CET 2006 - rguenther@suse.de diff --git a/diffutils.keyring b/diffutils.keyring deleted file mode 100644 index fbe58db51beea9cdb1ec361136eb241cf1c46e90f5712a40eb72f450e341601c..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35277 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 Sj&(cyX44VW&Y(>K_J06@VgvsG diff --git a/diffutils.spec b/diffutils.spec index 09ca69f..fddf31d 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,82 +1,143 @@ # -# spec file for package diffutils +# spec file for package diffutils (Version 2.8.7) # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. # -# 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 http://bugs.opensuse.org/ # +# norootforbuild Name: diffutils -Version: 3.5 -Release: 0 -Summary: GNU diff Utilities -License: GFDL-1.2 and GPL-3.0+ +URL: http://www.gnu.org/software/diffutils/ +License: GNU General Public License (GPL) Group: Productivity/Text/Utilities -Url: https://www.gnu.org/software/diffutils/ -Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz -Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig -# http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=diffutils -Source2: %{name}.keyring -BuildRequires: xz -Requires(pre): %{install_info_prereq} -Requires(preun): %{install_info_prereq} -Recommends: %{name}-lang = %{version} -Provides: diff = %{version} -Obsoletes: diff < %{version} +Provides: diff +Obsoletes: diff +Autoreqprov: on +PreReq: %{install_info_prereq} +Version: 2.8.7 +Release: 38 +Summary: GNU diff Utilities +Source: diffutils-%{version}.tar.gz +Patch1: diffutils-2.8.1-i18n-0.2.patch.gz +Patch2: cmp-eof-dev-null.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description The GNU diff utilities find differences between files. diff is used to make source code patches, for instance. -%lang_package + + +Authors: +-------- + Paul Eggert + David J. MacKenzie + Richard Stallman + Roland McGrath %prep -%setup -q +%setup +%patch1 -p1 +cd src +%patch2 %build -export CFLAGS="%{optflags} -fPIE" -export LDFLAGS="-pie" -%configure -make %{?_smp_mflags} V=1 - -%check -make %{?_smp_mflags} check +autoreconf -fi +touch man/*.1 +./configure CFLAGS="$RPM_OPT_FLAGS" \ + --prefix=/usr --infodir=%{_infodir} --mandir=%{_mandir} +make %install -%make_install -%find_lang %{name} +make install DESTDIR="$RPM_BUILD_ROOT" +%find_lang %name %post -%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info} +%install_info --info-dir=%{_infodir} %{_infodir}/diff.info.gz -%preun -%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info} +%postun +%install_info_delete --info-dir=%{_infodir} %{_infodir}/diff.info.gz -%files +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %name.lang %defattr(-,root,root) %doc AUTHORS COPYING NEWS README THANKS -%{_bindir}/cmp -%{_bindir}/diff -%{_bindir}/diff3 -%{_bindir}/sdiff -%{_infodir}/diffutils.info%{ext_info} -%{_mandir}/man1/cmp.1%{ext_man} -%{_mandir}/man1/diff.1%{ext_man} -%{_mandir}/man1/diff3.1%{ext_man} -%{_mandir}/man1/sdiff.1%{ext_man} +/usr/bin/cmp +/usr/bin/diff +/usr/bin/diff3 +/usr/bin/sdiff +%doc %{_infodir}/diff.info*.gz +%doc %{_mandir}/man1/*.gz -%files lang -f %{name}.lang -%defattr(-,root,root,-) - -%changelog +%changelog -n diffutils +* Mon Nov 27 2006 - rguenther@suse.de +- removed help2man BuildRequires again. Instead prevent patches + from invalidating the shipped manpages. +* Thu Oct 05 2006 - mjancar@suse.cz +- readd help2man to BuildRequires (needed to build manpages) +* Fri Aug 11 2006 - schwab@suse.de +- Update cmp patch [#198332]. +* Mon Jul 24 2006 - rguenther@suse.de +- diffutils does not need help2man. +* Fri Mar 10 2006 - schwab@suse.de +- Fix output of EOF message when stdout is redirected to /dev/null. +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Wed Sep 15 2004 - schwab@suse.de +- Readd mbrtowc check [#45308]. +* Tue May 04 2004 - schwab@suse.de +- Update to diffutils 2.8.7. +* Tue Apr 13 2004 - schwab@suse.de +- Update to diffutils 2.8.6. +* Sat Jan 10 2004 - adrian@suse.de +- build as user +* Wed Oct 15 2003 - schwab@suse.de +- Update to diffutils 2.8.4. +* Mon May 12 2003 - schwab@suse.de +- Add %%defattr. +* Thu Apr 24 2003 - ro@suse.de +- fix install_info --delete call and move from preun to postun +* Mon Apr 07 2003 - schwab@suse.de +- Only delete info entries when removing last version. +* Thu Feb 06 2003 - schwab@suse.de +- Use %%install_info. +* Thu Sep 05 2002 - schwab@suse.de +- Avoid rebuilding manpage [#18930]. +* Tue Aug 20 2002 - schwab@suse.de +- Add i18n patches. +* Mon Apr 08 2002 - schwab@suse.de +- Update to diffutils 2.8.1. + * Documentation fixes. +* Thu Mar 28 2002 - schwab@suse.de +- Update to diffutils 2.8. +* Fri Oct 05 2001 - schwab@suse.de +- Update to diffutils 2.7.2. +* Sat Jan 13 2001 - schwab@suse.de +- Fix last change to close resource leaks. +* Sat Jan 13 2001 - draht@suse.de +- tmpfile security problem fixed using mkstemp(). +* Sun Dec 03 2000 - schwab@suse.de +- diff: Fix a corner case in handling of directories. +- sdiff: Fix reading of split lines. +* Tue Oct 24 2000 - schwab@suse.de +- Renamed from diff. +* Fri Sep 08 2000 - schwab@suse.de +- Switch to BuildRoot. +- Add group tag. +- Use %%{_infodir}. +* Tue Jan 18 2000 - schwab@suse.de +- /usr/info -> /usr/share/info +* Mon Sep 13 1999 - bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Wed Sep 08 1999 - schwab@suse.de +- specfile cleanup +* Fri Dec 18 1998 - ro@suse.de +- dont use m486 on alpha :-) +* Thu Jan 02 1997 - florian@suse.de + bug-fix for sdiff diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 From 558ec09a76b391c138b79bb9144920a5965cc44c7be8072eed28336b904a39a9 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Sat, 12 Jan 2008 01:43:49 +0000 Subject: [PATCH 02/24] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=2 --- cmp-eof-dev-null.diff | 164 ------ diffutils-2.8.1-i18n-0.2.patch | 817 ++++++++++++++++++++++++++++++ diffutils-2.8.1-i18n-0.2.patch.gz | 3 - diffutils-2.8.7-cvs.tar.bz2 | 3 + diffutils-2.8.7.tar.gz | 3 - diffutils.changes | 16 + diffutils.spec | 36 +- 7 files changed, 859 insertions(+), 183 deletions(-) delete mode 100644 cmp-eof-dev-null.diff create mode 100644 diffutils-2.8.1-i18n-0.2.patch delete mode 100644 diffutils-2.8.1-i18n-0.2.patch.gz create mode 100644 diffutils-2.8.7-cvs.tar.bz2 delete mode 100644 diffutils-2.8.7.tar.gz diff --git a/cmp-eof-dev-null.diff b/cmp-eof-dev-null.diff deleted file mode 100644 index aa2e6ad..0000000 --- a/cmp-eof-dev-null.diff +++ /dev/null @@ -1,164 +0,0 @@ -2006-05-09 Paul Eggert - - * src/cmp.c (cmp): The previous fix wasn't quite right either, as - it mishandled 'cmp A B >/dev/null' when A is shorter than B and - differs before A's end-of-file, by outputting a bogus EOF message. - Also, it was inefficient if A and B were large. - -2006-05-07 Jim Meyering (tiny change) - - Fix bug introduced in 2006-03-09 change: - cmp always exits successfully, when stdout is redirected to /dev/null. - * src/cmp.c (cmp): When there's a difference, arrange to return nonzero - also when comparison_type is the new (from 2006-03-09) type_no_stdout. - -2006-03-09 Paul Eggert - - * src/cmp.c (type_no_stdout): New constant. - (main): Use it to avoid bug when the "EOF on foo" message is - generated and stdout is /dev/null. - Problem reported by Vincent Lefevre (Debian bug 356083). - -Index: cmp.c -=================================================================== -RCS file: /sources/diffutils/diffutils/src/cmp.c,v -retrieving revision 1.39 -retrieving revision 1.40 -diff -u -a -p -u -p -a -r1.39 -r1.40 ---- cmp.c 5 Jan 2006 07:23:55 -0000 1.39 -+++ cmp.c 9 Mar 2006 20:38:11 -0000 1.40 -@@ -78,6 +78,7 @@ static enum comparison_type - { - type_first_diff, /* Print the first difference. */ - type_all_diffs, /* Print all differences. */ -+ type_no_stdout, /* Do not output to stdout; only stderr. */ - type_status /* Exit status only. */ - } comparison_type; - -@@ -317,7 +318,12 @@ main (int argc, char **argv) - if (fstat (STDOUT_FILENO, &outstat) == 0 - && stat (NULL_DEVICE, &nullstat) == 0 - && 0 < same_file (&outstat, &nullstat)) -- comparison_type = type_status; -+ comparison_type = -+ ((fstat (STDERR_FILENO, &outstat) == 0 -+ ? 0 < same_file (&outstat, &nullstat) -+ : errno == EBADF) -+ ? type_status -+ : type_no_stdout); - } - - /* If only a return code is needed, -@@ -356,7 +362,7 @@ main (int argc, char **argv) - for (f = 0; f < 2; f++) - if (close (file_desc[f]) != 0) - error (EXIT_TROUBLE, errno, "%s", file[f]); -- if (exit_status != 0 && comparison_type != type_status) -+ if (exit_status != EXIT_SUCCESS && comparison_type < type_no_stdout) - check_stdout (); - exit (exit_status); - return exit_status; -@@ -536,6 +542,9 @@ cmp (void) - while (first_diff < smaller); - ret = EXIT_FAILURE; - break; -+ -+ case type_no_stdout: -+ break; - } - } - -Index: cmp.c -=================================================================== -RCS file: /sources/diffutils/diffutils/src/cmp.c,v -retrieving revision 1.40 -retrieving revision 1.41 -diff -u -a -p -u -p -a -r1.40 -r1.41 ---- cmp.c 9 Mar 2006 20:38:11 -0000 1.40 -+++ cmp.c 9 Mar 2006 20:54:39 -0000 1.41 -@@ -318,12 +318,7 @@ main (int argc, char **argv) - if (fstat (STDOUT_FILENO, &outstat) == 0 - && stat (NULL_DEVICE, &nullstat) == 0 - && 0 < same_file (&outstat, &nullstat)) -- comparison_type = -- ((fstat (STDERR_FILENO, &outstat) == 0 -- ? 0 < same_file (&outstat, &nullstat) -- : errno == EBADF) -- ? type_status -- : type_no_stdout); -+ comparison_type = type_no_stdout; - } - - /* If only a return code is needed, -Index: cmp.c -=================================================================== -RCS file: /sources/diffutils/diffutils/src/cmp.c,v -retrieving revision 1.43 -retrieving revision 1.44 -diff -u -a -p -u -p -a -r1.43 -r1.44 ---- cmp.c 13 Mar 2006 19:11:17 -0000 1.43 -+++ cmp.c 8 May 2006 01:41:04 -0000 1.44 -@@ -536,10 +536,10 @@ cmp (void) - first_diff++; - } - while (first_diff < smaller); -- ret = EXIT_FAILURE; -- break; - -+ /* Fall through. */ - case type_no_stdout: -+ ret = EXIT_FAILURE; - break; - } - } -Index: cmp.c -=================================================================== -RCS file: /sources/diffutils/diffutils/src/cmp.c,v -retrieving revision 1.44 -retrieving revision 1.45 -diff -u -a -p -u -p -a -r1.44 -r1.45 ---- cmp.c 8 May 2006 01:41:04 -0000 1.44 -+++ cmp.c 9 May 2006 22:57:20 -0000 1.45 -@@ -382,7 +382,7 @@ cmp (void) - word *buffer1 = buffer[1]; - char *buf0 = (char *) buffer0; - char *buf1 = (char *) buffer1; -- int ret = EXIT_SUCCESS; -+ int differing = 0; - int f; - int offset_width IF_LINT (= 0); - -@@ -536,17 +536,18 @@ cmp (void) - first_diff++; - } - while (first_diff < smaller); -+ differing = -1; -+ break; - -- /* Fall through. */ - case type_no_stdout: -- ret = EXIT_FAILURE; -+ differing = 1; - break; - } - } - - if (read0 != read1) - { -- if (comparison_type != type_status) -+ if (differing <= 0 && comparison_type != type_status) - { - /* See POSIX 1003.1-2001 for this format. */ - fprintf (stderr, _("cmp: EOF on %s\n"), file[read1 < read0]); -@@ -555,9 +556,9 @@ cmp (void) - return EXIT_FAILURE; - } - } -- while (read0 == buf_size); -+ while (differing <= 0 && read0 == buf_size); - -- return ret; -+ return differing == 0 ? EXIT_SUCCESS : EXIT_FAILURE; - } - - /* Compare two blocks of memory P0 and P1 until they differ, diff --git a/diffutils-2.8.1-i18n-0.2.patch b/diffutils-2.8.1-i18n-0.2.patch new file mode 100644 index 0000000..cc7b2e6 --- /dev/null +++ b/diffutils-2.8.1-i18n-0.2.patch @@ -0,0 +1,817 @@ +--- diffutils-2.8.7-cvs/configure.ac ++++ diffutils-2.8.7-cvs/configure.ac +@@ -57,6 +57,7 @@ if test $ac_cv_func_sigprocmask = no; th + fi + AC_FUNC_CLOSEDIR_VOID + AC_FUNC_FORK ++AC_FUNC_MBRTOWC + + AM_GNU_GETTEXT([external], [need-formatstring-macros]) + AM_GNU_GETTEXT_VERSION([0.15]) +--- diffutils-2.8.7-cvs/src/diff.c ++++ diffutils-2.8.7-cvs/src/diff.c +@@ -276,6 +276,13 @@ main (int argc, char **argv) + re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING); + excluded = new_exclude (); + ++#ifdef HANDLE_MULTIBYTE ++ if (MB_CUR_MAX > 1) ++ lines_differ = lines_differ_multibyte; ++ else ++#endif ++ lines_differ = lines_differ_singlebyte; ++ + /* Decode the options. */ + + while ((c = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1) +--- diffutils-2.8.7-cvs/src/diff.h ++++ diffutils-2.8.7-cvs/src/diff.h +@@ -23,6 +23,17 @@ + #include + #include + ++/* For platform which support the ISO C amendement 1 functionality we ++ support user defined character classes. */ ++#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H ++/* Solaris 2.5 has a bug: must be included before . */ ++# include ++# include ++# if defined (HAVE_MBRTOWC) ++# define HANDLE_MULTIBYTE 1 ++# endif ++#endif ++ + /* What kind of changes a hunk contains. */ + enum changes + { +@@ -353,7 +364,13 @@ extern char const change_letter[4]; + extern char const pr_program[]; + char *concat (char const *, char const *, char const *); + char *dir_file_pathname (char const *, char const *); +-bool lines_differ (char const *, char const *); ++ ++bool (*lines_differ) (char const *, char const *); ++bool lines_differ_singlebyte (char const *, char const *); ++#ifdef HANDLE_MULTIBYTE ++bool lines_differ_multibyte (char const *, char const *); ++#endif ++ + lin translate_line_number (struct file_data const *, lin); + struct change *find_change (struct change *); + struct change *find_reverse_change (struct change *); +--- diffutils-2.8.7-cvs/src/io.c ++++ diffutils-2.8.7-cvs/src/io.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + /* Rotate an unsigned value to the left. */ + #define ROL(v, n) ((v) << (n) | (v) >> (sizeof (v) * CHAR_BIT - (n))) +@@ -194,6 +195,28 @@ slurp (struct file_data *current) + + /* Split the file into lines, simultaneously computing the equivalence + class for each line. */ ++#ifdef HANDLE_MULTIBYTE ++# define MBC2WC(P, END, MBLENGTH, WC, STATE, CONVFAIL) \ ++do \ ++{ \ ++ mbstate_t state_bak = STATE; \ ++ \ ++ CONVFAIL = 0; \ ++ MBLENGTH = mbrtowc (&WC, P, END - (char const *) P, &STATE); \ ++ \ ++ switch (MBLENGTH) \ ++ { \ ++ case (size_t) -2: \ ++ case (size_t) -1: \ ++ STATE = state_bak; \ ++ ++CONVFAIL; \ ++ /* Fall through. */ \ ++ case 0: \ ++ MBLENGTH = 1; \ ++ } \ ++} \ ++while (0) ++#endif + + static void + find_and_hash_each_line (struct file_data *current) +@@ -220,11 +243,294 @@ find_and_hash_each_line (struct file_dat + bool same_length_diff_contents_compare_anyway = + diff_length_compare_anyway | ignore_case; + ++#ifdef HANDLE_MULTIBYTE ++ wchar_t wc; ++ size_t mblength; ++ mbstate_t state; ++ int convfail; ++ ++ memset (&state, '\0', sizeof (mbstate_t)); ++#endif ++ + while (p < suffix_begin) + { + char const *ip = p; + + h = 0; ++#ifdef HANDLE_MULTIBYTE ++ if (MB_CUR_MAX > 1) ++ { ++ wchar_t lo_wc; ++ char mbc[MB_LEN_MAX]; ++ mbstate_t state_wc; ++ ++ /* Hash this line until we find a newline. */ ++ switch (ignore_white_space) ++ { ++ case IGNORE_ALL_SPACE: ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ break; ++ } ++ ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ ++ if (convfail) ++ mbc[0] = *p++; ++ else if (!iswspace (wc)) ++ { ++ bool flag = 0; ++ ++ if (ignore_case) ++ { ++ lo_wc = towlower (wc); ++ if (lo_wc != wc) ++ { ++ flag = 1; ++ ++ p += mblength; ++ memset (&state_wc, '\0', sizeof (mbstate_t)); ++ mblength = wcrtomb (mbc, lo_wc, &state_wc); ++ ++ assert (mblength != (size_t) -1 && ++ mblength != (size_t) -2); ++ ++ mblength = mblength < 1 ? 1 : mblength; ++ } ++ } ++ ++ if (!flag) ++ { ++ for (i = 0; i < mblength; i++) ++ mbc[i] = *p++; ++ } ++ } ++ else ++ { ++ p += mblength; ++ continue; ++ } ++ ++ for (i = 0; i < mblength; i++) ++ { ++ c = mbc[i]; ++ h = HASH (h, c); ++ } ++ } ++ break; ++ ++ case IGNORE_SPACE_CHANGE: ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ break; ++ } ++ ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ ++ if (!convfail && iswspace (wc)) ++ { ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ goto hashing_done; ++ } ++ ++ p += mblength; ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ if (convfail || (!convfail && !iswspace (wc))) ++ break; ++ } ++ h = HASH (h, ' '); ++ } ++ ++ /* WC is now the first non-space. */ ++ if (convfail) ++ mbc[0] = *p++; ++ else ++ { ++ bool flag = 0; ++ ++ if (ignore_case) ++ { ++ lo_wc = towlower (wc); ++ if (lo_wc != wc) ++ { ++ flag = 1; ++ ++ p += mblength; ++ memset (&state_wc, '\0', sizeof (mbstate_t)); ++ mblength = wcrtomb (mbc, lo_wc, &state_wc); ++ ++ assert (mblength != (size_t) -1 && ++ mblength != (size_t) -2); ++ ++ mblength = mblength < 1 ? 1 : mblength; ++ } ++ } ++ ++ if (!flag) ++ { ++ for (i = 0; i < mblength; i++) ++ mbc[i] = *p++; ++ } ++ } ++ ++ for (i = 0; i < mblength; i++) ++ { ++ c = mbc[i]; ++ h = HASH (h, c); ++ } ++ } ++ break; ++ ++ case IGNORE_TAB_EXPANSION: ++ { ++ size_t column = 0; ++ ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ break; ++ } ++ ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ ++ if (convfail) ++ { ++ c = *p++; ++ h = HASH (h, c); ++ ++column; ++ } ++ else ++ { ++ bool flag; ++ ++ switch (wc) ++ { ++ case L'\b': ++ column -= 0 < column; ++ h = HASH (h, '\b'); ++ ++p; ++ break; ++ ++ case L'\t': ++ { ++ size_t repetitions; ++ repetitions = tabsize - column % tabsize; ++ column = (column + repetitions < column ++ ? 0 ++ : column + repetitions); ++ do ++ h = HASH (h, ' '); ++ while (--repetitions != 0); ++ ++p; ++ } ++ break; ++ ++ case L'\r': ++ column = 0; ++ h = HASH (h, '\r'); ++ ++p; ++ break; ++ ++ default: ++ flag = 0; ++ column += wcwidth (wc); ++ if (ignore_case) ++ { ++ lo_wc = towlower (wc); ++ if (lo_wc != wc) ++ { ++ flag = 1; ++ p += mblength; ++ memset (&state_wc, '\0', sizeof (mbstate_t)); ++ mblength = wcrtomb (mbc, lo_wc, &state_wc); ++ ++ assert (mblength != (size_t) -1 && ++ mblength != (size_t) -2); ++ ++ mblength = mblength < 1 ? 1 : mblength; ++ } ++ } ++ ++ if (!flag) ++ { ++ for (i = 0; i < mblength; i++) ++ mbc[i] = *p++; ++ } ++ ++ for (i = 0; i < mblength; i++) ++ { ++ c = mbc[i]; ++ h = HASH (h, c); ++ } ++ } ++ } ++ } ++ } ++ break; ++ ++ default: ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ break; ++ } ++ ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ ++ if (convfail) ++ mbc[0] = *p++; ++ else ++ { ++ int flag = 0; ++ ++ if (ignore_case) ++ { ++ lo_wc = towlower (wc); ++ if (lo_wc != wc) ++ { ++ flag = 1; ++ p += mblength; ++ memset (&state_wc, '\0', sizeof (mbstate_t)); ++ mblength = wcrtomb (mbc, lo_wc, &state_wc); ++ ++ assert (mblength != (size_t) -1 && ++ mblength != (size_t) -2); ++ ++ mblength = mblength < 1 ? 1 : mblength; ++ } ++ } ++ ++ if (!flag) ++ { ++ for (i = 0; i < mblength; i++) ++ mbc[i] = *p++; ++ } ++ } ++ ++ for (i = 0; i < mblength; i++) ++ { ++ c = mbc[i]; ++ h = HASH (h, c); ++ } ++ } ++ } ++ goto hashing_done; ++ } ++#endif + + /* Hash this line until we find a newline. */ + if (ignore_case) +--- diffutils-2.8.7-cvs/src/side.c ++++ diffutils-2.8.7-cvs/src/side.c +@@ -73,11 +73,72 @@ print_half_line (char const *const *line + register size_t out_position = 0; + register char const *text_pointer = line[0]; + register char const *text_limit = line[1]; ++#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H ++ unsigned char mbc[MB_LEN_MAX]; ++ wchar_t wc; ++ mbstate_t state, state_bak; ++ size_t mbc_pos, mblength; ++ int mbc_loading_flag = 0; ++ int wc_width; ++ ++ memset (&state, '\0', sizeof (mbstate_t)); ++#endif + + while (text_pointer < text_limit) + { + register unsigned char c = *text_pointer++; + ++#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H ++ if (MB_CUR_MAX > 1 && mbc_loading_flag) ++ { ++ mbc_loading_flag = 0; ++ state_bak = state; ++ mbc[mbc_pos++] = c; ++ ++process_mbc: ++ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); ++ ++ switch (mblength) ++ { ++ case (size_t)-2: /* Incomplete multibyte character. */ ++ mbc_loading_flag = 1; ++ state = state_bak; ++ break; ++ ++ case (size_t)-1: /* Invalid as a multibyte character. */ ++ if (in_position++ < out_bound) ++ { ++ out_position = in_position; ++ putc (mbc[0], out); ++ } ++ memmove (mbc, mbc + 1, --mbc_pos); ++ if (mbc_pos > 0) ++ { ++ mbc[mbc_pos] = '\0'; ++ goto process_mbc; ++ } ++ break; ++ ++ default: ++ wc_width = wcwidth (wc); ++ if (wc_width < 1) /* Unprintable multibyte character. */ ++ { ++ if (in_position <= out_bound) ++ fprintf (out, "%lc", (wint_t)wc); ++ } ++ else /* Printable multibyte character. */ ++ { ++ in_position += wc_width; ++ if (in_position <= out_bound) ++ { ++ out_position = in_position; ++ fprintf (out, "%lc", (wint_t)wc); ++ } ++ } ++ } ++ continue; ++ } ++#endif + switch (c) + { + case '\t': +@@ -135,8 +196,39 @@ print_half_line (char const *const *line + break; + + default: +- if (! isprint (c)) +- goto control_char; ++#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H ++ if (MB_CUR_MAX > 1) ++ { ++ memset (mbc, '\0', MB_LEN_MAX); ++ mbc_pos = 0; ++ mbc[mbc_pos++] = c; ++ state_bak = state; ++ ++ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); ++ ++ /* The value of mblength is always less than 2 here. */ ++ switch (mblength) ++ { ++ case (size_t)-2: /* Incomplete multibyte character. */ ++ state = state_bak; ++ mbc_loading_flag = 1; ++ continue; ++ ++ case (size_t)-1: /* Invalid as a multibyte character. */ ++ state = state_bak; ++ break; ++ ++ default: ++ if (! iswprint (wc)) ++ goto control_char; ++ } ++ } ++ else ++#endif ++ { ++ if (! isprint (c)) ++ goto control_char; ++ } + /* falls through */ + case ' ': + if (in_position++ < out_bound) +--- diffutils-2.8.7-cvs/src/util.c ++++ diffutils-2.8.7-cvs/src/util.c +@@ -317,7 +317,7 @@ finish_output (void) + Return nonzero if the lines differ. */ + + bool +-lines_differ (char const *s1, char const *s2) ++lines_differ_singlebyte (char const *s1, char const *s2) + { + register char const *t1 = s1; + register char const *t2 = s2; +@@ -446,6 +446,293 @@ lines_differ (char const *s1, char const + + return true; + } ++ ++#ifdef HANDLE_MULTIBYTE ++# define MBC2WC(T, END, MBLENGTH, WC, STATE, CONVFAIL) \ ++do \ ++{ \ ++ mbstate_t bak = STATE; \ ++ \ ++ CONVFAIL = 0; \ ++ MBLENGTH = mbrtowc (&WC, T, END - T, &STATE); \ ++ \ ++ switch (MBLENGTH) \ ++ { \ ++ case (size_t)-2: \ ++ case (size_t)-1: \ ++ STATE = bak; \ ++ ++CONVFAIL; \ ++ /* Fall through. */ \ ++ case 0: \ ++ MBLENGTH = 1; \ ++ } \ ++} \ ++while (0) ++ ++bool ++lines_differ_multibyte (char const *s1, char const *s2) ++{ ++ unsigned char const *end1, *end2; ++ unsigned char c1, c2; ++ wchar_t wc1, wc2, wc1_bak, wc2_bak; ++ size_t mblen1, mblen2; ++ mbstate_t state1, state2, state1_bak, state2_bak; ++ int convfail1, convfail2, convfail1_bak, convfail2_bak; ++ ++ unsigned char const *t1 = (unsigned char const *) s1; ++ unsigned char const *t2 = (unsigned char const *) s2; ++ unsigned char const *t1_bak, *t2_bak; ++ size_t column = 0; ++ ++ if (ignore_white_space == IGNORE_NO_WHITE_SPACE && !ignore_case) ++ { ++ while (*t1 != '\n') ++ if (*t1++ != * t2++) ++ return 1; ++ return 0; ++ } ++ ++ memset (&state1, '\0', sizeof (mbstate_t)); ++ memset (&state2, '\0', sizeof (mbstate_t)); ++ ++ end1 = s1 + strlen (s1); ++ end2 = s2 + strlen (s2); ++ ++ while (1) ++ { ++ c1 = *t1; ++ c2 = *t2; ++ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); ++ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); ++ ++ /* Test for exact char equality first, since it's a common case. */ ++ if (convfail1 ^ convfail2) ++ break; ++ else if (convfail1 && convfail2 && c1 != c2) ++ break; ++ else if (!convfail1 && !convfail2 && wc1 != wc2) ++ { ++ switch (ignore_white_space) ++ { ++ case IGNORE_ALL_SPACE: ++ /* For -w, just skip past any white space. */ ++ while (1) ++ { ++ if (convfail1) ++ break; ++ else if (wc1 == L'\n' || !iswspace (wc1)) ++ break; ++ ++ t1 += mblen1; ++ c1 = *t1; ++ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); ++ } ++ ++ while (1) ++ { ++ if (convfail2) ++ break; ++ else if (wc2 == L'\n' || !iswspace (wc2)) ++ break; ++ ++ t2 += mblen2; ++ c2 = *t2; ++ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); ++ } ++ t1 += mblen1; ++ t2 += mblen2; ++ break; ++ ++ case IGNORE_SPACE_CHANGE: ++ /* For -b, advance past any sequence of white space in ++ line 1 and consider it just one space, or nothing at ++ all if it is at the end of the line. */ ++ if (wc1 != L'\n' && iswspace (wc1)) ++ { ++ size_t mblen_bak; ++ mbstate_t state_bak; ++ ++ do ++ { ++ t1 += mblen1; ++ mblen_bak = mblen1; ++ state_bak = state1; ++ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); ++ } ++ while (!convfail1 && (wc1 != L'\n' && iswspace (wc1))); ++ ++ state1 = state_bak; ++ mblen1 = mblen_bak; ++ t1 -= mblen1; ++ convfail1 = 0; ++ wc1 = L' '; ++ } ++ ++ /* Likewise for line 2. */ ++ if (wc2 != L'\n' && iswspace (wc2)) ++ { ++ size_t mblen_bak; ++ mbstate_t state_bak; ++ ++ do ++ { ++ t2 += mblen2; ++ mblen_bak = mblen2; ++ state_bak = state2; ++ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); ++ } ++ while (!convfail2 && (wc2 != L'\n' && iswspace (wc2))); ++ ++ state2 = state_bak; ++ mblen2 = mblen_bak; ++ t2 -= mblen2; ++ convfail2 = 0; ++ wc2 = L' '; ++ } ++ ++ if (wc1 != wc2) ++ { ++ if (wc2 == L' ' && wc1 != L'\n' && ++ t1 > (unsigned char const *)s1 && ++ !convfail1_bak && iswspace (wc1_bak)) ++ { ++ t1 = t1_bak; ++ wc1 = wc1_bak; ++ state1 = state1_bak; ++ convfail1 = convfail1_bak; ++ continue; ++ } ++ if (wc1 == L' ' && wc2 != L'\n' ++ && t2 > (unsigned char const *)s2 ++ && !convfail2_bak && iswspace (wc2_bak)) ++ { ++ t2 = t2_bak; ++ wc2 = wc2_bak; ++ state2 = state2_bak; ++ convfail2 = convfail2_bak; ++ continue; ++ } ++ } ++ ++ t1_bak = t1; t2_bak = t2; ++ wc1_bak = wc1; wc2_bak = wc2; ++ state1_bak = state1; state2_bak = state2; ++ convfail1_bak = convfail1; convfail2_bak = convfail2; ++ ++ if (wc1 == L'\n') ++ wc1 = L' '; ++ else ++ t1 += mblen1; ++ ++ if (wc2 == L'\n') ++ wc2 = L' '; ++ else ++ t2 += mblen2; ++ ++ break; ++ ++ case IGNORE_TAB_EXPANSION: ++ if ((wc1 == L' ' && wc2 == L'\t') ++ || (wc1 == L'\t' && wc2 == L' ')) ++ { ++ size_t column2 = column; ++ ++ while (1) ++ { ++ if (convfail1) ++ { ++ ++t1; ++ break; ++ } ++ else if (wc1 == L' ') ++ column++; ++ else if (wc1 == L'\t') ++ column += tabsize - column % tabsize; ++ else ++ { ++ t1 += mblen1; ++ break; ++ } ++ ++ t1 += mblen1; ++ c1 = *t1; ++ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); ++ } ++ ++ while (1) ++ { ++ if (convfail2) ++ { ++ ++t2; ++ break; ++ } ++ else if (wc2 == L' ') ++ column2++; ++ else if (wc2 == L'\t') ++ column2 += tabsize - column2 % tabsize; ++ else ++ { ++ t2 += mblen2; ++ break; ++ } ++ ++ t2 += mblen2; ++ c2 = *t2; ++ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); ++ } ++ ++ if (column != column2) ++ return 1; ++ } ++ else ++ { ++ t1 += mblen1; ++ t2 += mblen2; ++ } ++ break; ++ ++ case IGNORE_NO_WHITE_SPACE: ++ t1 += mblen1; ++ t2 += mblen2; ++ break; ++ } ++ ++ /* Lowercase all letters if -i is specified. */ ++ if (ignore_case) ++ { ++ if (!convfail1) ++ wc1 = towlower (wc1); ++ if (!convfail2) ++ wc2 = towlower (wc2); ++ } ++ ++ if (convfail1 ^ convfail2) ++ break; ++ else if (convfail1 && convfail2 && c1 != c2) ++ break; ++ else if (!convfail1 && !convfail2 && wc1 != wc2) ++ break; ++ } ++ else ++ { ++ t1_bak = t1; t2_bak = t2; ++ wc1_bak = wc1; wc2_bak = wc2; ++ state1_bak = state1; state2_bak = state2; ++ convfail1_bak = convfail1; convfail2_bak = convfail2; ++ ++ t1 += mblen1; t2 += mblen2; ++ } ++ ++ if (!convfail1 && wc1 == L'\n') ++ return 0; ++ ++ column += convfail1 ? 1 : ++ (wc1 == L'\t') ? tabsize - column % tabsize : wcwidth (wc1); ++ } ++ ++ return 1; ++} ++#endif + + /* Find the consecutive changes at the start of the script START. + Return the last link before the first gap. */ diff --git a/diffutils-2.8.1-i18n-0.2.patch.gz b/diffutils-2.8.1-i18n-0.2.patch.gz deleted file mode 100644 index 744c38b..0000000 --- a/diffutils-2.8.1-i18n-0.2.patch.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9289be62b118f41757d3ac267c6fbe4678717dfb26240edfdd85a5b5ddff4029 -size 4450 diff --git a/diffutils-2.8.7-cvs.tar.bz2 b/diffutils-2.8.7-cvs.tar.bz2 new file mode 100644 index 0000000..f1131cd --- /dev/null +++ b/diffutils-2.8.7-cvs.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a55f870c2dddde476f13cddfa013b4f429068b91ceaeeab45d383a92633e2ff1 +size 922261 diff --git a/diffutils-2.8.7.tar.gz b/diffutils-2.8.7.tar.gz deleted file mode 100644 index 8242c96..0000000 --- a/diffutils-2.8.7.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:53d9c10830ac322c00dfcccf60d961014e767da86d2c802ccc5cbad7e7aea07c -size 1057977 diff --git a/diffutils.changes b/diffutils.changes index 335a465..83a4f3c 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Thu Jan 10 17:36:12 CET 2008 - schwab@suse.de + +- Update to head of trunk. + * New diff option --suppress-blank-empty. + * Bring back support for `diff -NUM', where NUM is a number, + even when conforming to POSIX 1003.1-2001. This change reverts to + the behavior of GNU diff 2.7 and earlier. This is a change only + when conforming to POSIX 1003.1-2001; there is no effect when + conforming to older POSIX versions. + This change is in response to decisions taken in the January 2005 + Austin Group standardization meeting. For more details, please see + "Utility Syntax Guidelines" in the Minutes of the January 2005 + Meeting . + * sdiff now understands '1' and '2' as synonyms for 'l' and 'r'. + ------------------------------------------------------------------- Mon Nov 27 17:15:34 CET 2006 - rguenther@suse.de diff --git a/diffutils.spec b/diffutils.spec index fddf31d..7a3c708 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # # spec file for package diffutils (Version 2.8.7) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -11,19 +11,18 @@ # norootforbuild Name: diffutils -URL: http://www.gnu.org/software/diffutils/ -License: GNU General Public License (GPL) +Url: http://www.gnu.org/software/diffutils/ +License: GPL v2 or later Group: Productivity/Text/Utilities Provides: diff Obsoletes: diff -Autoreqprov: on +AutoReqProv: on PreReq: %{install_info_prereq} Version: 2.8.7 -Release: 38 +Release: 92 Summary: GNU diff Utilities -Source: diffutils-%{version}.tar.gz -Patch1: diffutils-2.8.1-i18n-0.2.patch.gz -Patch2: cmp-eof-dev-null.diff +Source: diffutils-%{version}-cvs.tar.bz2 +Patch1: diffutils-2.8.1-i18n-0.2.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -40,13 +39,11 @@ Authors: Roland McGrath %prep -%setup +%setup -q -n %{name}-%{version}-cvs %patch1 -p1 -cd src -%patch2 %build -autoreconf -fi +AUTOPOINT=true autoreconf -fi touch man/*.1 ./configure CFLAGS="$RPM_OPT_FLAGS" \ --prefix=/usr --infodir=%{_infodir} --mandir=%{_mandir} @@ -75,7 +72,20 @@ rm -rf $RPM_BUILD_ROOT %doc %{_infodir}/diff.info*.gz %doc %{_mandir}/man1/*.gz -%changelog -n diffutils +%changelog +* Thu Jan 10 2008 - schwab@suse.de +- Update to head of trunk. + * New diff option --suppress-blank-empty. + * Bring back support for `diff -NUM', where NUM is a number, + even when conforming to POSIX 1003.1-2001. This change reverts to + the behavior of GNU diff 2.7 and earlier. This is a change only + when conforming to POSIX 1003.1-2001; there is no effect when + conforming to older POSIX versions. + This change is in response to decisions taken in the January 2005 + Austin Group standardization meeting. For more details, please see + "Utility Syntax Guidelines" in the Minutes of the January 2005 + Meeting . + * sdiff now understands '1' and '2' as synonyms for 'l' and 'r'. * Mon Nov 27 2006 - rguenther@suse.de - removed help2man BuildRequires again. Instead prevent patches from invalidating the shipped manpages. From fea05a2b3ed785c0912019e6ca1e79af2ae39a6bc8ae9ed361368c0eb9682474 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 23 Oct 2008 02:29:27 +0000 Subject: [PATCH 03/24] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=4 --- diffutils.spec | 78 ++++++++++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 35 deletions(-) diff --git a/diffutils.spec b/diffutils.spec index 7a3c708..a57719e 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -2,24 +2,32 @@ # spec file for package diffutils (Version 2.8.7) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. -# This file and all modifications and additions to the pristine -# package are under the same license as the package itself. # +# 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 http://bugs.opensuse.org/ # # norootforbuild + Name: diffutils Url: http://www.gnu.org/software/diffutils/ -License: GPL v2 or later +License: GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v3 or later Group: Productivity/Text/Utilities Provides: diff Obsoletes: diff AutoReqProv: on PreReq: %{install_info_prereq} Version: 2.8.7 -Release: 92 +Release: 143 Summary: GNU diff Utilities Source: diffutils-%{version}-cvs.tar.bz2 Patch1: diffutils-2.8.1-i18n-0.2.patch @@ -73,7 +81,7 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/*.gz %changelog -* Thu Jan 10 2008 - schwab@suse.de +* Thu Jan 10 2008 schwab@suse.de - Update to head of trunk. * New diff option --suppress-blank-empty. * Bring back support for `diff -NUM', where NUM is a number, @@ -86,68 +94,68 @@ rm -rf $RPM_BUILD_ROOT "Utility Syntax Guidelines" in the Minutes of the January 2005 Meeting . * sdiff now understands '1' and '2' as synonyms for 'l' and 'r'. -* Mon Nov 27 2006 - rguenther@suse.de +* Mon Nov 27 2006 rguenther@suse.de - removed help2man BuildRequires again. Instead prevent patches from invalidating the shipped manpages. -* Thu Oct 05 2006 - mjancar@suse.cz +* Thu Oct 05 2006 mjancar@suse.cz - readd help2man to BuildRequires (needed to build manpages) -* Fri Aug 11 2006 - schwab@suse.de +* Fri Aug 11 2006 schwab@suse.de - Update cmp patch [#198332]. -* Mon Jul 24 2006 - rguenther@suse.de +* Mon Jul 24 2006 rguenther@suse.de - diffutils does not need help2man. -* Fri Mar 10 2006 - schwab@suse.de +* Fri Mar 10 2006 schwab@suse.de - Fix output of EOF message when stdout is redirected to /dev/null. -* Wed Jan 25 2006 - mls@suse.de +* Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires -* Wed Sep 15 2004 - schwab@suse.de +* Wed Sep 15 2004 schwab@suse.de - Readd mbrtowc check [#45308]. -* Tue May 04 2004 - schwab@suse.de +* Tue May 04 2004 schwab@suse.de - Update to diffutils 2.8.7. -* Tue Apr 13 2004 - schwab@suse.de +* Tue Apr 13 2004 schwab@suse.de - Update to diffutils 2.8.6. -* Sat Jan 10 2004 - adrian@suse.de +* Sat Jan 10 2004 adrian@suse.de - build as user -* Wed Oct 15 2003 - schwab@suse.de +* Wed Oct 15 2003 schwab@suse.de - Update to diffutils 2.8.4. -* Mon May 12 2003 - schwab@suse.de +* Mon May 12 2003 schwab@suse.de - Add %%defattr. -* Thu Apr 24 2003 - ro@suse.de +* Thu Apr 24 2003 ro@suse.de - fix install_info --delete call and move from preun to postun -* Mon Apr 07 2003 - schwab@suse.de +* Mon Apr 07 2003 schwab@suse.de - Only delete info entries when removing last version. -* Thu Feb 06 2003 - schwab@suse.de +* Thu Feb 06 2003 schwab@suse.de - Use %%install_info. -* Thu Sep 05 2002 - schwab@suse.de +* Thu Sep 05 2002 schwab@suse.de - Avoid rebuilding manpage [#18930]. -* Tue Aug 20 2002 - schwab@suse.de +* Tue Aug 20 2002 schwab@suse.de - Add i18n patches. -* Mon Apr 08 2002 - schwab@suse.de +* Mon Apr 08 2002 schwab@suse.de - Update to diffutils 2.8.1. * Documentation fixes. -* Thu Mar 28 2002 - schwab@suse.de +* Thu Mar 28 2002 schwab@suse.de - Update to diffutils 2.8. -* Fri Oct 05 2001 - schwab@suse.de +* Fri Oct 05 2001 schwab@suse.de - Update to diffutils 2.7.2. -* Sat Jan 13 2001 - schwab@suse.de +* Sat Jan 13 2001 schwab@suse.de - Fix last change to close resource leaks. -* Sat Jan 13 2001 - draht@suse.de +* Sat Jan 13 2001 draht@suse.de - tmpfile security problem fixed using mkstemp(). -* Sun Dec 03 2000 - schwab@suse.de +* Sun Dec 03 2000 schwab@suse.de - diff: Fix a corner case in handling of directories. - sdiff: Fix reading of split lines. -* Tue Oct 24 2000 - schwab@suse.de +* Tue Oct 24 2000 schwab@suse.de - Renamed from diff. -* Fri Sep 08 2000 - schwab@suse.de +* Fri Sep 08 2000 schwab@suse.de - Switch to BuildRoot. - Add group tag. - Use %%{_infodir}. -* Tue Jan 18 2000 - schwab@suse.de +* Tue Jan 18 2000 schwab@suse.de - /usr/info -> /usr/share/info -* Mon Sep 13 1999 - bs@suse.de +* Mon Sep 13 1999 bs@suse.de - ran old prepare_spec on spec file to switch to new prepare_spec. -* Wed Sep 08 1999 - schwab@suse.de +* Wed Sep 08 1999 schwab@suse.de - specfile cleanup -* Fri Dec 18 1998 - ro@suse.de +* Fri Dec 18 1998 ro@suse.de - dont use m486 on alpha :-) -* Thu Jan 02 1997 - florian@suse.de +* Thu Jan 02 1997 florian@suse.de bug-fix for sdiff From e82662ac889721ba4036e6192abd4a8de999256e65f66ea011ff94d69b4eb499 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Wed, 16 Dec 2009 12:17:04 +0000 Subject: [PATCH 04/24] Accepting request 26687 from Base:System Copy from Base:System/diffutils based on submit request 26687 from user msmeissn OBS-URL: https://build.opensuse.org/request/show/26687 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=6 --- diffutils.changes | 5 +++ diffutils.spec | 86 +++-------------------------------------------- 2 files changed, 9 insertions(+), 82 deletions(-) diff --git a/diffutils.changes b/diffutils.changes index 83a4f3c..9dabfc9 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 7 23:11:11 CET 2009 - jengelh@medozas.de + +- enable parallel building + ------------------------------------------------------------------- Thu Jan 10 17:36:12 CET 2008 - schwab@suse.de diff --git a/diffutils.spec b/diffutils.spec index a57719e..c0fa733 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # # spec file for package diffutils (Version 2.8.7) # -# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,14 +20,14 @@ Name: diffutils Url: http://www.gnu.org/software/diffutils/ -License: GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v3 or later +License: GFDLv1.2 ; GPLv3+ Group: Productivity/Text/Utilities Provides: diff Obsoletes: diff AutoReqProv: on PreReq: %{install_info_prereq} Version: 2.8.7 -Release: 143 +Release: 144 Summary: GNU diff Utilities Source: diffutils-%{version}-cvs.tar.bz2 Patch1: diffutils-2.8.1-i18n-0.2.patch @@ -55,7 +55,7 @@ AUTOPOINT=true autoreconf -fi touch man/*.1 ./configure CFLAGS="$RPM_OPT_FLAGS" \ --prefix=/usr --infodir=%{_infodir} --mandir=%{_mandir} -make +make %{?jobs:-j%jobs}; %install make install DESTDIR="$RPM_BUILD_ROOT" @@ -81,81 +81,3 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man1/*.gz %changelog -* Thu Jan 10 2008 schwab@suse.de -- Update to head of trunk. - * New diff option --suppress-blank-empty. - * Bring back support for `diff -NUM', where NUM is a number, - even when conforming to POSIX 1003.1-2001. This change reverts to - the behavior of GNU diff 2.7 and earlier. This is a change only - when conforming to POSIX 1003.1-2001; there is no effect when - conforming to older POSIX versions. - This change is in response to decisions taken in the January 2005 - Austin Group standardization meeting. For more details, please see - "Utility Syntax Guidelines" in the Minutes of the January 2005 - Meeting . - * sdiff now understands '1' and '2' as synonyms for 'l' and 'r'. -* Mon Nov 27 2006 rguenther@suse.de -- removed help2man BuildRequires again. Instead prevent patches - from invalidating the shipped manpages. -* Thu Oct 05 2006 mjancar@suse.cz -- readd help2man to BuildRequires (needed to build manpages) -* Fri Aug 11 2006 schwab@suse.de -- Update cmp patch [#198332]. -* Mon Jul 24 2006 rguenther@suse.de -- diffutils does not need help2man. -* Fri Mar 10 2006 schwab@suse.de -- Fix output of EOF message when stdout is redirected to /dev/null. -* Wed Jan 25 2006 mls@suse.de -- converted neededforbuild to BuildRequires -* Wed Sep 15 2004 schwab@suse.de -- Readd mbrtowc check [#45308]. -* Tue May 04 2004 schwab@suse.de -- Update to diffutils 2.8.7. -* Tue Apr 13 2004 schwab@suse.de -- Update to diffutils 2.8.6. -* Sat Jan 10 2004 adrian@suse.de -- build as user -* Wed Oct 15 2003 schwab@suse.de -- Update to diffutils 2.8.4. -* Mon May 12 2003 schwab@suse.de -- Add %%defattr. -* Thu Apr 24 2003 ro@suse.de -- fix install_info --delete call and move from preun to postun -* Mon Apr 07 2003 schwab@suse.de -- Only delete info entries when removing last version. -* Thu Feb 06 2003 schwab@suse.de -- Use %%install_info. -* Thu Sep 05 2002 schwab@suse.de -- Avoid rebuilding manpage [#18930]. -* Tue Aug 20 2002 schwab@suse.de -- Add i18n patches. -* Mon Apr 08 2002 schwab@suse.de -- Update to diffutils 2.8.1. - * Documentation fixes. -* Thu Mar 28 2002 schwab@suse.de -- Update to diffutils 2.8. -* Fri Oct 05 2001 schwab@suse.de -- Update to diffutils 2.7.2. -* Sat Jan 13 2001 schwab@suse.de -- Fix last change to close resource leaks. -* Sat Jan 13 2001 draht@suse.de -- tmpfile security problem fixed using mkstemp(). -* Sun Dec 03 2000 schwab@suse.de -- diff: Fix a corner case in handling of directories. -- sdiff: Fix reading of split lines. -* Tue Oct 24 2000 schwab@suse.de -- Renamed from diff. -* Fri Sep 08 2000 schwab@suse.de -- Switch to BuildRoot. -- Add group tag. -- Use %%{_infodir}. -* Tue Jan 18 2000 schwab@suse.de -- /usr/info -> /usr/share/info -* Mon Sep 13 1999 bs@suse.de -- ran old prepare_spec on spec file to switch to new prepare_spec. -* Wed Sep 08 1999 schwab@suse.de -- specfile cleanup -* Fri Dec 18 1998 ro@suse.de -- dont use m486 on alpha :-) -* Thu Jan 02 1997 florian@suse.de - bug-fix for sdiff From 2a45e22d762a333eda20e5bec9d4227887f6ba8b46460f522a9975e67350d226 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Sat, 13 Feb 2010 15:24:36 +0000 Subject: [PATCH 05/24] Accepting request 32478 from Base:System Copy from Base:System/diffutils based on submit request 32478 from user rguenther OBS-URL: https://build.opensuse.org/request/show/32478 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=7 --- diffutils-2.8.7-autoconf.patch | 21 +++++++++++++++++++++ diffutils.changes | 5 +++++ diffutils.spec | 6 ++++-- 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 diffutils-2.8.7-autoconf.patch diff --git a/diffutils-2.8.7-autoconf.patch b/diffutils-2.8.7-autoconf.patch new file mode 100644 index 0000000..cf9b15f --- /dev/null +++ b/diffutils-2.8.7-autoconf.patch @@ -0,0 +1,21 @@ +Index: m4/c-stack.m4 +=================================================================== +--- m4/c-stack.m4.orig 2007-09-24 11:55:43.000000000 +0200 ++++ m4/c-stack.m4 2010-02-13 14:56:24.000000000 +0100 +@@ -12,6 +12,8 @@ AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEUR + AC_REQUIRE([AC_FUNC_ALLOCA]) + AC_CHECK_FUNCS(setrlimit) + ++ saved_CFLAGS=$CFLAGS ++ CFLAGS=-O0 + AC_CACHE_CHECK([for working C stack overflow detection], + ac_cv_sys_xsi_stack_overflow_heuristic, + [AC_TRY_RUN( +@@ -113,6 +115,7 @@ AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEUR + [ac_cv_sys_xsi_stack_overflow_heuristic=yes], + [ac_cv_sys_xsi_stack_overflow_heuristic=no], + [ac_cv_sys_xsi_stack_overflow_heuristic=cross-compiling])]) ++ CFLAGS=$saved_CFLAGS + + if test $ac_cv_sys_xsi_stack_overflow_heuristic = yes; then + AC_DEFINE(HAVE_XSI_STACK_OVERFLOW_HEURISTIC, 1, diff --git a/diffutils.changes b/diffutils.changes index 9dabfc9..cec9c2a 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Feb 13 15:06:26 CET 2010 - rguenther@suse.de + +- fix stack limit autoconf check + ------------------------------------------------------------------- Mon Dec 7 23:11:11 CET 2009 - jengelh@medozas.de diff --git a/diffutils.spec b/diffutils.spec index c0fa733..83f818b 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # # spec file for package diffutils (Version 2.8.7) # -# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -27,10 +27,11 @@ Obsoletes: diff AutoReqProv: on PreReq: %{install_info_prereq} Version: 2.8.7 -Release: 144 +Release: 145 Summary: GNU diff Utilities Source: diffutils-%{version}-cvs.tar.bz2 Patch1: diffutils-2.8.1-i18n-0.2.patch +Patch2: diffutils-2.8.7-autoconf.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -49,6 +50,7 @@ Authors: %prep %setup -q -n %{name}-%{version}-cvs %patch1 -p1 +%patch2 %build AUTOPOINT=true autoreconf -fi From a32c5c6876c39e318437f6ca4b25a153880b799e16ee26a517981e884a0a31b3 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Thu, 18 Mar 2010 14:42:19 +0000 Subject: [PATCH 06/24] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=8 --- ready | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ready diff --git a/ready b/ready deleted file mode 100644 index 473a0f4..0000000 From 20a987eb0c5ba219f93d7e3e21021ebd1a72b4955cd12a9d9211a1651961e114 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Fri, 23 Jul 2010 20:06:30 +0000 Subject: [PATCH 07/24] Accepting request 43686 from Base:System Copy from Base:System/diffutils based on submit request 43686 from user coolo OBS-URL: https://build.opensuse.org/request/show/43686 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=11 --- diffutils.changes | 5 +++++ diffutils.spec | 13 ++----------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/diffutils.changes b/diffutils.changes index cec9c2a..c0cfbc0 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de + +- use %_smp_mflags + ------------------------------------------------------------------- Sat Feb 13 15:06:26 CET 2010 - rguenther@suse.de diff --git a/diffutils.spec b/diffutils.spec index 83f818b..b98536b 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -27,7 +27,7 @@ Obsoletes: diff AutoReqProv: on PreReq: %{install_info_prereq} Version: 2.8.7 -Release: 145 +Release: 146 Summary: GNU diff Utilities Source: diffutils-%{version}-cvs.tar.bz2 Patch1: diffutils-2.8.1-i18n-0.2.patch @@ -38,15 +38,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build The GNU diff utilities find differences between files. diff is used to make source code patches, for instance. - - -Authors: --------- - Paul Eggert - David J. MacKenzie - Richard Stallman - Roland McGrath - %prep %setup -q -n %{name}-%{version}-cvs %patch1 -p1 @@ -57,7 +48,7 @@ AUTOPOINT=true autoreconf -fi touch man/*.1 ./configure CFLAGS="$RPM_OPT_FLAGS" \ --prefix=/usr --infodir=%{_infodir} --mandir=%{_mandir} -make %{?jobs:-j%jobs}; +make %{?_smp_mflags} %install make install DESTDIR="$RPM_BUILD_ROOT" From b892e54f3bb3e143d79bf2bc68703e5d94fafa0dfe2519461d8fca8ebbe45af6 Mon Sep 17 00:00:00 2001 From: OBS User autobuild Date: Mon, 20 Sep 2010 14:03:34 +0000 Subject: [PATCH 08/24] Accepting request 48513 from Base:System Copy from Base:System/diffutils based on submit request 48513 from user prusnak OBS-URL: https://build.opensuse.org/request/show/48513 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=12 --- diffutils-2.8.1-i18n-0.2.patch | 817 --------------------------------- diffutils-2.8.7-autoconf.patch | 21 - diffutils-2.8.7-cvs.tar.bz2 | 3 - diffutils-3.0.tar.bz2 | 3 + diffutils.changes | 52 +++ diffutils.spec | 34 +- 6 files changed, 68 insertions(+), 862 deletions(-) delete mode 100644 diffutils-2.8.1-i18n-0.2.patch delete mode 100644 diffutils-2.8.7-autoconf.patch delete mode 100644 diffutils-2.8.7-cvs.tar.bz2 create mode 100644 diffutils-3.0.tar.bz2 diff --git a/diffutils-2.8.1-i18n-0.2.patch b/diffutils-2.8.1-i18n-0.2.patch deleted file mode 100644 index cc7b2e6..0000000 --- a/diffutils-2.8.1-i18n-0.2.patch +++ /dev/null @@ -1,817 +0,0 @@ ---- diffutils-2.8.7-cvs/configure.ac -+++ diffutils-2.8.7-cvs/configure.ac -@@ -57,6 +57,7 @@ if test $ac_cv_func_sigprocmask = no; th - fi - AC_FUNC_CLOSEDIR_VOID - AC_FUNC_FORK -+AC_FUNC_MBRTOWC - - AM_GNU_GETTEXT([external], [need-formatstring-macros]) - AM_GNU_GETTEXT_VERSION([0.15]) ---- diffutils-2.8.7-cvs/src/diff.c -+++ diffutils-2.8.7-cvs/src/diff.c -@@ -276,6 +276,13 @@ main (int argc, char **argv) - re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING); - excluded = new_exclude (); - -+#ifdef HANDLE_MULTIBYTE -+ if (MB_CUR_MAX > 1) -+ lines_differ = lines_differ_multibyte; -+ else -+#endif -+ lines_differ = lines_differ_singlebyte; -+ - /* Decode the options. */ - - while ((c = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1) ---- diffutils-2.8.7-cvs/src/diff.h -+++ diffutils-2.8.7-cvs/src/diff.h -@@ -23,6 +23,17 @@ - #include - #include - -+/* For platform which support the ISO C amendement 1 functionality we -+ support user defined character classes. */ -+#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H -+/* Solaris 2.5 has a bug: must be included before . */ -+# include -+# include -+# if defined (HAVE_MBRTOWC) -+# define HANDLE_MULTIBYTE 1 -+# endif -+#endif -+ - /* What kind of changes a hunk contains. */ - enum changes - { -@@ -353,7 +364,13 @@ extern char const change_letter[4]; - extern char const pr_program[]; - char *concat (char const *, char const *, char const *); - char *dir_file_pathname (char const *, char const *); --bool lines_differ (char const *, char const *); -+ -+bool (*lines_differ) (char const *, char const *); -+bool lines_differ_singlebyte (char const *, char const *); -+#ifdef HANDLE_MULTIBYTE -+bool lines_differ_multibyte (char const *, char const *); -+#endif -+ - lin translate_line_number (struct file_data const *, lin); - struct change *find_change (struct change *); - struct change *find_reverse_change (struct change *); ---- diffutils-2.8.7-cvs/src/io.c -+++ diffutils-2.8.7-cvs/src/io.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - /* Rotate an unsigned value to the left. */ - #define ROL(v, n) ((v) << (n) | (v) >> (sizeof (v) * CHAR_BIT - (n))) -@@ -194,6 +195,28 @@ slurp (struct file_data *current) - - /* Split the file into lines, simultaneously computing the equivalence - class for each line. */ -+#ifdef HANDLE_MULTIBYTE -+# define MBC2WC(P, END, MBLENGTH, WC, STATE, CONVFAIL) \ -+do \ -+{ \ -+ mbstate_t state_bak = STATE; \ -+ \ -+ CONVFAIL = 0; \ -+ MBLENGTH = mbrtowc (&WC, P, END - (char const *) P, &STATE); \ -+ \ -+ switch (MBLENGTH) \ -+ { \ -+ case (size_t) -2: \ -+ case (size_t) -1: \ -+ STATE = state_bak; \ -+ ++CONVFAIL; \ -+ /* Fall through. */ \ -+ case 0: \ -+ MBLENGTH = 1; \ -+ } \ -+} \ -+while (0) -+#endif - - static void - find_and_hash_each_line (struct file_data *current) -@@ -220,11 +243,294 @@ find_and_hash_each_line (struct file_dat - bool same_length_diff_contents_compare_anyway = - diff_length_compare_anyway | ignore_case; - -+#ifdef HANDLE_MULTIBYTE -+ wchar_t wc; -+ size_t mblength; -+ mbstate_t state; -+ int convfail; -+ -+ memset (&state, '\0', sizeof (mbstate_t)); -+#endif -+ - while (p < suffix_begin) - { - char const *ip = p; - - h = 0; -+#ifdef HANDLE_MULTIBYTE -+ if (MB_CUR_MAX > 1) -+ { -+ wchar_t lo_wc; -+ char mbc[MB_LEN_MAX]; -+ mbstate_t state_wc; -+ -+ /* Hash this line until we find a newline. */ -+ switch (ignore_white_space) -+ { -+ case IGNORE_ALL_SPACE: -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ break; -+ } -+ -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ -+ if (convfail) -+ mbc[0] = *p++; -+ else if (!iswspace (wc)) -+ { -+ bool flag = 0; -+ -+ if (ignore_case) -+ { -+ lo_wc = towlower (wc); -+ if (lo_wc != wc) -+ { -+ flag = 1; -+ -+ p += mblength; -+ memset (&state_wc, '\0', sizeof (mbstate_t)); -+ mblength = wcrtomb (mbc, lo_wc, &state_wc); -+ -+ assert (mblength != (size_t) -1 && -+ mblength != (size_t) -2); -+ -+ mblength = mblength < 1 ? 1 : mblength; -+ } -+ } -+ -+ if (!flag) -+ { -+ for (i = 0; i < mblength; i++) -+ mbc[i] = *p++; -+ } -+ } -+ else -+ { -+ p += mblength; -+ continue; -+ } -+ -+ for (i = 0; i < mblength; i++) -+ { -+ c = mbc[i]; -+ h = HASH (h, c); -+ } -+ } -+ break; -+ -+ case IGNORE_SPACE_CHANGE: -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ break; -+ } -+ -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ -+ if (!convfail && iswspace (wc)) -+ { -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ goto hashing_done; -+ } -+ -+ p += mblength; -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ if (convfail || (!convfail && !iswspace (wc))) -+ break; -+ } -+ h = HASH (h, ' '); -+ } -+ -+ /* WC is now the first non-space. */ -+ if (convfail) -+ mbc[0] = *p++; -+ else -+ { -+ bool flag = 0; -+ -+ if (ignore_case) -+ { -+ lo_wc = towlower (wc); -+ if (lo_wc != wc) -+ { -+ flag = 1; -+ -+ p += mblength; -+ memset (&state_wc, '\0', sizeof (mbstate_t)); -+ mblength = wcrtomb (mbc, lo_wc, &state_wc); -+ -+ assert (mblength != (size_t) -1 && -+ mblength != (size_t) -2); -+ -+ mblength = mblength < 1 ? 1 : mblength; -+ } -+ } -+ -+ if (!flag) -+ { -+ for (i = 0; i < mblength; i++) -+ mbc[i] = *p++; -+ } -+ } -+ -+ for (i = 0; i < mblength; i++) -+ { -+ c = mbc[i]; -+ h = HASH (h, c); -+ } -+ } -+ break; -+ -+ case IGNORE_TAB_EXPANSION: -+ { -+ size_t column = 0; -+ -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ break; -+ } -+ -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ -+ if (convfail) -+ { -+ c = *p++; -+ h = HASH (h, c); -+ ++column; -+ } -+ else -+ { -+ bool flag; -+ -+ switch (wc) -+ { -+ case L'\b': -+ column -= 0 < column; -+ h = HASH (h, '\b'); -+ ++p; -+ break; -+ -+ case L'\t': -+ { -+ size_t repetitions; -+ repetitions = tabsize - column % tabsize; -+ column = (column + repetitions < column -+ ? 0 -+ : column + repetitions); -+ do -+ h = HASH (h, ' '); -+ while (--repetitions != 0); -+ ++p; -+ } -+ break; -+ -+ case L'\r': -+ column = 0; -+ h = HASH (h, '\r'); -+ ++p; -+ break; -+ -+ default: -+ flag = 0; -+ column += wcwidth (wc); -+ if (ignore_case) -+ { -+ lo_wc = towlower (wc); -+ if (lo_wc != wc) -+ { -+ flag = 1; -+ p += mblength; -+ memset (&state_wc, '\0', sizeof (mbstate_t)); -+ mblength = wcrtomb (mbc, lo_wc, &state_wc); -+ -+ assert (mblength != (size_t) -1 && -+ mblength != (size_t) -2); -+ -+ mblength = mblength < 1 ? 1 : mblength; -+ } -+ } -+ -+ if (!flag) -+ { -+ for (i = 0; i < mblength; i++) -+ mbc[i] = *p++; -+ } -+ -+ for (i = 0; i < mblength; i++) -+ { -+ c = mbc[i]; -+ h = HASH (h, c); -+ } -+ } -+ } -+ } -+ } -+ break; -+ -+ default: -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ break; -+ } -+ -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ -+ if (convfail) -+ mbc[0] = *p++; -+ else -+ { -+ int flag = 0; -+ -+ if (ignore_case) -+ { -+ lo_wc = towlower (wc); -+ if (lo_wc != wc) -+ { -+ flag = 1; -+ p += mblength; -+ memset (&state_wc, '\0', sizeof (mbstate_t)); -+ mblength = wcrtomb (mbc, lo_wc, &state_wc); -+ -+ assert (mblength != (size_t) -1 && -+ mblength != (size_t) -2); -+ -+ mblength = mblength < 1 ? 1 : mblength; -+ } -+ } -+ -+ if (!flag) -+ { -+ for (i = 0; i < mblength; i++) -+ mbc[i] = *p++; -+ } -+ } -+ -+ for (i = 0; i < mblength; i++) -+ { -+ c = mbc[i]; -+ h = HASH (h, c); -+ } -+ } -+ } -+ goto hashing_done; -+ } -+#endif - - /* Hash this line until we find a newline. */ - if (ignore_case) ---- diffutils-2.8.7-cvs/src/side.c -+++ diffutils-2.8.7-cvs/src/side.c -@@ -73,11 +73,72 @@ print_half_line (char const *const *line - register size_t out_position = 0; - register char const *text_pointer = line[0]; - register char const *text_limit = line[1]; -+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H -+ unsigned char mbc[MB_LEN_MAX]; -+ wchar_t wc; -+ mbstate_t state, state_bak; -+ size_t mbc_pos, mblength; -+ int mbc_loading_flag = 0; -+ int wc_width; -+ -+ memset (&state, '\0', sizeof (mbstate_t)); -+#endif - - while (text_pointer < text_limit) - { - register unsigned char c = *text_pointer++; - -+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H -+ if (MB_CUR_MAX > 1 && mbc_loading_flag) -+ { -+ mbc_loading_flag = 0; -+ state_bak = state; -+ mbc[mbc_pos++] = c; -+ -+process_mbc: -+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); -+ -+ switch (mblength) -+ { -+ case (size_t)-2: /* Incomplete multibyte character. */ -+ mbc_loading_flag = 1; -+ state = state_bak; -+ break; -+ -+ case (size_t)-1: /* Invalid as a multibyte character. */ -+ if (in_position++ < out_bound) -+ { -+ out_position = in_position; -+ putc (mbc[0], out); -+ } -+ memmove (mbc, mbc + 1, --mbc_pos); -+ if (mbc_pos > 0) -+ { -+ mbc[mbc_pos] = '\0'; -+ goto process_mbc; -+ } -+ break; -+ -+ default: -+ wc_width = wcwidth (wc); -+ if (wc_width < 1) /* Unprintable multibyte character. */ -+ { -+ if (in_position <= out_bound) -+ fprintf (out, "%lc", (wint_t)wc); -+ } -+ else /* Printable multibyte character. */ -+ { -+ in_position += wc_width; -+ if (in_position <= out_bound) -+ { -+ out_position = in_position; -+ fprintf (out, "%lc", (wint_t)wc); -+ } -+ } -+ } -+ continue; -+ } -+#endif - switch (c) - { - case '\t': -@@ -135,8 +196,39 @@ print_half_line (char const *const *line - break; - - default: -- if (! isprint (c)) -- goto control_char; -+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H -+ if (MB_CUR_MAX > 1) -+ { -+ memset (mbc, '\0', MB_LEN_MAX); -+ mbc_pos = 0; -+ mbc[mbc_pos++] = c; -+ state_bak = state; -+ -+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); -+ -+ /* The value of mblength is always less than 2 here. */ -+ switch (mblength) -+ { -+ case (size_t)-2: /* Incomplete multibyte character. */ -+ state = state_bak; -+ mbc_loading_flag = 1; -+ continue; -+ -+ case (size_t)-1: /* Invalid as a multibyte character. */ -+ state = state_bak; -+ break; -+ -+ default: -+ if (! iswprint (wc)) -+ goto control_char; -+ } -+ } -+ else -+#endif -+ { -+ if (! isprint (c)) -+ goto control_char; -+ } - /* falls through */ - case ' ': - if (in_position++ < out_bound) ---- diffutils-2.8.7-cvs/src/util.c -+++ diffutils-2.8.7-cvs/src/util.c -@@ -317,7 +317,7 @@ finish_output (void) - Return nonzero if the lines differ. */ - - bool --lines_differ (char const *s1, char const *s2) -+lines_differ_singlebyte (char const *s1, char const *s2) - { - register char const *t1 = s1; - register char const *t2 = s2; -@@ -446,6 +446,293 @@ lines_differ (char const *s1, char const - - return true; - } -+ -+#ifdef HANDLE_MULTIBYTE -+# define MBC2WC(T, END, MBLENGTH, WC, STATE, CONVFAIL) \ -+do \ -+{ \ -+ mbstate_t bak = STATE; \ -+ \ -+ CONVFAIL = 0; \ -+ MBLENGTH = mbrtowc (&WC, T, END - T, &STATE); \ -+ \ -+ switch (MBLENGTH) \ -+ { \ -+ case (size_t)-2: \ -+ case (size_t)-1: \ -+ STATE = bak; \ -+ ++CONVFAIL; \ -+ /* Fall through. */ \ -+ case 0: \ -+ MBLENGTH = 1; \ -+ } \ -+} \ -+while (0) -+ -+bool -+lines_differ_multibyte (char const *s1, char const *s2) -+{ -+ unsigned char const *end1, *end2; -+ unsigned char c1, c2; -+ wchar_t wc1, wc2, wc1_bak, wc2_bak; -+ size_t mblen1, mblen2; -+ mbstate_t state1, state2, state1_bak, state2_bak; -+ int convfail1, convfail2, convfail1_bak, convfail2_bak; -+ -+ unsigned char const *t1 = (unsigned char const *) s1; -+ unsigned char const *t2 = (unsigned char const *) s2; -+ unsigned char const *t1_bak, *t2_bak; -+ size_t column = 0; -+ -+ if (ignore_white_space == IGNORE_NO_WHITE_SPACE && !ignore_case) -+ { -+ while (*t1 != '\n') -+ if (*t1++ != * t2++) -+ return 1; -+ return 0; -+ } -+ -+ memset (&state1, '\0', sizeof (mbstate_t)); -+ memset (&state2, '\0', sizeof (mbstate_t)); -+ -+ end1 = s1 + strlen (s1); -+ end2 = s2 + strlen (s2); -+ -+ while (1) -+ { -+ c1 = *t1; -+ c2 = *t2; -+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); -+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); -+ -+ /* Test for exact char equality first, since it's a common case. */ -+ if (convfail1 ^ convfail2) -+ break; -+ else if (convfail1 && convfail2 && c1 != c2) -+ break; -+ else if (!convfail1 && !convfail2 && wc1 != wc2) -+ { -+ switch (ignore_white_space) -+ { -+ case IGNORE_ALL_SPACE: -+ /* For -w, just skip past any white space. */ -+ while (1) -+ { -+ if (convfail1) -+ break; -+ else if (wc1 == L'\n' || !iswspace (wc1)) -+ break; -+ -+ t1 += mblen1; -+ c1 = *t1; -+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); -+ } -+ -+ while (1) -+ { -+ if (convfail2) -+ break; -+ else if (wc2 == L'\n' || !iswspace (wc2)) -+ break; -+ -+ t2 += mblen2; -+ c2 = *t2; -+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); -+ } -+ t1 += mblen1; -+ t2 += mblen2; -+ break; -+ -+ case IGNORE_SPACE_CHANGE: -+ /* For -b, advance past any sequence of white space in -+ line 1 and consider it just one space, or nothing at -+ all if it is at the end of the line. */ -+ if (wc1 != L'\n' && iswspace (wc1)) -+ { -+ size_t mblen_bak; -+ mbstate_t state_bak; -+ -+ do -+ { -+ t1 += mblen1; -+ mblen_bak = mblen1; -+ state_bak = state1; -+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); -+ } -+ while (!convfail1 && (wc1 != L'\n' && iswspace (wc1))); -+ -+ state1 = state_bak; -+ mblen1 = mblen_bak; -+ t1 -= mblen1; -+ convfail1 = 0; -+ wc1 = L' '; -+ } -+ -+ /* Likewise for line 2. */ -+ if (wc2 != L'\n' && iswspace (wc2)) -+ { -+ size_t mblen_bak; -+ mbstate_t state_bak; -+ -+ do -+ { -+ t2 += mblen2; -+ mblen_bak = mblen2; -+ state_bak = state2; -+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); -+ } -+ while (!convfail2 && (wc2 != L'\n' && iswspace (wc2))); -+ -+ state2 = state_bak; -+ mblen2 = mblen_bak; -+ t2 -= mblen2; -+ convfail2 = 0; -+ wc2 = L' '; -+ } -+ -+ if (wc1 != wc2) -+ { -+ if (wc2 == L' ' && wc1 != L'\n' && -+ t1 > (unsigned char const *)s1 && -+ !convfail1_bak && iswspace (wc1_bak)) -+ { -+ t1 = t1_bak; -+ wc1 = wc1_bak; -+ state1 = state1_bak; -+ convfail1 = convfail1_bak; -+ continue; -+ } -+ if (wc1 == L' ' && wc2 != L'\n' -+ && t2 > (unsigned char const *)s2 -+ && !convfail2_bak && iswspace (wc2_bak)) -+ { -+ t2 = t2_bak; -+ wc2 = wc2_bak; -+ state2 = state2_bak; -+ convfail2 = convfail2_bak; -+ continue; -+ } -+ } -+ -+ t1_bak = t1; t2_bak = t2; -+ wc1_bak = wc1; wc2_bak = wc2; -+ state1_bak = state1; state2_bak = state2; -+ convfail1_bak = convfail1; convfail2_bak = convfail2; -+ -+ if (wc1 == L'\n') -+ wc1 = L' '; -+ else -+ t1 += mblen1; -+ -+ if (wc2 == L'\n') -+ wc2 = L' '; -+ else -+ t2 += mblen2; -+ -+ break; -+ -+ case IGNORE_TAB_EXPANSION: -+ if ((wc1 == L' ' && wc2 == L'\t') -+ || (wc1 == L'\t' && wc2 == L' ')) -+ { -+ size_t column2 = column; -+ -+ while (1) -+ { -+ if (convfail1) -+ { -+ ++t1; -+ break; -+ } -+ else if (wc1 == L' ') -+ column++; -+ else if (wc1 == L'\t') -+ column += tabsize - column % tabsize; -+ else -+ { -+ t1 += mblen1; -+ break; -+ } -+ -+ t1 += mblen1; -+ c1 = *t1; -+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); -+ } -+ -+ while (1) -+ { -+ if (convfail2) -+ { -+ ++t2; -+ break; -+ } -+ else if (wc2 == L' ') -+ column2++; -+ else if (wc2 == L'\t') -+ column2 += tabsize - column2 % tabsize; -+ else -+ { -+ t2 += mblen2; -+ break; -+ } -+ -+ t2 += mblen2; -+ c2 = *t2; -+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); -+ } -+ -+ if (column != column2) -+ return 1; -+ } -+ else -+ { -+ t1 += mblen1; -+ t2 += mblen2; -+ } -+ break; -+ -+ case IGNORE_NO_WHITE_SPACE: -+ t1 += mblen1; -+ t2 += mblen2; -+ break; -+ } -+ -+ /* Lowercase all letters if -i is specified. */ -+ if (ignore_case) -+ { -+ if (!convfail1) -+ wc1 = towlower (wc1); -+ if (!convfail2) -+ wc2 = towlower (wc2); -+ } -+ -+ if (convfail1 ^ convfail2) -+ break; -+ else if (convfail1 && convfail2 && c1 != c2) -+ break; -+ else if (!convfail1 && !convfail2 && wc1 != wc2) -+ break; -+ } -+ else -+ { -+ t1_bak = t1; t2_bak = t2; -+ wc1_bak = wc1; wc2_bak = wc2; -+ state1_bak = state1; state2_bak = state2; -+ convfail1_bak = convfail1; convfail2_bak = convfail2; -+ -+ t1 += mblen1; t2 += mblen2; -+ } -+ -+ if (!convfail1 && wc1 == L'\n') -+ return 0; -+ -+ column += convfail1 ? 1 : -+ (wc1 == L'\t') ? tabsize - column % tabsize : wcwidth (wc1); -+ } -+ -+ return 1; -+} -+#endif - - /* Find the consecutive changes at the start of the script START. - Return the last link before the first gap. */ diff --git a/diffutils-2.8.7-autoconf.patch b/diffutils-2.8.7-autoconf.patch deleted file mode 100644 index cf9b15f..0000000 --- a/diffutils-2.8.7-autoconf.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: m4/c-stack.m4 -=================================================================== ---- m4/c-stack.m4.orig 2007-09-24 11:55:43.000000000 +0200 -+++ m4/c-stack.m4 2010-02-13 14:56:24.000000000 +0100 -@@ -12,6 +12,8 @@ AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEUR - AC_REQUIRE([AC_FUNC_ALLOCA]) - AC_CHECK_FUNCS(setrlimit) - -+ saved_CFLAGS=$CFLAGS -+ CFLAGS=-O0 - AC_CACHE_CHECK([for working C stack overflow detection], - ac_cv_sys_xsi_stack_overflow_heuristic, - [AC_TRY_RUN( -@@ -113,6 +115,7 @@ AC_DEFUN([AC_SYS_XSI_STACK_OVERFLOW_HEUR - [ac_cv_sys_xsi_stack_overflow_heuristic=yes], - [ac_cv_sys_xsi_stack_overflow_heuristic=no], - [ac_cv_sys_xsi_stack_overflow_heuristic=cross-compiling])]) -+ CFLAGS=$saved_CFLAGS - - if test $ac_cv_sys_xsi_stack_overflow_heuristic = yes; then - AC_DEFINE(HAVE_XSI_STACK_OVERFLOW_HEURISTIC, 1, diff --git a/diffutils-2.8.7-cvs.tar.bz2 b/diffutils-2.8.7-cvs.tar.bz2 deleted file mode 100644 index f1131cd..0000000 --- a/diffutils-2.8.7-cvs.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a55f870c2dddde476f13cddfa013b4f429068b91ceaeeab45d383a92633e2ff1 -size 922261 diff --git a/diffutils-3.0.tar.bz2 b/diffutils-3.0.tar.bz2 new file mode 100644 index 0000000..afc6176 --- /dev/null +++ b/diffutils-3.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4227343cde98067e8cd14487d04ca1f360fdf49618e9408263c9317a5f07d609 +size 1331576 diff --git a/diffutils.changes b/diffutils.changes index c0cfbc0..3319273 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,55 @@ +------------------------------------------------------------------- +Sun Sep 19 10:02:52 CEST 2010 - vuntz@opensuse.org + +- Update to version 3.0: + + Bug fixes + - diff once again prints the required "\ No newline at end of + file" line when at least one input lacks a newline-at-EOF and + the final hunk plus context-length aligns exactly with the end + of the newline-lacking file. + [bug introduced between 2.8.7 and 2.9] + + Changes in behavior + - In context-style diffs, diff prints a portion of a preceding + "function" line for each hunk, with --show-function-line=RE + (-F) or --show-c-function (-p). Now, it trims leading blanks + from such lines before extracting a prefix. This is useful + especially when a function line is so far indented that the + name itself would be truncated or not included in the + limited-width substring that diff appends. + - diff once again reports a difference with the diagnostic + "Binary files A and B differ" when at least one of the files + appears to be binary. From 2.8.4 through diffutils-2.9, it + printed "Files A and B differ". +- Changes from version 2.9: + + New features + - New diff option --suppress-blank-empty. + - Bring back support for `diff -NUM', where NUM is a number, + even when conforming to POSIX 1003.1-2001. This change + reverts to the behavior of GNU diff 2.7 and earlier. This is + a change only when conforming to POSIX 1003.1-2001; there is + no effect when conforming to older POSIX versions. + - sdiff now understands '1' and '2' as synonyms for 'l' and + 'r'. + + Changes in behavior + - sdiff and diff3 now invoke diff, not $(bindir)/diff + + Administrivia + - updated gnulib support +- Drop diffutils-no_binary_mode.patch: fixed upstream. +- Drop diffutils-2.8.1-i18n-0.2.patch: this doesn't apply anymore, + the only reference I can guess about it goes back to 2004, and + commit 8983b8d9 upstream is about handling multibyte characters + in side-by-side format. So I'm assuming it's fixed. This also + means we can drop the call to autoreconf. +- Drop diffutils-2.8.7-autoconf.patch: this is not needed anymore. +- Remove AutoReqProv: it's default now. +- Stop touching the main pages in %build. +- Use %configure and %makeinstall macros. + +------------------------------------------------------------------- +Fri Aug 20 10:15:36 UTC 2010 - pth@novell.com + +- Only do freopen if O_BINARY is true. + ------------------------------------------------------------------- Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de diff --git a/diffutils.spec b/diffutils.spec index b98536b..75af1a3 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,5 +1,5 @@ # -# spec file for package diffutils (Version 2.8.7) +# spec file for package diffutils (Version 3.0) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -22,16 +22,13 @@ Name: diffutils Url: http://www.gnu.org/software/diffutils/ License: GFDLv1.2 ; GPLv3+ Group: Productivity/Text/Utilities -Provides: diff -Obsoletes: diff -AutoReqProv: on +Provides: diff +Obsoletes: diff PreReq: %{install_info_prereq} -Version: 2.8.7 -Release: 146 +Version: 3.0 +Release: 1 Summary: GNU diff Utilities -Source: diffutils-%{version}-cvs.tar.bz2 -Patch1: diffutils-2.8.1-i18n-0.2.patch -Patch2: diffutils-2.8.7-autoconf.patch +Source: %{name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -39,19 +36,14 @@ The GNU diff utilities find differences between files. diff is used to make source code patches, for instance. %prep -%setup -q -n %{name}-%{version}-cvs -%patch1 -p1 -%patch2 +%setup -q %build -AUTOPOINT=true autoreconf -fi -touch man/*.1 -./configure CFLAGS="$RPM_OPT_FLAGS" \ - --prefix=/usr --infodir=%{_infodir} --mandir=%{_mandir} +%configure make %{?_smp_mflags} %install -make install DESTDIR="$RPM_BUILD_ROOT" +%makeinstall %find_lang %name %post @@ -66,10 +58,10 @@ rm -rf $RPM_BUILD_ROOT %files -f %name.lang %defattr(-,root,root) %doc AUTHORS COPYING NEWS README THANKS -/usr/bin/cmp -/usr/bin/diff -/usr/bin/diff3 -/usr/bin/sdiff +%{_bindir}/cmp +%{_bindir}/diff +%{_bindir}/diff3 +%{_bindir}/sdiff %doc %{_infodir}/diff.info*.gz %doc %{_mandir}/man1/*.gz From 1bb149c5388e7a018df74f2e211e406322e00c94a5eaa5ac7996fcaec50ca0e6 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Mon, 15 Aug 2011 10:30:12 +0000 Subject: [PATCH 09/24] Accepting request 78714 from Base:System Update to 3.1 OBS-URL: https://build.opensuse.org/request/show/78714 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=14 --- diffutils-3.0.tar.bz2 | 3 --- diffutils-3.1.tar.xz | 3 +++ diffutils.changes | 10 ++++++++++ diffutils.spec | 14 ++++++++------ 4 files changed, 21 insertions(+), 9 deletions(-) delete mode 100644 diffutils-3.0.tar.bz2 create mode 100644 diffutils-3.1.tar.xz diff --git a/diffutils-3.0.tar.bz2 b/diffutils-3.0.tar.bz2 deleted file mode 100644 index afc6176..0000000 --- a/diffutils-3.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4227343cde98067e8cd14487d04ca1f360fdf49618e9408263c9317a5f07d609 -size 1331576 diff --git a/diffutils-3.1.tar.xz b/diffutils-3.1.tar.xz new file mode 100644 index 0000000..7e69f36 --- /dev/null +++ b/diffutils-3.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21016a0eeb59190107105276e97023e19023648db547192162aab6da6242fcf9 +size 1133392 diff --git a/diffutils.changes b/diffutils.changes index 3319273..5b13158 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Sat Aug 13 03:10:31 CEST 2011 - pth@suse.de + +- Update to 3.1: + + Bug fixes + - diff no longer reports spurious differences merely because two + entries in the same directory have names that compare equal in + the current locale, or compare equal because --ignore-file-name-case + was given. + ------------------------------------------------------------------- Sun Sep 19 10:02:52 CEST 2010 - vuntz@opensuse.org diff --git a/diffutils.spec b/diffutils.spec index 75af1a3..9535cd8 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,5 +1,5 @@ # -# spec file for package diffutils (Version 3.0) +# spec file for package diffutils (Version 3.1) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -25,11 +25,12 @@ Group: Productivity/Text/Utilities Provides: diff Obsoletes: diff PreReq: %{install_info_prereq} -Version: 3.0 +Version: 3.1 Release: 1 Summary: GNU diff Utilities -Source: %{name}-%{version}.tar.bz2 +Source: %{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: xz %description The GNU diff utilities find differences between files. diff is used to @@ -44,13 +45,14 @@ make %{?_smp_mflags} %install %makeinstall +gzip -9 %{buildroot}%{_infodir}/%{name}.info %find_lang %name %post -%install_info --info-dir=%{_infodir} %{_infodir}/diff.info.gz +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %postun -%install_info_delete --info-dir=%{_infodir} %{_infodir}/diff.info.gz +%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %clean rm -rf $RPM_BUILD_ROOT @@ -62,7 +64,7 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/diff %{_bindir}/diff3 %{_bindir}/sdiff -%doc %{_infodir}/diff.info*.gz +%doc %{_infodir}/%{name}.info.gz %doc %{_mandir}/man1/*.gz %changelog From d06f7c21d045549fc62a8a8551d760bbeb73a102cebd91562d8ca7bfa46a08e1 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke Date: Mon, 15 Aug 2011 10:30:24 +0000 Subject: [PATCH 10/24] Autobuild autoformatter for 78714 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=15 --- diffutils.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/diffutils.spec b/diffutils.spec index 9535cd8..f986b83 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # -# spec file for package diffutils (Version 3.1) +# spec file for package diffutils # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed From 476edbf7dbab521011c255f7f42e6703c74842b828f7f138d7609138d31743d5 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 21 Oct 2011 14:04:34 +0000 Subject: [PATCH 11/24] Accepting request 88920 from Base:System OBS-URL: https://build.opensuse.org/request/show/88920 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=17 --- diffutils.changes | 6 ++++++ diffutils.spec | 4 ---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/diffutils.changes b/diffutils.changes index 5b13158..32f27a0 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile + (cf. packaging guidelines) + ------------------------------------------------------------------- Sat Aug 13 03:10:31 CEST 2011 - pth@suse.de diff --git a/diffutils.spec b/diffutils.spec index f986b83..81f7ab9 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -15,7 +15,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild Name: diffutils @@ -54,9 +53,6 @@ gzip -9 %{buildroot}%{_infodir}/%{name}.info %postun %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz -%clean -rm -rf $RPM_BUILD_ROOT - %files -f %name.lang %defattr(-,root,root) %doc AUTHORS COPYING NEWS README THANKS From 71d9848485b204acd9cb8f826a271e11119530571194f324df04b9d7f80d2dd6 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 6 Dec 2011 17:06:11 +0000 Subject: [PATCH 12/24] replace license with spdx.org variant OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=18 --- diffutils.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/diffutils.spec b/diffutils.spec index 81f7ab9..3a22791 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -19,7 +19,7 @@ Name: diffutils Url: http://www.gnu.org/software/diffutils/ -License: GFDLv1.2 ; GPLv3+ +License: GFDL-1.2 ; GPL-3.0+ Group: Productivity/Text/Utilities Provides: diff Obsoletes: diff From cce418b8c24b0b57174479f293e43ef14f3b5f8fc443180c807ba7e980ac8660 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 28 Feb 2012 18:20:50 +0000 Subject: [PATCH 13/24] Accepting request 107329 from Base:System Update to 3.2 (forwarded request 107187 from jirislaby) OBS-URL: https://build.opensuse.org/request/show/107329 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=19 --- diffutils-3.1.tar.xz | 3 --- diffutils-3.2.tar.xz | 3 +++ diffutils.changes | 8 ++++++++ diffutils.spec | 12 +++++------- 4 files changed, 16 insertions(+), 10 deletions(-) delete mode 100644 diffutils-3.1.tar.xz create mode 100644 diffutils-3.2.tar.xz diff --git a/diffutils-3.1.tar.xz b/diffutils-3.1.tar.xz deleted file mode 100644 index 7e69f36..0000000 --- a/diffutils-3.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:21016a0eeb59190107105276e97023e19023648db547192162aab6da6242fcf9 -size 1133392 diff --git a/diffutils-3.2.tar.xz b/diffutils-3.2.tar.xz new file mode 100644 index 0000000..16d2a39 --- /dev/null +++ b/diffutils-3.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab4fb75d0ef35f3c8c9a148cd3526ba6f4db71d10467a041eb45006436079149 +size 1148036 diff --git a/diffutils.changes b/diffutils.changes index 32f27a0..5d53538 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Mon Feb 27 16:22:01 CET 2012 - jslaby@suse.de + +- Update to 3.2: + * diff: --ignore-file-name-case now applies at top level too + * diff, sdiff: new option --ignore-trailing-space + * maint: avoid new "make sytnax-check" failure + ------------------------------------------------------------------- Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de diff --git a/diffutils.spec b/diffutils.spec index 3a22791..8f610ef 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # # spec file for package diffutils # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,18 +15,16 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - - Name: diffutils Url: http://www.gnu.org/software/diffutils/ -License: GFDL-1.2 ; GPL-3.0+ -Group: Productivity/Text/Utilities Provides: diff Obsoletes: diff PreReq: %{install_info_prereq} -Version: 3.1 -Release: 1 +Version: 3.2 +Release: 0 Summary: GNU diff Utilities +License: GFDL-1.2 ; GPL-3.0+ +Group: Productivity/Text/Utilities Source: %{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: xz From f95516276c4a6a2f05852a344899cddf1adfe0d7b080d5c8d1ff7e28c44b5947 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Wed, 18 Jul 2012 15:12:52 +0000 Subject: [PATCH 14/24] Accepting request 128169 from Base:System Fix build with missing gets declaration (glibc 2.16) (forwarded request 128156 from a_jaeger) OBS-URL: https://build.opensuse.org/request/show/128169 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=21 --- diffutils-stdio.in.patch | 19 +++++++++++++++++++ diffutils.changes | 5 +++++ diffutils.spec | 3 +++ 3 files changed, 27 insertions(+) create mode 100644 diffutils-stdio.in.patch diff --git a/diffutils-stdio.in.patch b/diffutils-stdio.in.patch new file mode 100644 index 0000000..117ade4 --- /dev/null +++ b/diffutils-stdio.in.patch @@ -0,0 +1,19 @@ +Index: diffutils-3.2/lib/stdio.in.h +=================================================================== +--- diffutils-3.2.orig/lib/stdio.in.h ++++ diffutils-3.2/lib/stdio.in.h +@@ -693,12 +693,14 @@ _GL_CXXALIAS_RPL (gets, char *, (char *s + _GL_CXXALIAS_SYS (gets, char *, (char *s)); + # undef gets + # endif ++#if HAVE_RAW_DECL_GETS + _GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif ++#endif + + + #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ diff --git a/diffutils.changes b/diffutils.changes index 5d53538..4c8deff 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 17 19:04:29 UTC 2012 - aj@suse.de + +- Fix build with missing gets declaration (glibc 2.16) + ------------------------------------------------------------------- Mon Feb 27 16:22:01 CET 2012 - jslaby@suse.de diff --git a/diffutils.spec b/diffutils.spec index 8f610ef..2a27564 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -15,6 +15,7 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: diffutils Url: http://www.gnu.org/software/diffutils/ Provides: diff @@ -26,6 +27,7 @@ Summary: GNU diff Utilities License: GFDL-1.2 ; GPL-3.0+ Group: Productivity/Text/Utilities Source: %{name}-%{version}.tar.xz +Patch1: diffutils-stdio.in.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: xz @@ -35,6 +37,7 @@ make source code patches, for instance. %prep %setup -q +%patch1 -p1 %build %configure From 565ad4ed38c4f22d9886d2fb8c93ae22fa02869a5094a40b1b39354c75786fa6 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Mon, 4 Feb 2013 18:03:15 +0000 Subject: [PATCH 15/24] Accepting request 150871 from Base:System - Update config.guess/sub for aarch64 OBS-URL: https://build.opensuse.org/request/show/150871 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=23 --- config-guess-sub-update.patch | 535 ++++++++++++++++++++++++++++++++++ diffutils.changes | 5 + diffutils.spec | 6 +- 3 files changed, 544 insertions(+), 2 deletions(-) create mode 100644 config-guess-sub-update.patch diff --git a/config-guess-sub-update.patch b/config-guess-sub-update.patch new file mode 100644 index 0000000..94902c2 --- /dev/null +++ b/config-guess-sub-update.patch @@ -0,0 +1,535 @@ +Index: build-aux/config.guess +=================================================================== +--- build-aux/config.guess.orig ++++ build-aux/config.guess +@@ -2,13 +2,13 @@ + # Attempt to guess a canonical system name. + # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, + # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +-# 2011 Free Software Foundation, Inc. ++# 2011, 2012, 2013 Free Software Foundation, Inc. + +-timestamp='2011-08-20' ++timestamp='2012-12-30' + + # This file 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 ++# the Free Software Foundation; either version 3 of the License, or + # (at your option) any later version. + # + # This program is distributed in the hope that it will be useful, but +@@ -17,26 +17,22 @@ timestamp='2011-08-20' + # 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., 51 Franklin Street - Fifth Floor, Boston, MA +-# 02110-1301, USA. ++# along with this program; if not, see . + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a + # configuration script generated by Autoconf, you may include it under +-# the same distribution terms that you use for the rest of that program. +- +- +-# Originally written by Per Bothner. Please send patches (context +-# diff format) to and include a ChangeLog +-# entry. ++# the same distribution terms that you use for the rest of that ++# program. This Exception is an additional permission under section 7 ++# of the GNU General Public License, version 3 ("GPLv3"). + # +-# This script attempts to guess a canonical system name similar to +-# config.sub. If it succeeds, it prints the system name on stdout, and +-# exits with 0. Otherwise, it exits with 1. ++# Originally written by Per Bothner. + # + # You can get the latest version of this script from: + # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD ++# ++# Please send patches with a ChangeLog entry to config-patches@gnu.org. ++ + + me=`echo "$0" | sed -e 's,.*/,,'` + +@@ -57,8 +53,8 @@ GNU config.guess ($timestamp) + + Originally written by Per Bothner. + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free +-Software Foundation, Inc. ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, ++2012, 2013 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +@@ -145,7 +141,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` | + case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or +- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, ++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward +@@ -202,6 +198,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; ++ *:Bitrig:*:*) ++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` ++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} ++ exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} +@@ -304,7 +304,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; +- arm:riscos:*:*|arm:RISCOS:*:*) ++ arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) +@@ -803,9 +803,15 @@ EOF + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; ++ *:MINGW64*:*) ++ echo ${UNAME_MACHINE}-pc-mingw64 ++ exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; ++ i*:MSYS*:*) ++ echo ${UNAME_MACHINE}-pc-msys ++ exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 +@@ -860,6 +866,13 @@ EOF + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; ++ aarch64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; +@@ -894,13 +907,16 @@ EOF + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) +- echo cris-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) +- echo crisv32-axis-linux-gnu ++ echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) +- echo frv-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; ++ hexagon:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu +@@ -942,7 +958,7 @@ EOF + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) +- echo or32-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu +@@ -983,7 +999,7 @@ EOF + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) +- echo x86_64-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu +@@ -1190,6 +1206,9 @@ EOF + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; ++ x86_64:Haiku:*:*) ++ echo x86_64-unknown-haiku ++ exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; +@@ -1245,7 +1264,7 @@ EOF + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; +- NSE-?:NONSTOP_KERNEL:*:*) ++ NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) +@@ -1314,11 +1333,11 @@ EOF + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; ++ x86_64:VMkernel:*:*) ++ echo ${UNAME_MACHINE}-unknown-esx ++ exit ;; + esac + +-#echo '(No uname command or uname output not recognized.)' 1>&2 +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +- + eval $set_cc_for_build + cat >$dummy.c <. + # + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a + # configuration script generated by Autoconf, you may include it under +-# the same distribution terms that you use for the rest of that program. ++# the same distribution terms that you use for the rest of that ++# program. This Exception is an additional permission under section 7 ++# of the GNU General Public License, version 3 ("GPLv3"). + + +-# Please send patches to . Submit a context +-# diff and a properly formatted GNU ChangeLog entry. ++# Please send patches with a ChangeLog entry to config-patches@gnu.org. + # + # Configuration subroutine to validate and canonicalize a configuration type. + # Supply the specified configuration type as an argument. +@@ -76,8 +71,8 @@ version="\ + GNU config.sub ($timestamp) + + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free +-Software Foundation, Inc. ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, ++2012, 2013 Free Software Foundation, Inc. + + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." +@@ -125,13 +120,17 @@ esac + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` + case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ +- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ ++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; ++ android-linux) ++ os=-linux-android ++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ++ ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] +@@ -154,7 +153,7 @@ case $os in + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ +- -apple | -axis | -knuth | -cray | -microblaze) ++ -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; +@@ -223,6 +222,12 @@ case $os in + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; ++ -lynx*178) ++ os=-lynxos178 ++ ;; ++ -lynx*5) ++ os=-lynxos5 ++ ;; + -lynx*) + os=-lynxos + ;; +@@ -247,22 +252,27 @@ case $basic_machine in + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ ++ | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ +- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ +- | be32 | be64 \ ++ | arc \ ++ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ ++ | avr | avr32 \ ++ | be32 | be64 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ ++ | epiphany \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ ++ | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ +- | maxq | mb | microblaze | mcore | mep | metag \ ++ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ +@@ -280,20 +290,21 @@ case $basic_machine in + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ ++ | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ +- | nios | nios2 \ ++ | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ + | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ +- | rx \ ++ | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ +@@ -317,8 +328,7 @@ case $basic_machine in + c6x) + basic_machine=tic6x-unknown + ;; +- m6811 | m68hc11 | m6812 | m68hc12 | picochip) +- # Motorola 68HC11/12. ++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; +@@ -331,7 +341,10 @@ case $basic_machine in + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; +- ++ xgate) ++ basic_machine=$basic_machine-unknown ++ os=-none ++ ;; + xscaleeb) + basic_machine=armeb-unknown + ;; +@@ -354,6 +367,7 @@ case $basic_machine in + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ ++ | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ +@@ -368,13 +382,15 @@ case $basic_machine in + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ ++ | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ +- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ ++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ ++ | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ +@@ -392,19 +408,20 @@ case $basic_machine in + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ ++ | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ +- | nios-* | nios2-* \ ++ | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ +- | romp-* | rs6000-* | rx-* \ ++ | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ +@@ -716,7 +733,6 @@ case $basic_machine in + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +-# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 +@@ -774,9 +790,13 @@ case $basic_machine in + basic_machine=ns32k-utek + os=-sysv + ;; +- microblaze) ++ microblaze*) + basic_machine=microblaze-xilinx + ;; ++ mingw64) ++ basic_machine=x86_64-pc ++ os=-mingw64 ++ ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 +@@ -813,6 +833,10 @@ case $basic_machine in + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; ++ msys) ++ basic_machine=i386-pc ++ os=-msys ++ ;; + mvs) + basic_machine=i370-ibm + os=-mvs +@@ -1001,7 +1025,11 @@ case $basic_machine in + basic_machine=i586-unknown + os=-pw32 + ;; +- rdos) ++ rdos | rdos64) ++ basic_machine=x86_64-pc ++ os=-rdos ++ ;; ++ rdos32) + basic_machine=i386-pc + os=-rdos + ;; +@@ -1328,21 +1356,21 @@ case $os in + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ +- | -sym* | -kopensolaris* \ ++ | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ +- | -openbsd* | -solidbsd* \ ++ | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ +- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ +- | -mingw32* | -linux-gnu* | -linux-android* \ +- | -linux-newlib* | -linux-uclibc* \ ++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ ++ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ ++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ +@@ -1474,9 +1502,6 @@ case $os in + -aros*) + os=-aros + ;; +- -kaos*) +- os=-kaos +- ;; + -zvmoe) + os=-zvmoe + ;; +@@ -1525,6 +1550,9 @@ case $basic_machine in + c4x-* | tic4x-*) + os=-coff + ;; ++ hexagon-*) ++ os=-elf ++ ;; + tic54x-*) + os=-coff + ;; +@@ -1552,9 +1580,6 @@ case $basic_machine in + ;; + m68000-sun) + os=-sunos3 +- # This also exists in the configure program, but was not the +- # default. +- # os=-sunos4 + ;; + m68*-cisco) + os=-aout diff --git a/diffutils.changes b/diffutils.changes index 4c8deff..db6fa07 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Feb 2 20:34:31 UTC 2013 - schwab@suse.de + +- Update config.guess/sub for aarch64 + ------------------------------------------------------------------- Tue Jul 17 19:04:29 UTC 2012 - aj@suse.de diff --git a/diffutils.spec b/diffutils.spec index 2a27564..98018d7 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # # spec file for package diffutils # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,10 +24,11 @@ PreReq: %{install_info_prereq} Version: 3.2 Release: 0 Summary: GNU diff Utilities -License: GFDL-1.2 ; GPL-3.0+ +License: GFDL-1.2 and GPL-3.0+ Group: Productivity/Text/Utilities Source: %{name}-%{version}.tar.xz Patch1: diffutils-stdio.in.patch +Patch2: config-guess-sub-update.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: xz @@ -38,6 +39,7 @@ make source code patches, for instance. %prep %setup -q %patch1 -p1 +%patch2 %build %configure From 89761c11ef0b481507fa888ad81fe058d2d394f5b608859f1c85bde251165147 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 2 Apr 2013 09:40:16 +0000 Subject: [PATCH 16/24] Accepting request 162043 from Base:System Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/162043 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=24 --- diffutils.changes | 6 ++++++ diffutils.spec | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/diffutils.changes b/diffutils.changes index db6fa07..d513dad 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Mar 25 14:33:40 UTC 2013 - mmeister@suse.com + +- Added url as source. + Please see http://en.opensuse.org/SourceUrls + ------------------------------------------------------------------- Sat Feb 2 20:34:31 UTC 2013 - schwab@suse.de diff --git a/diffutils.spec b/diffutils.spec index 98018d7..8aad42f 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -26,7 +26,7 @@ Release: 0 Summary: GNU diff Utilities License: GFDL-1.2 and GPL-3.0+ Group: Productivity/Text/Utilities -Source: %{name}-%{version}.tar.xz +Source: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Patch1: diffutils-stdio.in.patch Patch2: config-guess-sub-update.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build From 302a889f3861a1ff15e811956f5cc418c87c12bfa0e9b559fb9d4f750d6ec2c6 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Fri, 5 Apr 2013 11:04:41 +0000 Subject: [PATCH 17/24] Accepting request 162726 from Base:System update to 3.3 (forwarded request 162725 from jirislaby) OBS-URL: https://build.opensuse.org/request/show/162726 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=25 --- config-guess-sub-update.patch | 535 ---------------------------------- diffutils-3.2.tar.xz | 3 - diffutils-3.3.tar.xz | 3 + diffutils-stdio.in.patch | 19 -- diffutils.changes | 11 + diffutils.spec | 9 +- 6 files changed, 16 insertions(+), 564 deletions(-) delete mode 100644 config-guess-sub-update.patch delete mode 100644 diffutils-3.2.tar.xz create mode 100644 diffutils-3.3.tar.xz delete mode 100644 diffutils-stdio.in.patch diff --git a/config-guess-sub-update.patch b/config-guess-sub-update.patch deleted file mode 100644 index 94902c2..0000000 --- a/config-guess-sub-update.patch +++ /dev/null @@ -1,535 +0,0 @@ -Index: build-aux/config.guess -=================================================================== ---- build-aux/config.guess.orig -+++ build-aux/config.guess -@@ -2,13 +2,13 @@ - # Attempt to guess a canonical system name. - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, --# 2011 Free Software Foundation, Inc. -+# 2011, 2012, 2013 Free Software Foundation, Inc. - --timestamp='2011-08-20' -+timestamp='2012-12-30' - - # This file 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 -+# the Free Software Foundation; either version 3 of the License, or - # (at your option) any later version. - # - # This program is distributed in the hope that it will be useful, but -@@ -17,26 +17,22 @@ timestamp='2011-08-20' - # 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., 51 Franklin Street - Fifth Floor, Boston, MA --# 02110-1301, USA. -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a - # configuration script generated by Autoconf, you may include it under --# the same distribution terms that you use for the rest of that program. -- -- --# Originally written by Per Bothner. Please send patches (context --# diff format) to and include a ChangeLog --# entry. -+# the same distribution terms that you use for the rest of that -+# program. This Exception is an additional permission under section 7 -+# of the GNU General Public License, version 3 ("GPLv3"). - # --# This script attempts to guess a canonical system name similar to --# config.sub. If it succeeds, it prints the system name on stdout, and --# exits with 0. Otherwise, it exits with 1. -+# Originally written by Per Bothner. - # - # You can get the latest version of this script from: - # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -+# -+# Please send patches with a ChangeLog entry to config-patches@gnu.org. -+ - - me=`echo "$0" | sed -e 's,.*/,,'` - -@@ -57,8 +53,8 @@ GNU config.guess ($timestamp) - - Originally written by Per Bothner. - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, --2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free --Software Foundation, Inc. -+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, -+2012, 2013 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -145,7 +141,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` | - case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or -- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, -+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward -@@ -202,6 +198,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; -+ *:Bitrig:*:*) -+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` -+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} -+ exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} -@@ -304,7 +304,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; -- arm:riscos:*:*|arm:RISCOS:*:*) -+ arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) -@@ -803,9 +803,15 @@ EOF - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; -+ *:MINGW64*:*) -+ echo ${UNAME_MACHINE}-pc-mingw64 -+ exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; -+ i*:MSYS*:*) -+ echo ${UNAME_MACHINE}-pc-msys -+ exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 -@@ -860,6 +866,13 @@ EOF - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; -+ aarch64:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ aarch64_be:Linux:*:*) -+ UNAME_MACHINE=aarch64_be -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; -@@ -894,13 +907,16 @@ EOF - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) -- echo cris-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) -- echo crisv32-axis-linux-gnu -+ echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - frv:Linux:*:*) -- echo frv-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; -+ hexagon:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - LIBC=gnu -@@ -942,7 +958,7 @@ EOF - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) -- echo or32-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu -@@ -983,7 +999,7 @@ EOF - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) -- echo x86_64-unknown-linux-gnu -+ echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu -@@ -1190,6 +1206,9 @@ EOF - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; -+ x86_64:Haiku:*:*) -+ echo x86_64-unknown-haiku -+ exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; -@@ -1245,7 +1264,7 @@ EOF - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; -- NSE-?:NONSTOP_KERNEL:*:*) -+ NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) -@@ -1314,11 +1333,11 @@ EOF - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; -+ x86_64:VMkernel:*:*) -+ echo ${UNAME_MACHINE}-unknown-esx -+ exit ;; - esac - --#echo '(No uname command or uname output not recognized.)' 1>&2 --#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 -- - eval $set_cc_for_build - cat >$dummy.c <. - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a - # configuration script generated by Autoconf, you may include it under --# the same distribution terms that you use for the rest of that program. -+# the same distribution terms that you use for the rest of that -+# program. This Exception is an additional permission under section 7 -+# of the GNU General Public License, version 3 ("GPLv3"). - - --# Please send patches to . Submit a context --# diff and a properly formatted GNU ChangeLog entry. -+# Please send patches with a ChangeLog entry to config-patches@gnu.org. - # - # Configuration subroutine to validate and canonicalize a configuration type. - # Supply the specified configuration type as an argument. -@@ -76,8 +71,8 @@ version="\ - GNU config.sub ($timestamp) - - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, --2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free --Software Foundation, Inc. -+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, -+2012, 2013 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -125,13 +120,17 @@ esac - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ -- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ -+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; -+ android-linux) -+ os=-linux-android -+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown -+ ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] -@@ -154,7 +153,7 @@ case $os in - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -- -apple | -axis | -knuth | -cray | -microblaze) -+ -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; -@@ -223,6 +222,12 @@ case $os in - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; -+ -lynx*178) -+ os=-lynxos178 -+ ;; -+ -lynx*5) -+ os=-lynxos5 -+ ;; - -lynx*) - os=-lynxos - ;; -@@ -247,22 +252,27 @@ case $basic_machine in - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ -+ | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ -- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ -- | be32 | be64 \ -+ | arc \ -+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ -+ | avr | avr32 \ -+ | be32 | be64 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ -+ | epiphany \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ -+ | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ -- | maxq | mb | microblaze | mcore | mep | metag \ -+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ -@@ -280,20 +290,21 @@ case $basic_machine in - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ -+ | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ -- | nios | nios2 \ -+ | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ -- | rx \ -+ | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ -@@ -317,8 +328,7 @@ case $basic_machine in - c6x) - basic_machine=tic6x-unknown - ;; -- m6811 | m68hc11 | m6812 | m68hc12 | picochip) -- # Motorola 68HC11/12. -+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; -@@ -331,7 +341,10 @@ case $basic_machine in - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; -- -+ xgate) -+ basic_machine=$basic_machine-unknown -+ os=-none -+ ;; - xscaleeb) - basic_machine=armeb-unknown - ;; -@@ -354,6 +367,7 @@ case $basic_machine in - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ -+ | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ -@@ -368,13 +382,15 @@ case $basic_machine in - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ -+ | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ -- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ -+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ -+ | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ -@@ -392,19 +408,20 @@ case $basic_machine in - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ -+ | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ -- | nios-* | nios2-* \ -+ | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ -- | romp-* | rs6000-* | rx-* \ -+ | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ -@@ -716,7 +733,6 @@ case $basic_machine in - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; --# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 -@@ -774,9 +790,13 @@ case $basic_machine in - basic_machine=ns32k-utek - os=-sysv - ;; -- microblaze) -+ microblaze*) - basic_machine=microblaze-xilinx - ;; -+ mingw64) -+ basic_machine=x86_64-pc -+ os=-mingw64 -+ ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 -@@ -813,6 +833,10 @@ case $basic_machine in - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; -+ msys) -+ basic_machine=i386-pc -+ os=-msys -+ ;; - mvs) - basic_machine=i370-ibm - os=-mvs -@@ -1001,7 +1025,11 @@ case $basic_machine in - basic_machine=i586-unknown - os=-pw32 - ;; -- rdos) -+ rdos | rdos64) -+ basic_machine=x86_64-pc -+ os=-rdos -+ ;; -+ rdos32) - basic_machine=i386-pc - os=-rdos - ;; -@@ -1328,21 +1356,21 @@ case $os in - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ -- | -sym* | -kopensolaris* \ -+ | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ -- | -openbsd* | -solidbsd* \ -+ | -bitrig* | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ -- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -- | -mingw32* | -linux-gnu* | -linux-android* \ -- | -linux-newlib* | -linux-uclibc* \ -+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ -+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ -@@ -1474,9 +1502,6 @@ case $os in - -aros*) - os=-aros - ;; -- -kaos*) -- os=-kaos -- ;; - -zvmoe) - os=-zvmoe - ;; -@@ -1525,6 +1550,9 @@ case $basic_machine in - c4x-* | tic4x-*) - os=-coff - ;; -+ hexagon-*) -+ os=-elf -+ ;; - tic54x-*) - os=-coff - ;; -@@ -1552,9 +1580,6 @@ case $basic_machine in - ;; - m68000-sun) - os=-sunos3 -- # This also exists in the configure program, but was not the -- # default. -- # os=-sunos4 - ;; - m68*-cisco) - os=-aout diff --git a/diffutils-3.2.tar.xz b/diffutils-3.2.tar.xz deleted file mode 100644 index 16d2a39..0000000 --- a/diffutils-3.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ab4fb75d0ef35f3c8c9a148cd3526ba6f4db71d10467a041eb45006436079149 -size 1148036 diff --git a/diffutils-3.3.tar.xz b/diffutils-3.3.tar.xz new file mode 100644 index 0000000..a0e54a4 --- /dev/null +++ b/diffutils-3.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a25e89a8ab65fded1731e4186be1bb25cda967834b6df973599cdcd5abdfc19c +size 1197832 diff --git a/diffutils-stdio.in.patch b/diffutils-stdio.in.patch deleted file mode 100644 index 117ade4..0000000 --- a/diffutils-stdio.in.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: diffutils-3.2/lib/stdio.in.h -=================================================================== ---- diffutils-3.2.orig/lib/stdio.in.h -+++ diffutils-3.2/lib/stdio.in.h -@@ -693,12 +693,14 @@ _GL_CXXALIAS_RPL (gets, char *, (char *s - _GL_CXXALIAS_SYS (gets, char *, (char *s)); - # undef gets - # endif -+#if HAVE_RAW_DECL_GETS - _GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif -+#endif - - - #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ diff --git a/diffutils.changes b/diffutils.changes index d513dad..b9b3298 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Apr 5 08:01:12 UTC 2013 - jslaby@suse.com + +- Update to 3.3: + * add --no-dereference + * -N works with - (stdin) as input + * many fixes + * many cleanups (in docco too) +- remove: config-guess-sub-update.patch +- remove: diffutils-stdio.in.patch + ------------------------------------------------------------------- Mon Mar 25 14:33:40 UTC 2013 - mmeister@suse.com diff --git a/diffutils.spec b/diffutils.spec index 8aad42f..b51692e 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -21,14 +21,12 @@ Url: http://www.gnu.org/software/diffutils/ Provides: diff Obsoletes: diff PreReq: %{install_info_prereq} -Version: 3.2 +Version: 3.3 Release: 0 Summary: GNU diff Utilities License: GFDL-1.2 and GPL-3.0+ Group: Productivity/Text/Utilities Source: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz -Patch1: diffutils-stdio.in.patch -Patch2: config-guess-sub-update.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: xz @@ -38,8 +36,6 @@ make source code patches, for instance. %prep %setup -q -%patch1 -p1 -%patch2 %build %configure @@ -48,7 +44,6 @@ make %{?_smp_mflags} %install %makeinstall gzip -9 %{buildroot}%{_infodir}/%{name}.info -%find_lang %name %post %install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz @@ -56,7 +51,7 @@ gzip -9 %{buildroot}%{_infodir}/%{name}.info %postun %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz -%files -f %name.lang +%files %defattr(-,root,root) %doc AUTHORS COPYING NEWS README THANKS %{_bindir}/cmp From ba79eb0eacc114ea6948925da4af20b9609c4c3895b3215d340f8ebdfff2ddfa Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 25 Jun 2013 15:14:01 +0000 Subject: [PATCH 18/24] Accepting request 180823 from Base:System - disable gpg key checking to avoid build cycles. will be done by source service - add gpg key checking, keyring from savannah OBS-URL: https://build.opensuse.org/request/show/180823 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=26 --- diffutils-3.3.tar.xz.sig | 19 +++++++++++++++++++ diffutils.changes | 11 +++++++++++ diffutils.keyring | Bin 0 -> 35277 bytes diffutils.spec | 5 +++++ 4 files changed, 35 insertions(+) create mode 100644 diffutils-3.3.tar.xz.sig create mode 100644 diffutils.keyring diff --git a/diffutils-3.3.tar.xz.sig b/diffutils-3.3.tar.xz.sig new file mode 100644 index 0000000..7d990ff --- /dev/null +++ b/diffutils-3.3.tar.xz.sig @@ -0,0 +1,19 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.13 (GNU/Linux) + +iQJ8BAABCgBmBQJRT0IHXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxNTVEM0ZDNTAwQzgzNDQ4NkQxRUVBNjc3 +RkQ5RkNDQjAwMEJFRUVFAAoJEH/Z/MsAC+7uEJ0QAKLo6rArnNmg5XL/MTRQyzq4 +4FZgJiPsFnsB0Erd7WFlcLUho+w4R9IjgLdp8QoDwKvc8bnK19e4iJtdtgBEtwPj +IfjTslTTHA6OiUZvGOCh+5OFudMx00QUi0MRHE/zxbZzVui9TRGJzevdLT0xJnIF +vPwiz/cafUojIvWtABpsp+7hH8jadIkQYOBGdzG50fDl6ZudvUoNmnnWZ1+hqi3e +Q+Qu6xawe6LBvyR6ZeTdHVOJ+6pcDM4up65XZXJXQCB5Z7OBlcRB1mVHyHlh9HsE +Ycp2sukZkqrsB+746J9RQqWcMRSrper1rJv+oPsXqHW+rkWOKe+jI0TMo+sPhRmM +47YynCrBLsDgfovWwGHTJ5zds7mZdtqPhoE6Xgj1f7cel6n7kSsgIpXiSIiK/+yI +aBg6CMEl+VqHD8IQCZXkz/wVvzMyJQJF0hIWp/W7ynbYccdsnb/0gCkr13fgR50/ +iogjp9h07dMpt556ByfE2OVQcocjpnT+Nqws+n6RassWiD1+UNiF/6ND97D5m0pn +G9t/qLaxo+hkPM3OcoZ/Y8gP0O95gNZMHWWShDDX21nKx4Lo3ymOXY40n18T4WK2 +0eercgJNCepSAFwuenQn3NODQ/em2bNr54JscGeyn1h6sEqlNNrXz3ZgRfV7O9Y5 +9z0vaNoBjswNhlbaI/OF +=oSVM +-----END PGP SIGNATURE----- diff --git a/diffutils.changes b/diffutils.changes index b9b3298..f3f064c 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Jun 21 07:22:47 UTC 2013 - meissner@suse.com + +- disable gpg key checking to avoid build cycles. will be + done by source service + +------------------------------------------------------------------- +Fri Apr 5 11:22:33 UTC 2013 - meissner@suse.com + +- add gpg key checking, keyring from savannah + ------------------------------------------------------------------- Fri Apr 5 08:01:12 UTC 2013 - jslaby@suse.com diff --git a/diffutils.keyring b/diffutils.keyring new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..fbe58db51beea9cdb1ec361136eb241cf1c46e90f5712a40eb72f450e341601c GIT binary patch literal 35277 zcma%?Wl&vPo2@tQ?gV#tw;;jY-QC?Cf(Ho_oDBqbcMmSX-Ccvb-f&Kz?tG`Zy6!Ka ziW)W7T;sK8&Xo#^04@{YWCDT==mI0Y?f-mwnkKfxzjUsQgBtO)IZ^2xTQcjwL1`^C zV&!1T0}Rb@bTQzk5O7h*97hVBQjkEnoLZdfFWheS)MbKTpl{kQB$3iHyX;9LP|R$c z-2=dx=@q7`gkrr2Dcu$R7<*;@ELrfzFk%~sBs7cPf6Cj7C>6p%z1wVy<(h)TuMxPm zF(B8~3hNz(xW@5tfWSmf1>-{9J-r^#r7T5uBBpS%D7I^9zm05^uHC&;qx>0-muH}ZM7AV+1w{Oa zTJSSZF^ju@TJL9xN!zpREnYP#!QmGxQ~7w0bpay@sY1g5e33+PhxI5F?$@MCGlyxc zBl+*cXfaU^>cF34WOj&<+*r>Y%ngz+wh76J=UqmF>&xb{%Tx;A(7R$Y5&XDi8rG z0FDL%3ZQ}jeK!v12QUa2)KM@1BpeJh6c{KZ1~e!PEF3r{C>RJR0SG8o000&S`B(BG zqEU$-o8kwgR}y|sH%vk!{S93eqgHm;0IOvJ`SQ%i!DohbkRymOL|Zioqf9C-0WpgS zmvMi6=7WG<7wDMt;i7pO7uda&!w$jRZEAMZOY$g36Rr*;dUGbMvO5iKHQIR5K;;+bR=_oR@`?#8 z4VZh&na>s7K2ps-)H>RRDAbI@M_l*rqCVH4jOn&Ju3{CE4C?SWA*o+CG}2qD>BU-+29bnOPd)n0^kVWgY#*y;HL@8Q*?k z!P?@rq+L!@uxH6Ar z2vBVPpOjM&a@>h_2OqW#JzcIVKkg2O`ngd31xKkiVZFuGwYw(v6020l>r7};wMZ~c zmd@-O-f}|UwSX9ZV4s$PZ(q@7S(28$MPY36G28wyf$3fOsMfw#slox@uVCm!qb;x z=yy%QG|RNLA$XiUOXF=pQW_SuNWvB>h#Ky+CS3$XKze+y-P!ul?l?zD0W1?Ejrr69 zDi^pfP}Wv#1gl#3#RV@$`D!>&G$60ncR0A0>RvP&Y=Vm(ogcxUGA3ea3hKI6_E%0% zTO69#p%hKglQ^V1m&YK;umLc!+|8qKbup9~NX75?tyTk3wMKioKehD;b7L<&0NH;w z_zk|-Cm`cqzXF~`pg97iPssAlCNFhC1X+W9n1fDvFjToxi;#A+)US4%lfJzr=hMnh z4Sa1C;3`qqS(S{KqYDQ7=cg)G^-dY^HI{gqG;cQM`W#m*#$O#0`o1)Lt@{oigor2z z%f0=HWP4E6+98P^O&JAJLV1=6YA3N2qIadEu9?JQKSZx5O0z2x)>nL0&{RB_r6MlVww+J$Gm?zP)CDPtw{&{Md=Z_z7ie@^ zH_Lf)J0KK%?LZK7ok_q)d@A5#bmt zlzH92J+Zoa?u42B3F-Fn1Tj=%%j+x6%Pz{C5!$xih`L`+GGr!5C} z#bDCWIiy|@S1=Aa#vl!=9qPwU`)(18j|@$)G6(Z#|6dfCKU}{4*`vd>$VYtCd%gt-Qr#eW{;HK3{me{5_|QT;$_+PFDJ z66giXG_n*?vD;0vi9Em>gIx5$lU!SuFFiJAau2mrZ!eERlUDF@cRl}=^Tb*8H6^?) z)e#$#_52#xWDq#FAY)W)7Pz2$cdlh)sEus~1(whCBH&ys4?IS>oTUW_Wy(ktOLrfF z5PxiX>6ygM4vTShDgF8;U(ni^8vC_vs%&fOd!$|L7Fzbg!cY(xgw19mg0Iz8+GFcX zjNvaNZwSstEUiVzT*ePg^B+b+Qb7>F<>&qML7)LZU{>3dxptKAGHCE#&2}ygT&~FY z(W^0WLeBT5u{NyRoWk~4+nm&o7WM}pf5?VKsHrXTZ-9QSR`Bld0UTJMj#C%$G?8^R z#j?sP5~mP09ayHUq;w@JmGvKGuUoM%oVRb(%3qkOS%avk}!6{RO(3K{^ zs~QlNKTd19ON63ze7#}>RiertNrAh1eCmjr^nCI5mZd1G<>^0wEs@e)GV@c!HRVE} z3c$p_P>yn&TZ^m@+9K3{{6e4nUkrh znUkfdoryDpy_2~>1PIq(wVDJ1^nK@k*XsYXN<(3~L^4gPmRAcyy~(S5qh0yH;>Xn- zL^Jq21%lX{o_~}T%?sTle$MnDUzO{QHL$8HqF);%R!kl}b}zz$Z!R>sl;{-7|P67w`Q`I-xlZLncM3nl-mS}PP2bfwNto!h(WaGJ;Qn5ew<~=MJ&Q z_W`2$e_Z<@p*ypNa_g1j!!n__6-|0()f6Z_)oD6)|Fi-Whv;713px_#1=LccnA<_yQQ3V zAf`mymkO}#B~my_7tZ$L2iBbX97CylR0+T2Ie z?YX)}|GMZ^=={V3i?Hso_yi9oH}_L3f^X=YI>1EkPXnEMVl`rxO_|z?_bMxjQz{n| zGR)heseUj*tc0BWWGhcqjnn|gP9U5Lk_#?zY`KjB4)_9*HCZompU(5E^E+dn4A@~P zGuut4Rhn-w)kZDrF4m-2IjGuQ{!}zQ_l4*Qj+bdpkclcRhD+pr>5r9Ruw7F6r#T5) zp~_kz2A9j3tUX6q<<3D-?esEWr>SoLAbA+0ytkgxbs?~sYihH>`Y9$#lfb!sVav!GB%san%d}hF9@|*9sm6&AxD2}tgdG@S{xFpV}utsV+3TD?Bt(lW%$6! zpmX%$SMIwK-xOp0pY|j4 zFWg{nuJ#s|zIx~5^d^~#?yKD>c{{uX7*2I~w{FWY3y9|eiaDw`C=`5xhk?`fWZ2#6 zH965)F_(U2zXakG#UjGBas+!iC7jjAX)a^Saxv~GE?}TBe3wI(l%b~p%eR!5U?r(A zFcV|XJ-)m=a485jx(AqnfjG}=3VUB@YFYxA>bQiRT@uuVxfQleSgV+jZZLUAOZiC zn87hXp~3z&JPqK=n4W7^Pj+nqvY5H=A=5*#3wlfv;J9=$*}=A`#eOFqG`gKYji*F? z{q-;5IK9JPHV^jyCxJ;ETdBVXnIFArH;iL2Rw*?gJ2IABx2h?iS=Mi`YnE!KDoE12 z0gzpqw+3k!v+f`mu-L_NJll*+`NQKsbh_Sk0IzM;<#D^-+i!sEDZ?|CpAA$sV~woy zrJqz8@5ts<09kx<4voo`R~1$WFCy6s(HJfAw^{FP|L-S0M1}?o7C0F=!}TSS9AIMS z)lZ#?(ww%Xt|v$LUwqQjT-5n#O`MId)tXNNX2KkJj%A}3pRN472EYCS!8s#ygMV=J z66VhVf8Js+C|*}>#j?Rq38GT^oSOwVjV~_0 zATUpUHE2s$eNRGPFV)Dj7D+lah{XH!yiQ#pe5AQ?aNV&TynLmiGtFI@DwB-V)R8$% zTXH@svA;Nn7ct}$T{si^5=dTKv?MP@Rxo7yumMcY*C=VYS8j>9jag zbVZ?(O#ETyDPumeOQ3vRE#+I?sh%3cS2vw>ON7#j*2fm!isuEb^>49>Yn%ELfNO&T5oyuYI(hkLjUx2@*73?7&RI41 zOfwV+fU;kraa}*N*A)XV9J;!T=!H8NwP_Ygt}&LxL)~O-4iC^Wzcu!y$r^lw**{|m z8)R%$&}hK{+Sv8kToDh;kz%v%D9$}DZ#+kuGWpjvx5D9*Sk8ybgJb`WgWp~MyDLCH z{OftVBZQrSIWcA;$R8?Rlj z(XZ@HpZY#mVzw{-Mp-r7E?ab%o=nOzN8ANh-nlEo-=^<^FE|0D;q+7Ri0$j!x<`W* zQGBi#7P)eLkikY6R1p$=a^cf6%uf$t893=;+upuMG6^Fmp@kCpzY;EaP0PiQlY2Ao zaY*kxkVAZWnq4%aP5Gqt;Chql5Zi0J_#pKEP2!;t1h zNt+w1&IVGO9OX!%rRgE;tZ2~gsK58CAMWL_@h6tk7hzA-@yLJ7SjVEfI*F8V-%+YQ zteW-d-TDqms_}7_K;Z^R z(_3Apy)3IuLJ0EK0EyZ)-K!5K^Lrq<#dSZV^n0mIW>X%OHa$SZL2<3y04HK>?nVva zd`!IKk+v0+z^(Ed?$eV~IECh(29gtKpc9C>4>su0TZp*4l*wWfjx~8-Na5A?oxJ&} zT^5zm^^HBel*hodQ2;m-!}jT`LmN?$) z7xfZ03hDc98hyPNUVQuZiJNE4?)tLeqP;KDyXeKg*Cp`^+ijNB46oW8D|PxM(1kA< zlwYmGhh6#a{+Lk8(w0cp)YH_-($1WS&&twP(DuLnVz4uH`AxETes{;v05Z@Ij1Yg( zD+ml&7-%?%cXkE%8(#gMNwHj1Kyg6ced)jWJOY3_JR zNuzWSlj{mItgu!+J0BUCPDSk#N-i8*TG3q$im9u{o7k`X1j!}bYPj};|8UKHE-y2!5aT(t&z@(R5XwoNevZksy`2XK^^I;!t9$wc!mu%b4__BW7x#8v(= z|2 zb&Z26%d~6b4q9yZ4dk2Mh#?~7V^d##P7zD*yFnF*Gz#OIeg>qY;JLC>+szaDWEjy`SrN-K>gCAhLq*XS!OUL%SpxLzqiO%iv$0X+W z83YZXU6})`&-mxlp)gRe7aq~P%{X;RxD~!^`t?G8l||_H`QW!f8sFXVGPPDV%{r1Z zMFGgpQ37{zh;Pdr){Wny(i7eYhJ}&=WS4y}+4&Ja@dm|FG#UEA(VV_LjpTpIs|?nW z;=9fgRS%En+b5TvS^!Wge=6{c=F13Qt8`{TvjB74Zw0BN9>Rs=o=agrTyrLuf%@Ds2&fjtD+J zm150o@c?L8$ED4brd$#vUxI|C!kcstp!Y|*WtfqGOUP+3>a&=yWo+J}l`r3cT~{LI;!cr z(?j$DK)qc++9g=)-OLWv2e=JQHqC+TO#o0rpljI+duA4O<2ZbdK=Xjl=_xW?^q=uk zh6JJLT?b*MgvDc)LM}xWki}D>#FQReKF&^X@w3}kExO+7626Lpr4_V@9clu zf`uv(>}J<28W98ltrdwW6W#I5!Byy7VuGo^H;%Wt|DnV7lK!s4VRH^-P?UOZOa%aa zM2*mXTJK$@IHdG_yP8pq{*{&w$m0G5Wfx#dn~9y|E9P1wu3|^C*A@Ya_ZI+pcQf0` z>AO(da#ADg_fEvj7o<0jh$zned2e1LfYrIa)MNIA_g8Hf8PJ{tEA_89+EfR-di0Z> zl-pcxV696EUxpk4xNUKZw5MGfvee{D>y$BALJ*4)R6@RW}6DS4BjLl+=WlM4=Vp^Ymt=SHeyvG)98k6h!2 zkq&(A@(jBa)s;zSazs3%(Q+h)r7np2XxMWfa&$$mp1+d?+ybNrb30-u z(sQtAH7^(oDt$z4IKWEOx2fXhPSYvMtVdy0ch%=(_d{7G_R7n4X2GTW+^rF#eFx8J z4K>pd>g>?B4qml45g!KG_43^A$!0hlTHz=rsQX#K+TB)<^26-T6dItxsuTBlQ?_S;~1%2 zlAX7x8hz++5X1_R=_N+cgxJ=XwFf2=x!i1AzV5?Pw1d`iS?ZY?SZzUXxK};E+%0_v{+j&v@gWX39eH}8q0w~JKlRY3NrG+vOm;b$Y; zQdzVf(i^Im*Shy&^Uw2gKsmkZc&Y-;1KF2xv%mq_-Sf8kn?aX9EN(6|Bnm1i+-SNc z0NITaZ<*=Jghd&WNk2a0{kqCe>EV12E9BqE{(a*(Nax>$-0InC4&$IUte%kpm8>#G zY)!r1d{c;_sanv&C@GP%>kD#nZ$BfSvsGe^=~U6jvu{jQ+?(Lm3u@D-j^}}3r^{5u zW?!J)Q@l_;8K7mL@BB)2=CC3Jy9A<(P$8$V`1)Nq7{twqkriB|@8)_cJPMaS>WsH; zL%%s_HdoO}e1s}>@W|Ux_A%+_Dc%#JtJybBd6&D15c`WpxwER?&Unr5w#u}m49r<;Ow)MzbH z32GWBpHt~5ZnY^+A{KbuJLo;4zYSff{Y;!3FKwVPh_D3PG&bK37Q;8Zb=~0;5kE2`XmvY=Im!Cs@vC{JI_K*j@X3x zpj>&Nu`2G@xg(O=a$`?=NDJ|K_6qyla$K2(fWqyZ&QQ+o?@b>~pIrV5hre40PWiic zcihbmb-L*oZkyJC0D{~Zhs};zXvp-JI;tnggJ4V8Y+{=h}Y{xEP?>ylcnrr zS&^bYdDPh%BE=_d=J|VPYB(^hiy;unCqwf65e~dc7Vr9*59v!NmMBaOnt)7vveu;q zZcnqXS*!XU-MOAcl=aGh>`(|>!5R}WQ2GmaOX$vhfubaSN5V@+(T z76CweA%iZ5G({IFPBe<{jW5_ zr!4cXa|FS(htUDdS8MHUI@alc?23X-QQJ?Md6u&TykTtdM!8K#VZSHgQR&35mWxa&)^9gb zl%eLA#B=t4h9{?G;JeUS;2j-x@!Xm195UdWjk}bo5G*rJ{|VF!*B0Cs)XSO5w~twa zKIc?!F#c+Hb4zUe^!i~o1K(xl)%M)*aaOlRd~#QS8SX(Z9?3+pV6~Aex2|>RCwN_B zIX||b>R{*1jV;#bcDokUbw*>=Z6(yD8X=5+#K$h&D44b@vVyRceQ7WF0<|lPDGw%e zv9sHV8C*tYg#>1-nL>Q`ydAPdH-U2$Ze*y&z}%-E$ zPdGM3#5}k~@+{ZS*m4vxMw}{Fqy>dcdp5zN}Ath=$pwz=??TfE zCsUdUB+rCgNKa6iv7qCnM>`^D=RWBAl>;;eMJ)M`yJ8UFIgYN?yn(ZFW@9vEDFa;M z9ep}D_K~TAAHB8kzk2GNRORFJP+aN)7PZ0<)-s#HqCM2Ue3OpSeAL&(277E-tDl!* z9#G(zuRsRy@`1+ff8C4CN)Wy7r*F-psOuyx@ z!N*AT7}tgvrPNIDMd*A)Wo2JA2nD}zIkCObs#^QgXdW^^4J$!(3{s(m8GnoZ9O`(7 zuX}p|9gtj9*$a0h0eT{!PKtZ!m=Un!isUSDu1+?_M>rDwvNrlluM!Mwb;g_{jHQ{aJPWL)kp_kEc zYhT@L@^tO4m1`dJF+b+j!Qf04M1;>!X=oXS?|$^7lGD#~^5{7)o`kpNn3757M9k3l zKJLOH+{`wjQW`#k(~~(wbxj@8Vj|k2a}l|<>9kQNR!Xe}9rcb97)!$OjVSGQ!lJOU z5Q^Q3gOQ|Ji3oR~&5f|J0{z+?2<8sxGl|^O*>DHRF<6!RrAOTjzmQF=4u2`L`MCv& zn_mqDYq;R(TmC##rEWBgc#4Op3%}v?98g@ zG2Tq$Acko{<@N-eW7OfiydcsbqKD(=6SZA;SXaqk6K!ZD-Aeru^+!YSxav-6ly};y zf$Al=(QG*h1m-0!mFJ5;n~%W52noC3gC;;2cFN$PrEe+J-EiD|H-f8)4d?6ovAl9Ybd zlD&+biiTwl_DNwPh{C}RT|Oy2{85$@+T$h$gZI?R`%k$g1oEZFmd@8N|PbLeB@Zx2m+qDp9|_ z!=(~r-T}q--y^W3b_a=Uq zsPkGxcW8`n6AR2dxJc1_x%)~=$+(EaE(1gAI{i@be(FY&O&CD7oWvU_IvGwM)de{G zC`2{n^g;DOhlrwi&ly##Tg@tB@8z(E_DpKTPH9uwIXWAvmEdxdLwu;Rw@;h3>M{@! zJs31R`1{wkH950n#}}HTv3(fT{m-+kvs%+1%?tO^Yx_92)eIn(B~-Zr%9=GGGIbCa zSOdNudQNU|zUfOli`>gb#T2IHCk=V+GqUj0V%@V2!7XxYz6>?3rRnI}c*UIL=C4~; z`(*JH7DO|cifFQKPWv3)1VBcG7tkYd%2i3z`ucvPFp}R6Yi%f@eVl&wT23i`9+X~e zy@DF*+!4D~@rXMxBr;pSA2t5znWP^AT&8@+7VZqgWs_ZZ;r3J$`s7Q7seLP3>Db;P zAIJY`gsq(7f~@G49aZhtWdPJeGeAVWGvenP%p5VfYVmQmdqJ#9NhGBapWEJM0T5MxNO_x)# zjvj!lYO=&@}S9Ta0Y1)}cBMl(yc}sPk4cG+*RZ zM6G+|z0DwSCYEHf`CR-rnn~|XIQP(+mYw@&QTqx)_s3cmSBw-ugA*Mk@=#xSKMz~| z$Y|x3@No=f62)bhyP80;K8I}>upOPr%i_f$VGY&tTitWDPn-_IT!6~HJw+w^3*_wC zAX+1ROG57MrJV5S$D=A%k2wH?N3k2(5Gn zmC}P8Wriqn%WigbwRfN23_BeoxOy0=j8qx7W|@}39)e&<;4r^m$_3f$4jhwFKps2{ zsQ_eDz}Ngwdn?Vq+~jUT6C5P!-a=P%t>?lNhJ5F-S6r>>Is?rx{z>(k(sf5eCPz90 zqd-^9DA)TC8lXz_As;@|Ju*t8F)jQvj3Ee#&0k6Ef2GOR?0_tGdftWWUPDdG)EvfB z+qRU=J4pfnP;O`N2!=(jYIi1!k*h?dP zg@R=ws46$h0QF$NyBD8mkJafJFhjfBKh}e5+wtz!e`xYNKLF@Y3QkjEYkbmf zba+yj2yG51f|mvWE%&vm7=*ElJ+<(E>4}*R?D;-a{U=R6co+JICU3eyy_tZno%eQv zO3*_%Hy7WL;*@`iYvzy_<(-(yC!_)A#}Q2f;kk0FmL!a%ChjrNCK9Wq{Q-w=T&2{X zBmU(fC;hpPX&F{B7Oo|`xLJREcZ(C-qRl&WPR@_1x(=X8GMm}&Ym0{@9Zg?70=EgO zgqr7ZUF=-m0adkgo@u9h*Af_-q;owCJ}8RA$B?pAcZc#UB`2;HbG^1OfY^7pt}xE? znCKq(btpp$vjhQW+}hTJvQ%8OK}OqvRd)JG2K=(Cz5fVB^i10!k2RT`vZ{`7syZIT ztuZbt1>NfcMr}b0PD(BH#z~#v=dSCiI>mGf6sl?4dW{f)qE4VqRp1}5i_qcA`|kWh zlgaD=*(*wVM84uA$oezd;z-8BH7B9$c!2B(OIzQRxP<5MTqs?>dYVw3WrM#v@xO7* zzi4uKuA)`_F+8L|3pA6iKMaAmHgKo_66@AhS*x;ACDf9U)R zCo8)AzI#A~@-$YbJN+{iyS3q(anS#Uqx-kXNp(A1p>CN@NCp-qoNEJnZ9;?o)Dhx; z-=BYQvY-bbi@a-hi~{`Ae9kUDA+^Pjv++8{;BPEl5C}$mRj?=U@oJShAzuH29KQSy zoqyqEBM3nDSK=4rQ)?~kf+k#-Z1u{4W6eMz0MJ;AL>9&;;iG)$bgXMl>>Ak@I@R|c z;r;IW-#Gd4eL?@=WL_(zR~o$=zD6Q6%}&1>3cuj#iHFsl7Sl@!_jB|tP>Q}1-7#{m zMCvSKoJuF-mtfv8JPthwX>mi$#4%b%aD9tjtU>vt0Nu}Mxg?*f@6_nle6$ph9g670 zc>*(4e@WcNJK$8WUD}zQM59T{LT#CN)c%CYQ3NC}-;HL#0>2b>98uecrZ8vKdpH=9 zPn6@D{rD1DIwp3(_+YHsA*T;Hgps4GQD9PwDAGNa8W^XbFgO%Zah43%ncDQGPeY7V ze|02UxuoIJcJhJnK%jqGfx-IWCIQm^NF`%Lh@8leZ8|MNIx%d0Uj_j%;PMAn` z)->hq)IN9`x5(F^g#~HUqR907JQdc=Rf0r3iGNJfhm3Lh5knhJEu%`1*A;O0Q^%i7 zt~TugMrCPg%qe_?yW%_?EKEgtESXO#XJK&JM;$iZACm^MWM1Zd6AW;?YmkEunJYim--@B{OLz4M`O zRG+B)VP2llCf|9|KX{exP3YYn|D0Mdd<0}COX`=kJp;9TDB(q=25v0?ZNt`p?D5s} zU(uX`_+;=SPf2TuMS11(YX5||ulkNEd z+5Ki#U@1n4@Mhd~fo4MUPGB2%iU6SKRb~%zJNV)l{4PhUu|iTozvuBE&&vVj^Zva5 z;AAZr08qoqPm~V&JGvT80Na=5h;g$mjR!z>zI#w}g;Y3g@RNT23VuNCt7P}>pRG3s z8P>bdKR6ko92pRdIHCNsl)!RdE42Rug8JHFP-JC@IPL}uZ#L1rP_pF!2rq0^UMD=& zs>|Se|AV_!fKnawX0u-tU@uT>rOxZn*3r8ThWR*yv&l2g&Qe+BB^Qo&O9v<3Pl;Pb}!lvyrTvQZ9{`_Dq^wGRq3>rh_ROCZ5ZsF`fQg1#JaiMqdZSV`bpKMt+tkVBbO`9IUWr=8eqEf_W8c zwNN_`4{4a^!3G<^%ecP&!e+(zPNWB9C?sosmER=YH0t_x^@8%(<=YcviIV z`CA)|MmDFuEcs|l;{B2-FE@9+h4HfNCl@)okTZsO$(8MXg37I{RRO6^M0FxIs`~S- zd%4qZiS`0lew3 z1cQ$Z*(bf&nxgVObL~+M@P9jLvFFgZC%wH)Kym(Ko&Ung-C6*k{y-FQ?2T6sa?^tk zteBgJ57XuYAd6z*^RLjYz;4D)Z0&Xc=RywH`8!VjudBy0|H9iO5r9l|sr2v0W9F5t zN_iJs%SUrwgMi;noItvSTZ)}l=KYA5QUo&_#L3#@`)SXAV` z%q$y4^lWV@V7^y(S_D_{k@*e1f$q3te!#~|nU|IPIk3Y8#BGqjo4CKL9?u%zyO4gq z5Y?BN*);QUs5hCw&FTj&PJ%EIg=5z5%G|KSqD}eC&JLiZb3#a;x%Za0nHP#gX_O`w z0=(p=_@3*8W?zU}UPC_4Ks67U5zuQ|!pzL;O<_)FDWL4R8Db4{gP}Tiw@s!Y`hS#d zD-51dj8hjWjd zRKZ8ot0G==o0|J@UTigdgHHv)KwHeEvg<|RkQ#vsYg3zO(>Zjw@ucxN*dNTk;4Il< z4`04rQIf;{nZ5o++mEi00pZk13|=S*S1_0{5aqD&3FlsnPDEK`G0yl;UdLh?5jDL! zP41_eoqB#(t~sE%Df3u!>+BWqIjEjfR`BAR&!lyy$}&)9uKG{z%6@WEARhA$e7y2k zNPP@yBSPhq2H-pC@x2c=X@k&|?KcJR6}p{jfu1tHo#2<4qrp^Xa?E;^qAX$RA<}gR z!+enkoAiD7y9jVO>f&Hgl=g`3sluIxxCn5>?LOb@&UlsjU&x7<#EpUR*v>E_ptd?D z+~kLmaE(Etx3wqjudf(KSEpxU15rQIqsoN@{U0+6XVgC5p2}5^0?%`Q<{7IY7Yi73 z!}uc||GG5PxYRfrEA7)UmbY9^hiZPHFr@9ZF*{SklJ~FtobO zoKgEW+_epcJ3_M%G^)k%jxJDc=(I9n@DS6dT;T2vSAP2kJvd&CFZ7*^zQ5pvWMWE2)H6EO>3X9*ma5OauL>vxvJS-<|pzhYREz(;-fe>!H76OAA0p zCXDuS?$#{}<8c2G&Htk9eImbyCi3UB^PDr}JJLBV^I^g(D58P+-<>V$F!n4^1=zGO z=6&}%v%hUX-SC&rKal)CXgd}QARU4le94$$-Dr9|t>GXs2BzlRPwDrpz$dhzL05FP zB$8G38a*g|x7YuF(RTQ4q&E=^jR#=j#QNp7c};{dbov4T{kymGvR!3t1`)Bt*D$Pq5*mvfvz`GS=kGAckj_@$ z-kUQ!53HLqtfH!Cy0Hw}z$0hNTo01U@8=1vI+Vd257u+Zhs3BAx|#CEF;cX-4v9U<>sNGcQzm_+%BI$ zI2h_oLAxSwCh1#)t%EtaW8E6Vu7D=$c(u|^aK44u zqTptAHhpQHH}>L_PC_!o=b#7B3tk8x%v|;y>J-(!`UE$hn@Qt$tqtThJa{{d0SS$E z)M&Ynq~i;}EAHzpY7B{cUh9m6j3)qZRNa*?M8rdCzK9HVt&Q+PYmzZ1@&?`coUM9{ zSHNYA#VJS8#X(0(g)ab1!23Z)dSJ$ICY@U7DuM@-;68)iSMbgBd?v-UrC&_8Ayx>b zkDXxD9$HH^GC5EqgEDx*DfNd%e38Bm8tmM!_I_5~rNSB}&mKC*#J2x6vq`+I#Xk1N*k`CV-Kny+fwj#>O7 zIni{}$4s8~14|*)ER}8@ovIkn-dc}&$j^>t2>r2uW*yDR&dlM|Bfjc1L*ZnhWT>uc z>^SFWUjExr(yy*1bp-LPhV(|*}vEyD+nEw zctYw3R36{os1-TWyX^aUVg4S*Nq_c%;*V{yH{V7Tm3-! z{HvAPgj8~A)(WC0yHGI&ToYWIT@ZPotT|Yuo}TbW=Z6_YnbRi-?;kbt&LOWa=AM^f z`Y;y^%#WsDT5{TNxvx~<9d}(a%ggZHj^h2tJS0l$~<7}m&~*D^5}t4 z&zh&)ppwGIzQBjYeSpHQ;puS|%h^+Ja|njJLURI_pAkS^Z0oSc+u)#hSvQK^7%^O=P?+@T|}gh`i3bVOSrRn*k{d3{bv`^d*5K+GP+9gCj~W?c!)e8*R1Tm|Bo$p&MVC z@2wQ-1X5=j6nN7FueHo@tGZNG0eUB$vPC(k9`tGXpfvONW$VVlhn$CY+(u1f%Ym_DjS1Y-G-uqDzd|IE2%oePfYlr1e)Aqz2Lt zv}$&oMAb)ogzJ*`&V{@f|U8Kw!|?G z$WTsS7Y7^K`B|KoV_(gH{a1aC~D{d2Wx?4wodahiqM_j&zi+> z2&5$I)}tfbQSow6;w21I!PgAsipcC#<$Ai(y_^0Jr((%pujW6utZTPhuGyfMVGA}u%2Sded~T@?9v9c;YK?a^LhQN|M_1LIol@y z&~ukV6>B9_(1RCaQY7Auufchr>GuU#DvHdylvnz>5z2mmiEtm|`n_V%9eY>m+-}!tH$2Yv=AB%#AL2?rl~eIKhn?6$l0Xd_v8DI~;36{og z>i+TntL!bK;@Y;g-NM}^5Zv9}-Q7L7ySpa1ySqzpcXtTx?(PH#_K|h=Iy-xP_ndq0 zc@{sKG!5?w{A(5vkf5egZ5n(<@12gS^)BV~^mS1Hf%LB+nL8mcCT{K<+v7C?9 zx@2>wyXBgUY+oPY)_?<1rXwv!!->pX@0om3qgUte^F{mg`c;p2b ztPtycRf1?EtQ(bDiZH z9R;gd`2L4>+51~7_*=U)4g2u^(NtIzxvJdp?pt8oa=ww3`TM{0Zar0BRn_{44&Gq^ z-tCN;N%k_?3$E{=u<}n_Q$=8L@B|XEjaUvz|#1 z3Rx8@OfZ6jC01b34AVvwN2b#%8L9Y@A22RW{Jy==v-I7Ye!5EC0Ml-~ zu;C=&`JGuPLauo~F;C;jPAf6&xmG)%xlbs>G2CP9i3ZJKt4rUZki;TE>BVi4?r>?S z_BYMj+PWHT32JpsiSv*4u{(|fO~)y27FCe&l_Cam9yTHq+lGFL^odoftv!UI?wpC{ zpc#ws03hAh62$rg;l3?-Ykl=V8!R;Eu#NnDx!uFvbM9MdhLRWyBZ^QSu@_$|560kL zOib`%73K^fu5l|R#)G&3(I6+*&wWO6S7=9l&@jUHbXl4+Kn8K4oH}YOt)RCwuWhVf z2h36ApDO~-Lq{4-w97GL`aJlvxD?@%3^zY7xSa!KCYx;B~}eRP>qE%{Y;yINPv zFOG-;*bKsFaC_6W3lfg>u}x8GAV9>1+VVhWiv=d;g4seocVXNN&11`gNZ%5e_5kK} zfR~=J#SuH!n6@8$()sDZ;(!f1c$oBLbNw`O?Tp0&&02%oH9^O7+jMZ^mm|!PV^MwR zzW0m!U356)p88b5n+9 z5P!A*|1E8!LISd=7pQ7lJrS&3=RIC0jqCOGJ#57QIc-eSJR+a^LBoenvw=wPqWq1P zy8o<~S&6}azoEaSZHIP*cUP^o!vqSxp9qg<_hvD-5XUsKVB*H~YS*lpZbEhtrYKH| z_JX*F7F_efG6fBfXVA0lq^GLFWjGP7SgT5L!jhMaM$ky%Ihf5FcDrawmsR+_X^G1y z#Fqs46c(%_r<8dV%(OOA_b!NjS>1iECdkyt=3I*TYu@_JZz*rvq02%TF}a+{ZxKfe z4Y7ipGzD)o^r+=x*ojk&ZyozM2I%Ch{NF3QY2B0UYezv&91&o;&~z10 zDsPgIyjHJj2_3a_o}f zY1j3a1WT*VxHKw4cYkvVxBT^}B181?Z7p|zUzp>vZMc0<&d$%~#m|zrXMD)1GTe#! z2!|jXC=pz+0!8d*Q48&4n>3Wfc^V^7 zo2kxv<_li%OVh8YKt?KGIw^4U;txek{35+0;+P02`>?jv1cZQltztDJ1h zO1;NK=fn$6;)(u<^ACwUmKKmLlT=1T&bpewKI`xRee&IDov!8fBZ-&bqpkc(N+LZX zBERHzn~J@r%m0T&{`fmv|CY$zH2|-O{BhOm!963L_86P^8+YO0JgSpyav9fg#bo@& zv^-WHBD!-%ZpG{&455dMt!>dz)kcT8SE7Nct`t+5YfpFCpM5?5kjNJ%0hym$1a;>j zdBQA!-76#RLzyPU^nwA|re-K#Ix|;#u)GFd@x0 zQbw1>yfql z3q?7HbT421T+_LJkG6LVSqI_;BRw|eQ{}0Y$hg+l)(`U8e1_v&!=bumPK%P>tWzh~ z1>87~=puYq|GQ!O1bxqeobnW@JfQYyAINv$eKhHCnK8a3?J zO3GzzARLH%M-F7CIJbi82S&{%%?pUwr*s};Y<<_do1N{j`dr4bMNt8xd1_NA( zpBHxf*m^^P-_7cV_S)fL-E?aK13ZVS;qHb6A^aM{b%uBTM0gt^k#?PA6XuztKcYc% zXn^Csao*2`c+w_75pMuRiQr2lml&Xh?~sp2S=IPB^cK_HE_S3D>@@BFdYRmLydA4> zE*|wkxuFovfH-l(Pl<-h@6h;Uz*HcSo4Ji9lUFs3R-@)ooxpLL_t!nQ}HOzRk|Fg%Y+~#z((>O6# zbW*YD9B^P=Ey6AMT=NzOb`2=2Oh3t#j^)>UEg$T_Fron@Q6hQOz& ziG@Xk;^M{$)K=v=U!`a&wVIABP&!DMu>$$7rBja5$8P-;WcP4v$}~JtAZ{v7!!=pZ z5AI313;d}x-6qP{*7H?4RU2#cd$eKXu4|!2EqvOH<(Jp61;|R=Uv;hDvY=rqZnO3wZF|enr#7WhonGcjUkyuAVODR*0J80t2n@;R!>!SmN!TBAJLSJd zkRJUN=l@Y6zb^f__%iFHYrr;7W>sYN##^5#o>4G81Y|2{U>2$}WottsM##3FW9o@5 zX|n&myTlhh*&!C3@VpBYXpu)}CBWk@C7EzP zVTvk2O^RIFMIpv3)x5CD@Ej(EPxw6h6*&7-I-jK?7bA+KG?z_xjbrTfLG@gde_LE*Vv)Bxz8B_UQN?`r)rQGf?W$;2fQ6Y+7k) z2}!Q`6ium-R5z&ah6;h5#J%8hAp z`1_57?l!+JIj)Iyx4HnCrTr|((2WOK^d1!FCM5p?YiTDS1nE4*G#x#ae7LMf`F$^) z_ce*`%bU1J1e2fK_|EkqcQ zedk(pR!&7jDy8U$q@PB0-&ULtH5`Y2w)fs?rS|T>6m*hA56LN>CuRASj_qtrA!u@m zx(d;Y>@xEm%R{~MEZ0qbhyH4C(daeWH9jSmhvGowmYS6D^9V=y2IGPP43I@}{MOH@ zuv^b!FTd%q%`qx#WtdhP7Uys9Pp>`Mz&LvP%~EwGUO%y*^?I=p$00!k#w1`1TzvL;tMl{-J?tpnR-~+D`|LTNGsa!tch^DnAfctACz*D-Hzqa5`E)?W)X} zl=w1WUC^ZqrH*{1mA41QXh)+0ea78@o32i^*Zc8_oCYxlDLofrcAD;Wxxkss>$_)t z+^0?By)&Qpj#S};QDxX%G)*FKa}GSD>Qz6Toa<*<_m@^LIEfywp#s0GL>}jFrZQ*R zQw$aAZ>+Y+utg~)^~E7q0%Z8E=(Mrm%x0I&k)^DSAiImGwWBJ&v=FM@XED`;wC^@z z&|RGhBNvA$64gk>BxzQQ!%=FawC}KXlnrHUd!vjAQG_AWVmIP*zNeR;e#II>ur6

4_@-VA`kQCJH>Qs0!Pd`lu*Uc${(jW`w+?akI<=d<3e_A+LecvY$b z6T*!>j_~+KNdj3&^NlEfbH0E|%@WtDS0E}M3brFQT$PXV%cObSy|=ggO|(>mR>E{@)1gF zIaBs3!vkpZ8-N%S5&V2&lZ&Zg$t1ISkarU{Q9r`i zjkan5@)w2R!{~7?%QT*GcPQn|@2@DxnbV!_MgChJXUQU#V4oJfU`Jr!&z8xQf@320 zH&GlAo$JC`5kE`yeVw8SlXxIOrhBF20IkF%agzBAwKFkr({?7|(p1hLwD`dGdej!?qE8<{oh%acRZ)yC2xi$Fx`%f!(h|yoyksoLfkpBXK zd>}x;fTf0pEdFm&$nP({+ki^UyFeg6(NsWA#uOW2{Pi{@>#At<#L@2d-Ag4Ol zE~^Wo3O*_&loGl(7SGyB+5HdgPikna?{}cT?Xg{45brV<=sBv!GPcNKGz=6%3X`oo5XQj?jC6y9i59S9x0SCWt6ZB`2+$GjFX%%A?1G+EPrXpQtsM+ zsSJNZL@HGQIZ?mFE{Q8+&=lzSpiP$h=j>`%0s)!0l#i4|XytK2WLe$Z2#U=m0|ta2 zmubfwg_ndOP(&-LcBoNh;7){D zd+VSRS`17`NS;%qXMV9R$r5+tPJQ(nw@WHtX;i6K#ql0zvGRD|N%~MFf8z^bU`H`{NbmtzXV=XH6c%Npk~wC%rj-$qO-dq7mk5 zo2wPit;gM?YU+}@DdSR*T6{l3K4=ZpB9skkF}bqh6T6b5V-BPddO29&+5&Y&?4O>(F)yt6%)2b@t`uqa^AGCh$LG$>M@k= zCS=4WchspG=3b^ev+@r=U_%dc;ptgu@T?#-rU7TPtg^^8`N~*f9;CMumWiFY))|p+ zizh$A6S-qV1^@vAc{kk!fdn-zkS!YgY?qmGO7j4c4O|Bn17Ua*%qS6Jjee7W0||+W zp2wp-JO>KxWU=Yfd@$2J0PTizvm*uK+U_hJ3Ph;~Yd}0Rus-4mS}Rh0a%uxardpWx zlTFtEWX6!x`%-S7tjT@veyKn*^E_3*i@@C`Vv(&$K+fZwH280{*Kep7uv9?)`v=;q zi}^3C$lv)_3-cjo_xjmzsvXjc1VOfk(7@*Fgkv26vQ4_IfvIz!lG)4cB#lXiX8F&x z4O&3qK&1k5(Gd{=<@yD2iT?OTX$(m#NVD}`WhWppVbka43lM4e-%oE5Cte%_TMDk9>umZ2NgD< z?L?;8*Srn{D0cWw4?UB7}6Ux3fR)8@o5Fh;MKZmX*(FflMP>*XiC&Mp9 z*`&Jne?_waEktQ2c*mGSSl}T?x#d9)%u>QpLdNwonAy57-P8&wdMK`J09_=@HJqN? zw%QI)@44$awU}VBbiN8Tz@`|8pm*b%1180UHnaCR5(s-pc|FRj99%EYpEf~i&O5?V zLlbgMB(sT;HO+VRLHiEVs5u3WkKYWz@}%fU=ErzcR}_8p8STS1knZdJkvutG*A4lYfF>Ph2-hoyjN&xzbRbG2R;{Y{&0aC(jJL+ zIh8|9|449zcfkVQt^8JhylY0;5+H0Cv*jW(hQM+^-JW^euiYYF*4)bhWZ*PDmwNK8 zQ7}9M6rU9B;CX+_@@3FHJ7K-*^i8(gg}`A-1ymF?$TBC+nJ8P#pDPnSv0kFpJ9y@s z9z1T_YkzNDOzP|n(LzT9_pS8(>96Op2m_Yd`Cz|t+3>UIZk~y(=4n5ONDpw>QDcO} zZF}u%Z_l1&VjWborQ-&<7eY|9vo(y*8YwFn(9m8yf_1*ae_ker{kaDfQ*M`}daT&Q zTZM{CCW-^ttPSNQXahIs^BgA_&*Dt0`^qhp{#h`NTd8*cwYy;<;^DRHPhW&hNSBe` zC8#4b^EUgqX9$L)h^|KcMoyEs~GXooZ?5cSB>3@Y%o=1 z0SHgMF7eWAxx?v#&0_XeATs8lXO+0nDxb!#%)Un_gmk|rt)38LK|nsQsD+}}S^-9g zDjAlmb}Fk(A?2ATeHuR*m!nqyGUbXoytM-!p!aa6RD=i-6@($#DU87fG?%$O@wLpO z#lVfZuzOnpsz?ifkmN)xpYay29V-bemEwg)=y*Rj6=7p4CG~yfFt#Q_5BYatcInR!1u? z&eWT;s^$#YaRG45%D<`7QbQwFAIPifGj3}B5T_XMIbF(JA3{I!z4^BMJbKg3J}aIn zGpgdCb>-3kGm-u8igSZ00!$<6&oE%Ia;4=9NT=4SU!oO|0>zUB>?!uh@7H3$vKKpz zVPh-dIQ7rb;UBY}D2V01$_P286|Y6k{ZxOoXBa*J0_QNeV@;HV z;EO!C<}!y++>0g!f)3VsY(e|1SF`k)Vy-?tv2C^DxY4Ri!wF?KvtK5+^TC}{TwCgU zyJ#?8NBCsMUd;nE(=N;Pcr4!Wk7@|-TVyO%jwVtY;_VGHAp%xBkjko4%Xoe40d}0? zFH;ujNqiu9f%z62ZN=t3*P9XB|3%IFe<_SZf&Lqs2l9WHRDVPBKC0RKe?jy9E@%ri6lhjkE2`9+9_Zk=D{VP@hn$CT0~n5z<(%sO!; z`<&J7nmx^kUzPJ0=Yc%lGW9Ti*%PPfx(Sjm_}ad+L^dBn&~%P?uo3ef1fCeZx|3c2 zICHF_X4$x_i4gAR*$)SkFvwdIgFnkx>c`jgVWs1rX} zBsaOp*cJ@7TnBl_VB9RItR`xz@i_lccza$BUVk!SZhpSvs&imuwFfpUS*OsSKJM{H zy*D(b`)ATFyMCnS8U;c^YA@*&fq_|3cQ!$oV%;GiXKsoj+tSjE(OBM0;=4jEG$u7^ z>VFo-qQ47crN0Yf`Twyn4h8z}_Ef2%QPqz!@qe1YKQBa}489=rT|j?Vsfo#}F@J z2wgnum{C@#><+$nABY8aCzr)s`I(8ByIs0P7Z8l@;CF>sJsM{>B!&H~5t81C8+q+* z@EOkMcTlUAkX*_-W5RsW@k5@oOol0JUuQO1}a zT&G{w8-F2DNTtV^;97-`mrhIN&!o8wHRgkX->jQEYj%!(JBYxEn zQ16{9mS?e;HtfuOK*~a;Dhoyz?#|?yd&0O(vLN){AE#GnR;WJsq(DG`KaTgM_bmXT zq^N}G#}hyR@sA(C`zk;P00RjL4G94Q4FwGc3j>FQjf{kVfJBJ-85Ns?n2M5|n2d~u zk)Mr*o`;@{j9r?8M@U3mLY#_KPDNH!nO{s?X~b z<5WLznjlD^$OK>v0w{zE`u5nSBuF2R|K@W7fqp#n*8v2K1VX@o{1KT^A5=lm!2W#&0Q;NZi3EZK z-~$YdjAd_<;5;k(>ub14b2Q4zhm^JyqzYT&(w z`YNal9?bdUs2ckx#=f<8RTN%oe7d{w$qUH9LnS}*^%%x`3H|uzhti&3?!F2FukFaV zX4b)&j`Kffd}<3AO^=zoO3GdW9DX(wG*96utQ*HBbG)@@mlT|h|@K=hj`D&K4gPSJ03-_|Wwr`OdfIIs5p8om;;} zW|meu!u8Aj%wjwOUF|u80}i*Z{%RFgm_*vvLB~5F?UbDiYll7Ih!MOf43737Hyc;o zl`?L;3%+L7s5;X@;?Ssov5;@k_e3O|<>d?VaTTt?#=V2bWH1?CBQ>L+P1%fL*2;Dj z`k?g0TYYv(F^5v*vj##|f$A>sy7lMu-L2pv;8#Wq{a<}CGE8J69VfQ;MqTYL3LK7V zvl72zZVa3d@&q7avBThV-vR#2XUuh%N?A&L_oy2W^l#qzTq?(SV^2S=aM| zS4kpL-}~%eF;F7xl*Ri7cbVe3ohoJ6tS{;@B#s?*q( zpV<@(TXA%?+tk*v)nfHV!E5x*g2wo4D!<<$GnOf1_eYGfnkkw+5-L0$3nsG~CSwOPv%L-LS0~7XnZ0(JsXp$dE9X&NO^wxY zjnFZ|quOrYO_p=^#gDiRfqNeLqG+LdzoxyQ+_@EyJXrSDVLRh`+mgp}bG{-+hWsHj zAO5)ueSfv#VW*2)5KRtdCrwOwj!VwQcK~I?R8YJTvzxO>p{fK2E_OUVahwMUTFMMx zjJi=hYN>WKxCDZo`n3o*%P*TQW>)h+T)LEHb+-23d234?F*4w*O~4vpA5^$uB!}ZRyZRD(Kj3s=$Q_; zBQOi1#Fp7Jk8B@h-)+koz3YvW^4y?OU@nf*KmlcIGwAst11IkTs7NP868&heihO)fKku%N*y1prPz&_iTO}l~Zr&`mI<&|j7 zRe6Jp5dCQwnu%cX{kggQVGL5;!xKhNIz$OH$+u-$i2qZEPDH(SRB~ zIP)=HTB0H&@ldXAYaz8TmvIe~%N!@AB6zE!2l18Fnu&vIwK38-T^#KBECDn%^S%^s zewxo(W+Uo)g<<=5uC)HGx|47LDqY3>cpVBwVg%5Ie9w!-83Sx~N5!^#Au!U`V?B#K z>qNRuzE*|iro4GJJ;mz*^rzKXcu#chX&&(cGKjCCHFVn^j z9;eexQP_W38Wuw|(wlYCfX>hzPJJBArkGjgV+vJS#wuW*D#VtJJqI8|A74EZga=6x zt-c8M{m9k9O%nBm{Ah85!$&@bpP!;V40`5+$A~zpU7uVVFEns^86+8{U~LM zwn=3O^NHmhAQ_`qFY&$i$Juu?z&ufqpF2564qPGuS~f-j*&u?jJDlTQU`cwl-$a>` zvm$nGSF*CJ-)?Oc>5yGq8inL%esa3dO6x!a)o+9+xS7aDXUFNnkzAC~){VVg99=i1 zUADq$T)fsl3&rXvq>ASv+=jSeN3c2)+_odY68C~;9Cb@v=+s&>u|FnGhSUKG+8vVU7fGS)IgY*Nv!TTy@SQG{c+FZ-yI8lb?X&^Va82+QhnXa*baS4%i5Ry zus{bD&lBYwcdVXreSgYni)5oy;XG&uOE(ntZgo^!+lN0BxcEH8{V3>3aF1MosIO^a zBpoMAjJ6#pO{^`#QH59zwnz}2J!l&inEC{9Rsc>*(z0nUHKoqg=2qDbO>Gn-a#pPM zD|c{|{JdNlnqTu<>l(l-mhDH6i`vw~WiwVjb*1!tNi{+8Bz^@Zb zRf_nt1)Ae!2VWPRFp1P~!OqHt`RkKDt9qS-7}Oo;v2E3py7D9nX-^*0lKwIsStkeG z7@eEnDQj(|Sk9OH3PwFihH2yE;ht7l(xan5GHCRqzTdZv?%NyL#b#}?*z5!st(y5F zm)5-9svZG5U}kM=6vI*4>_!l*RDW|1p2!A22jmsckb^47wE)dUSrD7V85XE{T#Fw$ zRoA?7r7?506y0Yn=pZ-j)nK1q#Q7}tAZF=NWazY1DS`?%*-j7FDq`t-=T9t6SIee| z=&$^R50$(k2&5I>g{*ytlW@v82HK@&HzDdp`NAY%8{gUO8}TP1CZg@PsbpsG!6)YU zDcZ~~gt&d4GI$gEq|(a7wCI2)ybrf06P|psk~6Cu`eT(=l!Y+kaRVKqk)ffP^)5s8 z{CWlEv&?!K=RJw>SRzf#@@F}^Koy+T-6mVKAx|HAgtVB+h#NNo_x{*xDA}S;*3Ixz z1TnPG^$|nY7!SQ)9+tK0qI(=rx4}2su-IB5yVlI`_a>*VLDy!rdq~OXBlkEpTF7M5rL^G%B1iv4wb|Gg^i|t* zkL{r4<`b8aSctSy0$1xPm>5CCfL(M$m>|denNlNLyMtkHS(Lq%gL;^vt1Ept_Koae zn~WKN?d=HG@1;-XMzP!7N7N?1jFqJf)1Z=NPJeJW7|mNt(UnVSdxCc#>Y37=({h3= zp~aWvi+T72Vn!mc%Z*$fC%^Ny==Qw;zg;0Wo8@-R>-;AN?M4^#U6Gvv-wg^jqXIOh zw`;F2TeOPiv%F zMe)TWjt+Kbv#HBN_KZ*WU!s}reW=K&FvL%ZoHZq0n>Pr~Uar_0!_>xSxHj;Ak?Ywl zOBZQ;O&h!;toTKnrcR0nn-Q#{FfA#Q%17d!F{2jUaW39aX>U%9fSemM#6O&kdt-?c zd+PGNAx*dBqI`d+izsAUDa5e=0N?~pdI!|WuoY!TndJuqa_^H&T*T0An4YE0K%8!2 z8b^p~*K9s93_;OzGtWoP-HiQW?z2IsUMALyZa-*>S81m%h61aZ+tjkpr3tX+sTJmjyMyZ=l7Drlo@( z4;R8d#$NApg;=~6Jv;x_(#V6J46Xm*p4r60D>Yqna^}Vt3~S9t#V_d^+$=Ai+aldm z58opu!5yC&MlHiECu}QXdDW}a*L_u8Bm#j zEU`7m(`U3Q$~@QQ9T4s@?a170Ybj@PdPBviz-+^r-zCzFr-cSlQ)!;tdVW%PbGR47 zmrni^s3;B+a&^+!@3FRZ03?=2>{fA@i=h?hxQo2TTC;^7g@*w2c1>kIvHZ2iLIOse z>pKv?pZaHLEir64hI#mxMYaJ~%VaSkuKd9y1XO)T+BoA5swkf37ClQN`|p_(Ol~f9 z--9x~%LojqQK{0WKwYFm(SOh4iy;g%8$kCVz^Iu#YDf)tZrX~zkO8qnvzdtv8V=>T z5MTK0s%bN1h6UGK7>nj4;lbSxrE4|A;iT3qZa60 zX0?R9wEeOctIC-}Ldd~n{D8IG=t9u7OwaO)<5^60iYiuZxOg#bU`w=)#QZ7!O?9=C zFn8o=cV|54ApR0{51DmYP)SKbSG}}hgt7#|9i1Xd7B7ZlaQ3la5s6^)O3boRGmIup ze-h!MXuKFjE^y*r&MEbxFoyP0(V)o&Bu1ub$T&QTg4Rf<>G{eD0BbxUJKKmHCGd)%|>FJu8;xuM{?WV z;;nPB$;WPvOFV?hP&%u}%U$y*_}7**?b?gN3kj05=DAFtBu+`onBA+Z0;%jAz z29ry*@u0ESK8?zc+8~0JD9Pk_5Q<*03j8oBnar}Bk20|l70NQB!a!<7KOyQ=k@j+j zX%M&C#INKu84!5gRPJ$D*{x-96@8N|Uzs*cdTB?g6Z+vIF!@wS^+jV$;fDVmpm{X2 zKRn#lfllj-7$-jFQLcdzKe7%siei`S;;NU}1=iHWz9rSfRX~jIUcQWB!e&)!Gy=}V zB10r{r?impYk8R{j0k4M3TMFzTWG@+al8Lem#xKSch~%Y1$8PFRgqJ5+Liz_MpI82yq zI5Nhl3JAjrSy@HmkvUQfV{^MpnFge>-T|%N*|KC|o=oxJdfD)%^44IjSG5CZv z+hjSR)&@Tgx*))9PwR_1vH7Bv!vN6;gy!}R;}Z?x+kTNE^VA%Rtq4e;OlC=?H^d`q znt{^PXwfNlqJ}5@Sf9UoqH!PBWCx3!C8Ip7;qMBZxopwa%&70d$c5czKYHAlj6@d= zxQ@HoI@7V?&83nAX^!?L!ytQaf(YC!%MWkG4%0#$6XhpGRpILMb~d)WQS;3vk8Zom z150bB->0`u`m7>JwZgB15P_gD9q)X)Pp{E(VS8gYcZDe)^l4|;@g-NtURLFO-6VQT zj=rf7>Z@g_!Nf{0saA7Z`Ct;87N>lX?s6-DoUS#W_(A&)V0fKbVsl0_P{6(13E{XE zh*(nH>Kh($y~=lN|3#Xz>S28hZx%a1e9KZ(-~2?AA!phIKkQOfi+;e1ElGO>y3W~EQzNqs^@dSvtrVyd>ehQFbT1zIr9^A_Ub2ObVPn`VKkN6)Bb&mXJ zxO914YU6KGY$06IbaxUaL%400?|{A(*3q<1y{XoRtS1fL0sZGQ}H&VZ>fBLb_i*r6X%MxwGo&DgCyZ-Dzj8jWwRDjPd z7(;ZU*e*XCo5=Pu-sM*A#?9z;nQzT@iYxgJK-ensN}h;;j8-Umyl4$!NXG)voLYDU zqh@#AkUSi#!c_nAV|UkoMZ4;DuMrbO9RNVU4=n%^U`KByjvr#xPKwtAjuVXE7)Ie<7nYUya5}0EZ3udUNzT69nCcjv+DeY*KfbJ`TNL4XP zuw0p*Zmi-KhM~-dFu1t{bI}k@=SqxDPk^bfGiqd;;z$KIO;pHF(`s|ZCs!ef>CD;H zqCVbov9ZFiYD?@>i_t^|ES&5C&-~;H%E)MOi}=2}9rc1@zuo#py3^iSL2%8AeA{M@ zf(uhdDY=6LUO=Wo^=EVAS1nn{R+NVH2F#kXh`@Tl#LU@g9B(vpNZGm`jKsadSr2z9 z;K8fv7m;xLyZVA+kq*#LSrN8i*bO7MeeqtmX8fi0e&MP_3V0);~ z&C6~OFtY+fwsZlijyJ%VF6%oDGF@&;aUkKchh~4m;qLIO)t{kowH#^4JU>z=41stW zOJ!}vQ!vFipOJn-q@xO zTV_t&tim8SP8>IG<4-9;taTF$>EIwiOi*iL|Ja|w(OpGHRJVi7>@aUm+-mm*v2#DQ z(;ft7eqJ*{9G_LzmiBd^AZ{@12b!6tD+O`VufZuO0-RW8zc}$vH>TAvIA~w+f+op^ z2nJKKM$h~g;v~!pZ`xi?hK4>SN)rrPLxD}9R#AeNm;F;tguGh59uRTTFxu%;D6~6Q zMXLm{M#do~@r(?Nss@NA_lyLC1JVSrACw<16!BNS_vQcCaa_Xr|G4Amz5?-Xh+TzL zzzf}R+mBd*J|h=@yKi>ZzM>E}iXEoEBFuH0muWru5-$Sd%evM;P)%gRlRo{#!BBA##B-JPH zi+TLw#z7dmc zhR@{>YNQw+pnEPdp}t-%q!{=6YgR3LY>r%QCZ3>#Yo;gdATLnO&-Eb6%#2knhzlZ* z>e9BhCu@n+2FV z=}sPo zM3!p+Cr|@(Ohm&sJJN;D&T6QBr+|Drx26I8cllq-TFLuNy=D1d;H5br@1%_XxNYzU zZRod|bHwUjmXE)^1@)VdfK((=xcytlY&cyZOL+3RHtFlNmb14aZ`BrLjXDib^<(v- zEIPGym2Gxuh9aWWSmAKwMrI~QBX8UD#E+g!;3Ad`NPqZO#H`H@yXMM|en}-Lhvdi< zS7;MM0T@SGpSB97l&amqM)+cuQ3T+V1KCf%FoRl%RMkOT{oF#!3^aJfMR)|sClZ0( z#JElpx(I|kmllt|rv}1jb@8+Jp)byCE(}Q+kE$eMmF6RqslWdy#E+M0d$&)Bus^*v z$E8!N(>PIwi&~Hjyz=pbSr%EU?xuR%C$lFk^x^8R#KMghZk}k(OE*zJru!^n#j};U zDtV*uxQ12d1I|PL$ot!N&izhu{9!xKZ+UID%qWB3C@@^zcIN3EGb1@wc{2kl4`_uz zu3FBfuAc*48A;c8Hzxq}kJf%##XI9~s8zfY7{WJXs%72CQt%tl`l@qfQfV%t9=}QL z2@+>F48x>WE5(h6zS%;a@UTcyHjMS@`81`h?^_8WTxWCKJzYCXLwIn{PUA5OASW0m ztZJg5Wkj~wpEa<3b09l~AsG~q6ni&Fj(Q7H4reshgYF|?w~J5@I`KqrL5vEUJFGsl zs~{T#q|}zKDVI}mbskGNR{+}V@XjJ^sa1Gf#k7^jz1g(s6FKk;TjbDJYXekOHAs1c zP(;W!1srdyRIVZWW_9PTO&AnXIqteTJrBd~a=OAA?-y|f5i)IcXxLQIhw+_-x=mPn zn-7EI#0zt_yvn9;=hGXEB8<4`)fb)4!|^@b^YfP(DE-Hm1VK5o{DhyR;Aa=pW=6>! zv2Z<&2#e;qhHkl-4GyeVZN4<@s8UOlor&r5oK`h1rYv6+WPqW=@!*Soz1?f=b8W10 z0^^ElGJ`i)zqVDW%k73ECRqe^@k}t=v9t4Qy+`|KVf)`1>z>c!=6xF5XXI zz`y4a31P$QT-oR7xaUwxa1myS+a_KxdPT)=jURlb^#V?Lq5RLp1XActdcN|>=K^oy)U7EC6BlqqP5~?tprL0EX~$wf&wQdHd9VOSg5H|sEQcCx$XlSU zNDD>*R?!#Q2QpVHEbMN3FG(&06|eECd)zUAIbUXipA$BO3Odq Sj&(cyX44VW&Y(>K_J06@VgvsG literal 0 HcmV?d00001 diff --git a/diffutils.spec b/diffutils.spec index b51692e..52c3095 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -27,7 +27,12 @@ Summary: GNU diff Utilities License: GFDL-1.2 and GPL-3.0+ Group: Productivity/Text/Utilities Source: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz +Source1: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig +# http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=diffutils +Source2: %name.keyring BuildRoot: %{_tmppath}/%{name}-%{version}-build +# will be check by source service +#BuildRequires: gpg-offline BuildRequires: xz %description From 57a464c4af98cfa6902a48b931b1ea3713f646c2b7d0a1e70883002643354ab6 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 7 Dec 2013 06:43:40 +0000 Subject: [PATCH 19/24] Accepting request 209619 from Base:System MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run »make check« OBS-URL: https://build.opensuse.org/request/show/209619 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=28 --- diffutils.changes | 5 +++++ diffutils.spec | 3 +++ 2 files changed, 8 insertions(+) diff --git a/diffutils.changes b/diffutils.changes index f3f064c..f5e69b9 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Dec 6 13:28:07 CET 2013 - pth@suse.de + +- Diffutils has a testsuite so run it. + ------------------------------------------------------------------- Fri Jun 21 07:22:47 UTC 2013 - meissner@suse.com diff --git a/diffutils.spec b/diffutils.spec index 52c3095..4ba0bbb 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -46,6 +46,9 @@ make source code patches, for instance. %configure make %{?_smp_mflags} +%check +make check + %install %makeinstall gzip -9 %{buildroot}%{_infodir}/%{name}.info From 4e124ccf672af7e328cf64c8ff03d933328dea856cdcfb5637a34cf6f7121ff1 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 8 Jan 2015 22:01:00 +0000 Subject: [PATCH 20/24] Accepting request 267245 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/267245 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=30 --- diffutils.changes | 5 +++++ diffutils.spec | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/diffutils.changes b/diffutils.changes index f5e69b9..71a7dd1 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sat Jan 3 15:25:32 UTC 2015 - meissner@suse.com + +- build with PIE + ------------------------------------------------------------------- Fri Dec 6 13:28:07 CET 2013 - pth@suse.de diff --git a/diffutils.spec b/diffutils.spec index 4ba0bbb..78e0c90 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # # spec file for package diffutils # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -43,6 +43,8 @@ make source code patches, for instance. %setup -q %build +export CFLAGS="%optflags -fPIE" +export LDFLAGS="-pie" %configure make %{?_smp_mflags} From a7a5be9af016c6026d1cc86cf81854ee9311ac420d49f80d447c858d21af5279 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 21 Jul 2015 11:24:01 +0000 Subject: [PATCH 21/24] Accepting request 315201 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/315201 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=31 --- diffutils.changes | 5 +++++ diffutils.spec | 4 +++- gnulib-perl522.patch | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 gnulib-perl522.patch diff --git a/diffutils.changes b/diffutils.changes index 71a7dd1..f971e58 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Jul 6 10:13:58 UTC 2015 - coolo@suse.com + +- add gnulib-perl522.patch from gnulib upstream + ------------------------------------------------------------------- Sat Jan 3 15:25:32 UTC 2015 - meissner@suse.com diff --git a/diffutils.spec b/diffutils.spec index 78e0c90..cbeaf91 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # # spec file for package diffutils # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 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 @@ -30,6 +30,7 @@ Source: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Source1: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=diffutils Source2: %name.keyring +Patch0: gnulib-perl522.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # will be check by source service #BuildRequires: gpg-offline @@ -41,6 +42,7 @@ make source code patches, for instance. %prep %setup -q +%patch0 -p1 %build export CFLAGS="%optflags -fPIE" diff --git a/gnulib-perl522.patch b/gnulib-perl522.patch new file mode 100644 index 0000000..e15505b --- /dev/null +++ b/gnulib-perl522.patch @@ -0,0 +1,15 @@ +Subject: http://comments.gmane.org/gmane.comp.lib.gnulib.bugs/35272 + +Index: grep-2.21/build-aux/update-copyright +=================================================================== +--- grep-2.21.orig/build-aux/update-copyright ++++ grep-2.21/build-aux/update-copyright +@@ -124,7 +124,7 @@ use strict; + use warnings; + + my $copyright_re = 'Copyright'; +-my $circle_c_re = '(?:\([cC]\)|@copyright{}|©)'; ++my $circle_c_re = '(?:\([cC]\)|@copyright\{}|©)'; + my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; + $holder ||= 'Free Software Foundation, Inc.'; + my $prefix_max = 5; From 04b4dd1b58c49d3cdbc82313f74b28567a105e07148b9cdc7586e43e949b1094 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 11 Feb 2016 11:31:50 +0000 Subject: [PATCH 22/24] Accepting request 358265 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/358265 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=32 --- diffutils.changes | 8 ++++++++ diffutils.spec | 38 ++++++++++++++++++++------------------ 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/diffutils.changes b/diffutils.changes index f971e58..679dac6 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Feb 4 09:29:27 UTC 2016 - mpluskal@suse.com + +- Make building more verbose +- Move info page removal to preun +- Cleanup spec file with spec-cleaner +- Update provides/obsoletes + ------------------------------------------------------------------- Mon Jul 6 10:13:58 UTC 2015 - coolo@suse.com diff --git a/diffutils.spec b/diffutils.spec index cbeaf91..d64bc6e 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -1,7 +1,7 @@ # # spec file for package diffutils # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 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 @@ -17,24 +17,23 @@ Name: diffutils -Url: http://www.gnu.org/software/diffutils/ -Provides: diff -Obsoletes: diff -PreReq: %{install_info_prereq} Version: 3.3 Release: 0 Summary: GNU diff Utilities License: GFDL-1.2 and GPL-3.0+ Group: Productivity/Text/Utilities -Source: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz -Source1: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig +Url: https://www.gnu.org/software/diffutils/ +Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz +Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=diffutils -Source2: %name.keyring +Source2: %{name}.keyring Patch0: gnulib-perl522.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -# will be check by source service -#BuildRequires: gpg-offline BuildRequires: xz +Requires(pre): %{install_info_prereq} +Requires(preun): %{install_info_prereq} +Provides: diff = %{version} +Obsoletes: diff < %{version} +BuildRoot: %{_tmppath}/%{name}-%{version}-build %description The GNU diff utilities find differences between files. diff is used to @@ -45,22 +44,22 @@ make source code patches, for instance. %patch0 -p1 %build -export CFLAGS="%optflags -fPIE" +export CFLAGS="%{optflags} -fPIE" export LDFLAGS="-pie" %configure -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %check -make check +make %{?_smp_mflags} check %install -%makeinstall +make DESTDIR=%{buildroot} install %{?_smp_mflags} gzip -9 %{buildroot}%{_infodir}/%{name}.info %post %install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz -%postun +%preun %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %files @@ -70,7 +69,10 @@ gzip -9 %{buildroot}%{_infodir}/%{name}.info %{_bindir}/diff %{_bindir}/diff3 %{_bindir}/sdiff -%doc %{_infodir}/%{name}.info.gz -%doc %{_mandir}/man1/*.gz +%{_infodir}/diffutils.info.* +%{_mandir}/man1/cmp.1%{ext_man} +%{_mandir}/man1/diff.1%{ext_man} +%{_mandir}/man1/diff3.1%{ext_man} +%{_mandir}/man1/sdiff.1%{ext_man} %changelog From 14204cd925e045052787f5b6b29ef1dd9469f13ce553e14838c55da7cb4a6b16 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 21 Sep 2016 16:23:41 +0000 Subject: [PATCH 23/24] Accepting request 423927 from Base:System 1 OBS-URL: https://build.opensuse.org/request/show/423927 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=33 --- diffutils-3.3.tar.xz | 3 --- diffutils-3.3.tar.xz.sig | 19 ------------------- diffutils-3.5.tar.xz | 3 +++ diffutils-3.5.tar.xz.sig | 16 ++++++++++++++++ diffutils.changes | 21 +++++++++++++++++++++ diffutils.spec | 20 ++++++++++++-------- gnulib-perl522.patch | 15 --------------- 7 files changed, 52 insertions(+), 45 deletions(-) delete mode 100644 diffutils-3.3.tar.xz delete mode 100644 diffutils-3.3.tar.xz.sig create mode 100644 diffutils-3.5.tar.xz create mode 100644 diffutils-3.5.tar.xz.sig delete mode 100644 gnulib-perl522.patch diff --git a/diffutils-3.3.tar.xz b/diffutils-3.3.tar.xz deleted file mode 100644 index a0e54a4..0000000 --- a/diffutils-3.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a25e89a8ab65fded1731e4186be1bb25cda967834b6df973599cdcd5abdfc19c -size 1197832 diff --git a/diffutils-3.3.tar.xz.sig b/diffutils-3.3.tar.xz.sig deleted file mode 100644 index 7d990ff..0000000 --- a/diffutils-3.3.tar.xz.sig +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.13 (GNU/Linux) - -iQJ8BAABCgBmBQJRT0IHXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w -ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxNTVEM0ZDNTAwQzgzNDQ4NkQxRUVBNjc3 -RkQ5RkNDQjAwMEJFRUVFAAoJEH/Z/MsAC+7uEJ0QAKLo6rArnNmg5XL/MTRQyzq4 -4FZgJiPsFnsB0Erd7WFlcLUho+w4R9IjgLdp8QoDwKvc8bnK19e4iJtdtgBEtwPj -IfjTslTTHA6OiUZvGOCh+5OFudMx00QUi0MRHE/zxbZzVui9TRGJzevdLT0xJnIF -vPwiz/cafUojIvWtABpsp+7hH8jadIkQYOBGdzG50fDl6ZudvUoNmnnWZ1+hqi3e -Q+Qu6xawe6LBvyR6ZeTdHVOJ+6pcDM4up65XZXJXQCB5Z7OBlcRB1mVHyHlh9HsE -Ycp2sukZkqrsB+746J9RQqWcMRSrper1rJv+oPsXqHW+rkWOKe+jI0TMo+sPhRmM -47YynCrBLsDgfovWwGHTJ5zds7mZdtqPhoE6Xgj1f7cel6n7kSsgIpXiSIiK/+yI -aBg6CMEl+VqHD8IQCZXkz/wVvzMyJQJF0hIWp/W7ynbYccdsnb/0gCkr13fgR50/ -iogjp9h07dMpt556ByfE2OVQcocjpnT+Nqws+n6RassWiD1+UNiF/6ND97D5m0pn -G9t/qLaxo+hkPM3OcoZ/Y8gP0O95gNZMHWWShDDX21nKx4Lo3ymOXY40n18T4WK2 -0eercgJNCepSAFwuenQn3NODQ/em2bNr54JscGeyn1h6sEqlNNrXz3ZgRfV7O9Y5 -9z0vaNoBjswNhlbaI/OF -=oSVM ------END PGP SIGNATURE----- diff --git a/diffutils-3.5.tar.xz b/diffutils-3.5.tar.xz new file mode 100644 index 0000000..84acae2 --- /dev/null +++ b/diffutils-3.5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dad398ccd5b9faca6b0ab219a036453f62a602a56203ac659b43e889bec35533 +size 1360996 diff --git a/diffutils-3.5.tar.xz.sig b/diffutils-3.5.tar.xz.sig new file mode 100644 index 0000000..19ff48d --- /dev/null +++ b/diffutils-3.5.tar.xz.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABCgAGBQJXuT2mAAoJEH/Z/MsAC+7uECsP/0wVZOh74XKI0Y4XPxqhgKou +L/uFMgqpq2P9Uwr8jnJCr3xsKWCHYSYXOjmzbQ21wkqDWynT+NbLRcH4HLvO6vU3 +EWtoBor7UG0weTDanNfRBFjVLWsHsDWJj7VGMja9OAkXjpqo0f+iYHHIbJ+oKlIY +gzNqUdjGg8RpsvNapz4XuTsoUNDrTtVOy/k9xHUZCw/h1cZBVpaAU8MEE3MReab6 +pOn660BlVqT50vMd09FKRuTLktJ2LBFZ6x+xdPBJm5LFdUFqClbiNaNv+idhlvfB +GC8qjBr4WhuCtGpJKLFADTOZ8UOxcmx2sNz0ypiQrLT1UkTUtY3B0ADnzWuMEcwx +eaPNzdJhPExY64i7MA2vc2MxlRb7omj8kI+n0rBpiFKLMI3x3ZWf6Papg/acYbJg +0NHQkqdc82gH3vsp5DX/wNn+3TNwks9ziVt7Jervk7uQqWaDLrah3waBN3q5UWsk +HLAlkhb94Ahi+cNMk1oiNKqT+en3AhZ/7O6imKzTM8bTk27Ek7q3ThLfBeUKcp2O +j1aaPbaDGEL9pZZDCeuZCSdRZDGMY+spGNYRC4pmYCL9C2LsH5jtX5ob9gQsPHt3 +XFsi5l83i5N3amwzb2OdSTEwM0xgPX8TmcN435409gvz/VVmeSmx5jhHb9m8SLSk +SrDXEuf5yKX8J8HXVMgt +=e0eV +-----END PGP SIGNATURE----- diff --git a/diffutils.changes b/diffutils.changes index 679dac6..474f356 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Mon Aug 22 20:34:19 UTC 2016 - astieger@suse.com + +- Diffutils 3.5: + * diff3 no longer malfunctions due to use-after-free + [bug introduced in 3.4] + * diff --color no longer colorizes when TERM=dumb + +------------------------------------------------------------------- +Tue Aug 9 09:03:53 UTC 2016 - mpluskal@suse.com + +- Update to version 3.4 + * diff accepts two new options --color and --palette to generate + and configure colored output. --color takes an optional + argument specifying when to colorize a line: --color=always, + --color=auto, --color=never. --palette is used to configure + which colors are used. + * many bugfixes +- New -lang subpackage +- Drop no longer needed gnulib-perl522.patch + ------------------------------------------------------------------- Thu Feb 4 09:29:27 UTC 2016 - mpluskal@suse.com diff --git a/diffutils.spec b/diffutils.spec index d64bc6e..09ca69f 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -17,7 +17,7 @@ Name: diffutils -Version: 3.3 +Version: 3.5 Release: 0 Summary: GNU diff Utilities License: GFDL-1.2 and GPL-3.0+ @@ -27,10 +27,10 @@ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=diffutils Source2: %{name}.keyring -Patch0: gnulib-perl522.patch BuildRequires: xz Requires(pre): %{install_info_prereq} Requires(preun): %{install_info_prereq} +Recommends: %{name}-lang = %{version} Provides: diff = %{version} Obsoletes: diff < %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -39,9 +39,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build The GNU diff utilities find differences between files. diff is used to make source code patches, for instance. +%lang_package + %prep %setup -q -%patch0 -p1 %build export CFLAGS="%{optflags} -fPIE" @@ -53,14 +54,14 @@ make %{?_smp_mflags} V=1 make %{?_smp_mflags} check %install -make DESTDIR=%{buildroot} install %{?_smp_mflags} -gzip -9 %{buildroot}%{_infodir}/%{name}.info +%make_install +%find_lang %{name} %post -%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info} %preun -%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz +%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info} %files %defattr(-,root,root) @@ -69,10 +70,13 @@ gzip -9 %{buildroot}%{_infodir}/%{name}.info %{_bindir}/diff %{_bindir}/diff3 %{_bindir}/sdiff -%{_infodir}/diffutils.info.* +%{_infodir}/diffutils.info%{ext_info} %{_mandir}/man1/cmp.1%{ext_man} %{_mandir}/man1/diff.1%{ext_man} %{_mandir}/man1/diff3.1%{ext_man} %{_mandir}/man1/sdiff.1%{ext_man} +%files lang -f %{name}.lang +%defattr(-,root,root,-) + %changelog diff --git a/gnulib-perl522.patch b/gnulib-perl522.patch deleted file mode 100644 index e15505b..0000000 --- a/gnulib-perl522.patch +++ /dev/null @@ -1,15 +0,0 @@ -Subject: http://comments.gmane.org/gmane.comp.lib.gnulib.bugs/35272 - -Index: grep-2.21/build-aux/update-copyright -=================================================================== ---- grep-2.21.orig/build-aux/update-copyright -+++ grep-2.21/build-aux/update-copyright -@@ -124,7 +124,7 @@ use strict; - use warnings; - - my $copyright_re = 'Copyright'; --my $circle_c_re = '(?:\([cC]\)|@copyright{}|©)'; -+my $circle_c_re = '(?:\([cC]\)|@copyright\{}|©)'; - my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; - $holder ||= 'Free Software Foundation, Inc.'; - my $prefix_max = 5; From ae63bd375e204354e30d454ba3a8606a6105e00c5a6b42fbb26795473bdd6634 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Sat, 22 Oct 2016 09:35:21 +0000 Subject: [PATCH 24/24] Accepting request 436760 from openSUSE:Factory Revert to version 3.3 - boo#1003528 is too long-living OBS-URL: https://build.opensuse.org/request/show/436760 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/diffutils?expand=0&rev=34 --- diffutils-3.3.tar.xz | 3 +++ diffutils-3.3.tar.xz.sig | 19 +++++++++++++++++++ diffutils-3.5.tar.xz | 3 --- diffutils-3.5.tar.xz.sig | 16 ---------------- diffutils.changes | 21 --------------------- diffutils.spec | 20 ++++++++------------ gnulib-perl522.patch | 15 +++++++++++++++ 7 files changed, 45 insertions(+), 52 deletions(-) create mode 100644 diffutils-3.3.tar.xz create mode 100644 diffutils-3.3.tar.xz.sig delete mode 100644 diffutils-3.5.tar.xz delete mode 100644 diffutils-3.5.tar.xz.sig create mode 100644 gnulib-perl522.patch diff --git a/diffutils-3.3.tar.xz b/diffutils-3.3.tar.xz new file mode 100644 index 0000000..a0e54a4 --- /dev/null +++ b/diffutils-3.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a25e89a8ab65fded1731e4186be1bb25cda967834b6df973599cdcd5abdfc19c +size 1197832 diff --git a/diffutils-3.3.tar.xz.sig b/diffutils-3.3.tar.xz.sig new file mode 100644 index 0000000..7d990ff --- /dev/null +++ b/diffutils-3.3.tar.xz.sig @@ -0,0 +1,19 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.13 (GNU/Linux) + +iQJ8BAABCgBmBQJRT0IHXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxNTVEM0ZDNTAwQzgzNDQ4NkQxRUVBNjc3 +RkQ5RkNDQjAwMEJFRUVFAAoJEH/Z/MsAC+7uEJ0QAKLo6rArnNmg5XL/MTRQyzq4 +4FZgJiPsFnsB0Erd7WFlcLUho+w4R9IjgLdp8QoDwKvc8bnK19e4iJtdtgBEtwPj +IfjTslTTHA6OiUZvGOCh+5OFudMx00QUi0MRHE/zxbZzVui9TRGJzevdLT0xJnIF +vPwiz/cafUojIvWtABpsp+7hH8jadIkQYOBGdzG50fDl6ZudvUoNmnnWZ1+hqi3e +Q+Qu6xawe6LBvyR6ZeTdHVOJ+6pcDM4up65XZXJXQCB5Z7OBlcRB1mVHyHlh9HsE +Ycp2sukZkqrsB+746J9RQqWcMRSrper1rJv+oPsXqHW+rkWOKe+jI0TMo+sPhRmM +47YynCrBLsDgfovWwGHTJ5zds7mZdtqPhoE6Xgj1f7cel6n7kSsgIpXiSIiK/+yI +aBg6CMEl+VqHD8IQCZXkz/wVvzMyJQJF0hIWp/W7ynbYccdsnb/0gCkr13fgR50/ +iogjp9h07dMpt556ByfE2OVQcocjpnT+Nqws+n6RassWiD1+UNiF/6ND97D5m0pn +G9t/qLaxo+hkPM3OcoZ/Y8gP0O95gNZMHWWShDDX21nKx4Lo3ymOXY40n18T4WK2 +0eercgJNCepSAFwuenQn3NODQ/em2bNr54JscGeyn1h6sEqlNNrXz3ZgRfV7O9Y5 +9z0vaNoBjswNhlbaI/OF +=oSVM +-----END PGP SIGNATURE----- diff --git a/diffutils-3.5.tar.xz b/diffutils-3.5.tar.xz deleted file mode 100644 index 84acae2..0000000 --- a/diffutils-3.5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dad398ccd5b9faca6b0ab219a036453f62a602a56203ac659b43e889bec35533 -size 1360996 diff --git a/diffutils-3.5.tar.xz.sig b/diffutils-3.5.tar.xz.sig deleted file mode 100644 index 19ff48d..0000000 --- a/diffutils-3.5.tar.xz.sig +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIcBAABCgAGBQJXuT2mAAoJEH/Z/MsAC+7uECsP/0wVZOh74XKI0Y4XPxqhgKou -L/uFMgqpq2P9Uwr8jnJCr3xsKWCHYSYXOjmzbQ21wkqDWynT+NbLRcH4HLvO6vU3 -EWtoBor7UG0weTDanNfRBFjVLWsHsDWJj7VGMja9OAkXjpqo0f+iYHHIbJ+oKlIY -gzNqUdjGg8RpsvNapz4XuTsoUNDrTtVOy/k9xHUZCw/h1cZBVpaAU8MEE3MReab6 -pOn660BlVqT50vMd09FKRuTLktJ2LBFZ6x+xdPBJm5LFdUFqClbiNaNv+idhlvfB -GC8qjBr4WhuCtGpJKLFADTOZ8UOxcmx2sNz0ypiQrLT1UkTUtY3B0ADnzWuMEcwx -eaPNzdJhPExY64i7MA2vc2MxlRb7omj8kI+n0rBpiFKLMI3x3ZWf6Papg/acYbJg -0NHQkqdc82gH3vsp5DX/wNn+3TNwks9ziVt7Jervk7uQqWaDLrah3waBN3q5UWsk -HLAlkhb94Ahi+cNMk1oiNKqT+en3AhZ/7O6imKzTM8bTk27Ek7q3ThLfBeUKcp2O -j1aaPbaDGEL9pZZDCeuZCSdRZDGMY+spGNYRC4pmYCL9C2LsH5jtX5ob9gQsPHt3 -XFsi5l83i5N3amwzb2OdSTEwM0xgPX8TmcN435409gvz/VVmeSmx5jhHb9m8SLSk -SrDXEuf5yKX8J8HXVMgt -=e0eV ------END PGP SIGNATURE----- diff --git a/diffutils.changes b/diffutils.changes index 474f356..679dac6 100644 --- a/diffutils.changes +++ b/diffutils.changes @@ -1,24 +1,3 @@ -------------------------------------------------------------------- -Mon Aug 22 20:34:19 UTC 2016 - astieger@suse.com - -- Diffutils 3.5: - * diff3 no longer malfunctions due to use-after-free - [bug introduced in 3.4] - * diff --color no longer colorizes when TERM=dumb - -------------------------------------------------------------------- -Tue Aug 9 09:03:53 UTC 2016 - mpluskal@suse.com - -- Update to version 3.4 - * diff accepts two new options --color and --palette to generate - and configure colored output. --color takes an optional - argument specifying when to colorize a line: --color=always, - --color=auto, --color=never. --palette is used to configure - which colors are used. - * many bugfixes -- New -lang subpackage -- Drop no longer needed gnulib-perl522.patch - ------------------------------------------------------------------- Thu Feb 4 09:29:27 UTC 2016 - mpluskal@suse.com diff --git a/diffutils.spec b/diffutils.spec index 09ca69f..d64bc6e 100644 --- a/diffutils.spec +++ b/diffutils.spec @@ -17,7 +17,7 @@ Name: diffutils -Version: 3.5 +Version: 3.3 Release: 0 Summary: GNU diff Utilities License: GFDL-1.2 and GPL-3.0+ @@ -27,10 +27,10 @@ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig # http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=diffutils Source2: %{name}.keyring +Patch0: gnulib-perl522.patch BuildRequires: xz Requires(pre): %{install_info_prereq} Requires(preun): %{install_info_prereq} -Recommends: %{name}-lang = %{version} Provides: diff = %{version} Obsoletes: diff < %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -39,10 +39,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build The GNU diff utilities find differences between files. diff is used to make source code patches, for instance. -%lang_package - %prep %setup -q +%patch0 -p1 %build export CFLAGS="%{optflags} -fPIE" @@ -54,14 +53,14 @@ make %{?_smp_mflags} V=1 make %{?_smp_mflags} check %install -%make_install -%find_lang %{name} +make DESTDIR=%{buildroot} install %{?_smp_mflags} +gzip -9 %{buildroot}%{_infodir}/%{name}.info %post -%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info} +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %preun -%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info%{ext_info} +%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %files %defattr(-,root,root) @@ -70,13 +69,10 @@ make %{?_smp_mflags} check %{_bindir}/diff %{_bindir}/diff3 %{_bindir}/sdiff -%{_infodir}/diffutils.info%{ext_info} +%{_infodir}/diffutils.info.* %{_mandir}/man1/cmp.1%{ext_man} %{_mandir}/man1/diff.1%{ext_man} %{_mandir}/man1/diff3.1%{ext_man} %{_mandir}/man1/sdiff.1%{ext_man} -%files lang -f %{name}.lang -%defattr(-,root,root,-) - %changelog diff --git a/gnulib-perl522.patch b/gnulib-perl522.patch new file mode 100644 index 0000000..e15505b --- /dev/null +++ b/gnulib-perl522.patch @@ -0,0 +1,15 @@ +Subject: http://comments.gmane.org/gmane.comp.lib.gnulib.bugs/35272 + +Index: grep-2.21/build-aux/update-copyright +=================================================================== +--- grep-2.21.orig/build-aux/update-copyright ++++ grep-2.21/build-aux/update-copyright +@@ -124,7 +124,7 @@ use strict; + use warnings; + + my $copyright_re = 'Copyright'; +-my $circle_c_re = '(?:\([cC]\)|@copyright{}|©)'; ++my $circle_c_re = '(?:\([cC]\)|@copyright\{}|©)'; + my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; + $holder ||= 'Free Software Foundation, Inc.'; + my $prefix_max = 5;