Hello community,

here is the log from the commit of package fortune for openSUSE:Factory checked 
in at 2019-06-20 18:56:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fortune (Old)
 and      /work/SRC/openSUSE:Factory/.fortune.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fortune"

Thu Jun 20 18:56:40 2019 rev:25 rq:711053 version:2.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/fortune/fortune.changes  2019-06-19 
20:58:14.769972800 +0200
+++ /work/SRC/openSUSE:Factory/.fortune.new.4811/fortune.changes        
2019-06-20 18:56:40.904951151 +0200
@@ -1,0 +2,8 @@
+Thu Jun 20 09:52:41 UTC 2019 - Marketa Calabkova <[email protected]>
+
+- Update to version 2.8.0
+  * Add some quotes by amigojapan.
+  * Some improvements for spelling, punctuation and grammar.
+  * Extract a common C header.
+
+-------------------------------------------------------------------

Old:
----
  fortune-mod-2.6.2.tar.gz

New:
----
  fortune-mod-2.8.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fortune.spec ++++++
--- /var/tmp/diff_new_pack.VAb4dF/_old  2019-06-20 18:56:41.760952325 +0200
+++ /var/tmp/diff_new_pack.VAb4dF/_new  2019-06-20 18:56:41.760952325 +0200
@@ -19,14 +19,14 @@
 %define CookieDir share/fortune
 
 Name:           fortune
-Version:        2.6.2
+Version:        2.8.0
 Release:        0
 Summary:        Random Saying
-# fortune is alive!
 License:        BSD-3-Clause
 Group:          Amusements/Toys/Other
 URL:            ftp://sunsite.unc.edu/pub/Linux/games/amusements/fortune/
 Source:         
https://github.com/shlomif/fortune-mod/archive/fortune-mod-%{version}.tar.gz
+# This patch is not needed anymore, because recode is maintained again. If it 
was naughty, drop it and BuildRequire recode-devel instead.
 Patch0:         fortune-no-recode.patch
 Patch1:         fortune-no-games.patch
 BuildRequires:  cmake >= 3

++++++ fortune-mod-2.6.2.tar.gz -> fortune-mod-2.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortune-mod-fortune-mod-2.6.2/.appveyor.yml 
new/fortune-mod-fortune-mod-2.8.0/.appveyor.yml
--- old/fortune-mod-fortune-mod-2.6.2/.appveyor.yml     1970-01-01 
01:00:00.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/.appveyor.yml     2019-06-07 
20:18:06.000000000 +0200
@@ -0,0 +1,23 @@
+---
+# Shamelessly taken from 
https://github.com/plicease/Dist-Zilla-PluginBundle-Author-Plicease/blob/master/.appveyor.yml
+# Thanks!
+install:
+    - choco install strawberryperl
+    - SET 
PATH=C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;%PATH%
+    - perl -v
+    - if not exist C:\Perl5 mkdir C:\Perl5
+    - SET 
PATH=C:\msys64\bin;C:\Perl5\bin;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;%PATH%
+    - SET PERL5LIB=C:/Perl5/lib/perl5
+    - SET PERL_LOCAL_LIB_ROOT=C:/Perl5
+    - SET PERL_MB_OPT=--install_base C:/Perl5
+    - SET PERL_MM_OPT=INSTALL_BASE=C:/Perl5
+    - cpanm --notest Dir::Manifest Dist::Zilla Env::Path 
Games::Solitaire::Verify::Solution IO::All Inline Inline::C Perl::Tidy 
Pod::Coverage::TrustPod Pod::Weaver::Section::Support String::ShellQuote 
Test::Code::TidyAll Test::CPAN::Changes Test::Differences Test::EOL 
Test::Kwalitee Test::NoTabs Test::Pod Test::Pod::Coverage Test::RunValgrind 
Test::TrailingSpace Test::Trap
+build: off
+test_script:
+    - set CMAKE_MAKE_PROGRAM=C:\strawberry\c\bin\gmake.exe
+    # Removing for now because it is too much trouble on windows.
+    # - set FCS_TEST_BUILD=1
+    - perl CI-testing/continuous-integration-testing.pl --gen="MSYS Makefiles"
+# cache:
+#   - C:\Perl5
+shallow_clone: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortune-mod-fortune-mod-2.6.2/.travis.yml 
new/fortune-mod-fortune-mod-2.8.0/.travis.yml
--- old/fortune-mod-fortune-mod-2.6.2/.travis.yml       2018-12-19 
15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/.travis.yml       2019-06-07 
20:18:06.000000000 +0200
@@ -1,9 +1,24 @@
+addons:
+    apt:
+        packages:
+            - cmake
+            - cpanminus
+            - gcc
+            - libperl-dev
+            - librecode-dev
+            - perl
+            - make
+            - valgrind
 os: linux
 dist: xenial
 before_install:
-    - sudo apt-get update -qq
-    - sudo apt-get --no-install-recommends install -y cmake cpanminus gcc 
libperl-dev librecode-dev perl make valgrind
-    - sudo cpanm File::Find::Object IO::All List::Util Test::Differences 
Test::RunValgrind
+    - cpanm local::lib
+    - eval "$(perl -Mlocal::lib=$HOME/perl_modules)"
+    - cpanm Code::TidyAll::Plugin::Flake8 Code::TidyAll::Plugin::TestCount 
File::Find::Object List::Util Path::Tiny Perl::Critic Perl::Tidy 
Test::Code::TidyAll Test::Differences Test::RunValgrind
+install: []
+language: perl
 script:
+    - "export FORTUNE_TEST_TIDY=1"
     - "mkdir B && cd B && cmake ../fortune-mod && make && make check && cd .."
     - "rm -fr B"
+sudo: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/CI-testing/continuous-integration-testing.pl 
new/fortune-mod-fortune-mod-2.8.0/CI-testing/continuous-integration-testing.pl
--- 
old/fortune-mod-fortune-mod-2.6.2/CI-testing/continuous-integration-testing.pl  
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/fortune-mod-fortune-mod-2.8.0/CI-testing/continuous-integration-testing.pl  
    2019-06-07 20:18:06.000000000 +0200
@@ -0,0 +1,45 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use autodie;
+
+use Getopt::Long qw/GetOptions/;
+
+sub do_system
+{
+    my ($args) = @_;
+
+    my $cmd = $args->{cmd};
+    print "Running [@$cmd]";
+    if ( system(@$cmd) )
+    {
+        die "Running [@$cmd] failed!";
+    }
+}
+
+my $IS_WIN = ( $^O eq "MSWin32" );
+my $SEP    = $IS_WIN ? "\\" : '/';
+my $MAKE   = $IS_WIN ? 'gmake' : 'make';
+
+my $cmake_gen;
+GetOptions( 'gen=s' => \$cmake_gen, )
+    or die 'Wrong options';
+
+local $ENV{RUN_TESTS_VERBOSE} = 1;
+if ( defined $cmake_gen )
+{
+    $ENV{CMAKE_GEN} = $cmake_gen;
+}
+mkdir('B');
+chdir('B');
+do_system(
+    {
+        cmd => [
+            $^X, "..${SEP}scripts${SEP}Tatzer",
+            ( defined($cmake_gen) ? (qq#--gen="$cmake_gen"#) : () )
+        ]
+    }
+);
+do_system( { cmd => [$MAKE] } );
+do_system( { cmd => [ $^X, "..${SEP}fortune-mod${SEP}run-tests.pl", ] } );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortune-mod-fortune-mod-2.6.2/fortune-mod/.tidyallrc 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/.tidyallrc
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/.tidyallrc    1970-01-01 
01:00:00.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/.tidyallrc    2019-06-07 
20:18:06.000000000 +0200
@@ -0,0 +1,12 @@
+[PerlTidy]
+select = **/*.{pl,pm,t}
+argv = -ci=4 -bl -cti=0
+ignore =
+
+[PerlCritic]
+select = **/*.{pl,pm,t}
+ignore =
+
+[TestCount]
+select = **/*.t
+ignore =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/CMakeLists.txt 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/CMakeLists.txt
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/CMakeLists.txt        
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/CMakeLists.txt        
2019-06-07 20:18:06.000000000 +0200
@@ -122,6 +122,8 @@
     "sbin"
 )
 
+# Build but not install.
+ADD_EXECUTABLE("randstr" "util/randstr.c")
 my_exe(
     "unstr"
     "util/unstr.c"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortune-mod-fortune-mod-2.6.2/fortune-mod/ChangeLog 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/ChangeLog
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/ChangeLog     2018-12-19 
15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/ChangeLog     2019-06-07 
20:18:06.000000000 +0200
@@ -1,6 +1,16 @@
 (Note: this file has been re-arranged to be in reverse chronological
 order, which is The Right Thing for ChangeLogs - DLC)
 
+June 07, 2019 (fortune-mod 2.8.0)
+
+       Add some quotes by amigojapan.
+
+       Some improvements for spelling, punctuation and grammar.
+
+       Extract a common C header.
+
+       Add TidyAll tests.
+
 December 19, 2018 (fortune-mod 2.6.2)
 
        Fix the cmake files installation paths. See
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/computers 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/computers
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/computers    
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/computers    
2019-06-07 20:18:06.000000000 +0200
@@ -2296,7 +2296,7 @@
 %
 IOT trap -- core dumped
 %
-Is a computer language with goto's totally Wirth-less?
+Is a computer language with gotos totally Wirth-less?
 %
 Is it possible that software is not like anything else, that it is meant to
 be discarded:  that the whole point is to always see it as a soap bubble?
@@ -4925,7 +4925,7 @@
        Bowman hesitates.  "You aren't IBM compatible."
 [...]
        "The letters H, A, and L are alphabetically adjacent to the letters
-I, B, and M.  That is a sIBM compatible as I can be."
+I, B, and M.  That is as IBM compatible as I can be."
        "Not quite, HAL.  The engineers have figured out a kludge."
        "What kludge is that, Dave?"
        "I'm going to disconnect your brain."
@@ -5049,7 +5049,7 @@
 Whenever a system becomes completely defined, some damn fool discovers
 something which either abolishes the system or expands it beyond recognition.
 %
-Where a calculator on the ENIAC is equpped with 18,000 vacuum tubes and
+Where a calculator on the ENIAC is equipped with 18,000 vacuum tubes and
 weighs 30 tons, computers in the future may have only 1,000 vaccuum tubes
 and perhaps weigh 1 1/2 tons.
                -- Popular Mechanics, March 1949
@@ -5534,6 +5534,7 @@
 %
 I would trade all of my technology for an afternoon with Socrates.
                 -- Steve Jobs (1955-2011)
+%
 That's been one of my mantras - focus and simplicity. Simple can be harder than
 complex: You have to work hard to get your thinking clean to make it simple.
 But it's worth it in the end because once you get there, you can move
@@ -5600,3 +5601,8 @@
     -- Michael Rotolo
        ( https://is.gd/mSTRrv )
 %
+I often hear: "It is better in [insert newest version of Windows]."
+I have grown distrustful of this claim.
+        -- amigojapan
+        ( https://thewml.github.io/amigojapan-site/Self_quotes.html )
+%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/cookie 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/cookie
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/cookie       
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/cookie       
2019-06-07 20:18:06.000000000 +0200
@@ -5650,10 +5650,6 @@
 "It's when they say 2 + 2 = 5 that I begin to argue."
                -- Eric Pepke
 %
-Comparing information and knowledge is like asking whether the fatness of a
-pig is more or less green than the designated hitter rule."
-               -- David Guaspari
-%
 "None of our men are "experts."  We have most unfortunately found it necessary
 to get rid of a man as soon as he thinks himself an expert -- because no one
 ever considers himself expert if he really knows his job.  A man who knows a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/education 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/education
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/education    
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/education    
2019-06-07 20:18:06.000000000 +0200
@@ -187,7 +187,7 @@
                -- M. M. Johnston
 %
 Comparing information and knowledge is like asking whether the fatness
-of a pig is more or less green than the designated hitter rule."
+of a pig is more or less green than the designated hitter rule.
                -- David Guaspari
 %
 Dear Freshman,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/love 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/love
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/love 2018-12-19 
15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/love 2019-06-07 
20:18:06.000000000 +0200
@@ -294,7 +294,7 @@
                -- Ryan O'Neill, "What's Up Doc?"
 %
 Love tells us many things that are not so.
-               -- Krainian Proverb
+               -- Ukrainian Proverb
 %
 May your SO always know when you need a hug.
 %
@@ -553,7 +553,7 @@
        -- There's a disturbance in the Force.
        -- I'm doing door-to-door collecting for static cling.
        -- I'm teaching my ferret to yodel.
-               -- My crayons all melted together.
+       -- My crayons all melted together.
 %
 "Why must you tell me all your secrets when it's hard enough to love
 you knowing nothing?"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/miscellaneous 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/miscellaneous
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/miscellaneous        
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/miscellaneous        
2019-06-07 20:18:06.000000000 +0200
@@ -258,8 +258,8 @@
 %
 Dr. Jekyll had something to Hyde.
 %
-Dr. Livingston?
-Dr. Livingston I. Presume?
+Dr. Livingstone?
+Dr. Livingstone I. Presume?
 %
 Drawing on my fine command of language, I said nothing.
 %
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/riddles 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/riddles
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/riddles      
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/riddles      
2019-06-07 20:18:06.000000000 +0200
@@ -11,7 +11,7 @@
 Q:     What is the square root of 4b^2?
 %
 FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #21
-A:     Dr. Livingston I. Presume.
+A:     Dr. Livingstone I. Presume.
 Q:     What's Dr. Presume's full name?
 %
 FORTUNE PROVIDES QUESTIONS FOR THE GREAT ANSWERS: #31
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/science 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/science
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/science      
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/science      
2019-06-07 20:18:06.000000000 +0200
@@ -2677,7 +2677,7 @@
 Two is not equal to three, even for large values of two.
 %
 Two men are in a hot-air balloon.  Soon, they find themselves lost in a
-canyon somewhere.  One of the three men says, "I've got an idea.  We can
+canyon somewhere.  One of the two men says, "I've got an idea.  We can
 call for help in this canyon and the echo will carry our voices to the
 end of the canyon.  Someone's bound to hear us by then!"
        So he leans over the basket and screams out, "Helllloooooo!  Where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/wisdom 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/wisdom
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/datfiles/wisdom       
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/datfiles/wisdom       
2019-06-07 20:18:06.000000000 +0200
@@ -358,6 +358,10 @@
 Even the best of friends cannot attend each other's funeral.
                -- Kehlog Albran, "The Profit"
 %
+Even the most irrational people usually think they are logical thinkers.
+        -- amigojapan
+        ( https://thewml.github.io/amigojapan-site/Self_quotes.html )
+%
 Every man who has reached even his intellectual teens begins to suspect
 that life is no farce; that it is not genteel comedy even; that it flowers
 and fructifies on the contrary out of the profoundest tragic depths of the
@@ -1363,6 +1367,10 @@
 We can embody the truth, but we cannot know it.
                -- Yates
 %
+We have no choice but to live our lives as if we had free will.
+        -- amigojapan
+        ( https://thewml.github.io/amigojapan-site/Self_quotes.html )
+%
 We have nowhere else to go... this is all we have.
                -- Margaret Mead
 %
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/fortune/fortune.c 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/fortune/fortune.c
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/fortune/fortune.c     
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/fortune/fortune.c     
2019-06-07 20:18:06.000000000 +0200
@@ -98,23 +98,10 @@
 
 #define         PROGRAM_NAME            "fortune-mod"
 
-#include <stdbool.h>
-
-#include        <sys/types.h>
-#include        <sys/time.h>
-#include        <sys/param.h>
-#include        <sys/stat.h>
-#include        <netinet/in.h>
-
-#include        <time.h>
+#include "fortune-mod-common.h"
 #include        <dirent.h>
 #include        <fcntl.h>
 #include        <assert.h>
-#include        <unistd.h>
-#include        <stdio.h>
-#include        <ctype.h>
-#include        <stdlib.h>
-#include        <string.h>
 #include        <errno.h>
 #include        <locale.h>
 #include        <langinfo.h>
@@ -132,7 +119,6 @@
 #endif
 
 #include        "config.h"
-#include        "strfile.h"
 
 #define TRUE    1
 #define FALSE   0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/fortune/gen-fortune-man-page.pl 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/fortune/gen-fortune-man-page.pl
--- 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/fortune/gen-fortune-man-page.pl   
    2018-12-19 15:04:16.000000000 +0100
+++ 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/fortune/gen-fortune-man-page.pl   
    2019-06-07 20:18:06.000000000 +0200
@@ -11,25 +11,25 @@
 my $ocookiedir;
 my $no_offensive = 0;
 GetOptions(
-    '--cookiedir=s' => \$cookiedir,
-    '--ocookiedir=s' => \$ocookiedir,
+    '--cookiedir=s'        => \$cookiedir,
+    '--ocookiedir=s'       => \$ocookiedir,
     '--without-offensive!' => \$no_offensive,
-    '--output=s' => \$output_fn,
+    '--output=s'           => \$output_fn,
 ) or die "Wrong options - $!";
 
-if (!defined($output_fn))
+if ( !defined($output_fn) )
 {
     die "Please specify --output";
 }
 
-if (!defined($cookiedir))
+if ( !defined($cookiedir) )
 {
     die "Please specify cookiedir";
 }
 
-my $OFF = (!$no_offensive);
+my $OFF = ( !$no_offensive );
 
-if ($OFF and !defined($ocookiedir))
+if ( $OFF and !defined($ocookiedir) )
 {
     die "Please specify ocookiedir";
 }
@@ -98,9 +98,12 @@
 is run with no arguments it prints out a random epigram. Epigrams are
 END_OF_STRING
 
-$out->print($OFF ? "divided into several categories, where each category is 
sub\\-divided
+$out->print(
+    $OFF
+    ? "divided into several categories, where each category is sub\\-divided
 into those which are potentially offensive and those which are not."
-: "divided into several categories.");
+    : "divided into several categories."
+);
 
 $out->print(<<'END_OF_STRING');
 .SS Options
@@ -109,7 +112,9 @@
 .B -a
 END_OF_STRING
 
-$out->print($OFF ? <<'EOF'
+$out->print(
+    $OFF
+    ? <<'EOF'
 Choose from all lists of maxims, both offensive and not.  (See the
 .B -o
 option for more information on offensive fortunes.)
@@ -363,7 +368,9 @@
 files, some organized by format (poetry, definitions), and some by
 END_OF_STRING
 
-$out->print($OFF ? <<'EOF'
+$out->print(
+    $OFF
+    ? <<'EOF'
 content (religion, politics).  There are parallel files in the main
 directory and in the offensive files directory (e.g., fortunes/definitions and
 fortunes/off/definitions).  Not all the potentially offensive fortunes are in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/run-tests.pl 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/run-tests.pl
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/run-tests.pl  2018-12-19 
15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/run-tests.pl  2019-06-07 
20:18:06.000000000 +0200
@@ -13,7 +13,7 @@
     'src-dir=s' => \$src_dir,
 ) or die "could not parse options - $!";
 
-if (!defined $src_dir)
+if ( !defined $src_dir )
 {
     die "--src-dir was not defined";
 }
@@ -36,7 +36,7 @@
 # Cancelling because it's now part of the prove-based tests.
 if (0)
 {
-    do_system({cmd => [$^X , "$src_dir/tests/trailing-space-and-CRs.pl"]});
+    do_system( { cmd => [ $^X, "$src_dir/tests/trailing-space-and-CRs.pl" ] } 
);
 }
 
-do_system({cmd => ['prove', glob("$src_dir/tests/t/*.t")]});
+do_system( { cmd => [ 'prove', glob("$src_dir/tests/t/*.t") ] } );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/check-cookies.t 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/check-cookies.t
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/check-cookies.t       
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/check-cookies.t       
2019-06-07 20:18:06.000000000 +0200
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use IO::All qw/ io /;
+use Path::Tiny qw/ path /;
 use List::Util qw/ any /;
 
 use Test::More tests => 1;
@@ -11,21 +11,22 @@
 sub check_file
 {
     my ($fn) = @_;
-    my @l = io->file($fn)->utf8->chomp->getlines;
+    my @l = path($fn)->lines_utf8;
+    chomp @l;
 
-    if ($l[-1] ne '%')
+    if ( $l[-1] ne '%' )
     {
-        return  "Fortune cookie file does not end in a single %";
+        return "Fortune cookie file does not end in a single %";
     }
-    if (any { length($_) > 80 } @l)
+    if ( any { length($_) > 80 } @l )
     {
         return "Fortune cookie file contains a line longer than 78 characters";
     }
-    if (any { /\r/ } @l)
+    if ( any { /\r/ } @l )
     {
-        return "Fortune cookie file contains a CR"
+        return "Fortune cookie file contains a CR";
     }
-    if (any { /[ \t]\z/ } @l)
+    if ( any { /[ \t]\z/ } @l )
     {
         return "Fortune cookie file contains trailing whitespace";
     }
@@ -34,10 +35,10 @@
 
 sub mytest
 {
-    foreach my $cookie (split/ /, $ENV{COOKIES})
+    foreach my $cookie ( split / /, $ENV{COOKIES} )
     {
-        my $err = check_file( "$ENV{SRC_DIR}/datfiles/$cookie");
-        if ($err ne '')
+        my $err = check_file("$ENV{SRC_DIR}/datfiles/$cookie");
+        if ( $err ne '' )
         {
             fail("$cookie failed - $err.");
             return;
@@ -46,5 +47,5 @@
     pass("All are ok.");
 }
 
+# TEST
 mytest();
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/test-fortune-m.t 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/test-fortune-m.t
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/test-fortune-m.t      
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/test-fortune-m.t      
2019-06-07 20:18:06.000000000 +0200
@@ -7,6 +7,7 @@
 use Cwd qw/getcwd/;
 
 use Test::More tests => 1;
+
 sub do_system
 {
     my ($args) = @_;
@@ -20,19 +21,24 @@
 }
 
 {
-    my $cwd = getcwd();
+    my $cwd       = getcwd();
     my $build_dir = "$cwd/fortune-m-build-dir";
-    my $inst_dir = "$cwd/fortune-m-INST_DIR";
-    rmtree($build_dir, 0, 0);
-    rmtree($inst_dir, 0, 0);
-    mkpath ($build_dir);
+    my $inst_dir  = "$cwd/fortune-m-INST_DIR";
+    rmtree( $build_dir, 0, 0 );
+    rmtree( $inst_dir,  0, 0 );
+    mkpath($build_dir);
     chdir $build_dir;
-    do_system({cmd => ['cmake', "-DCMAKE_INSTALL_PREFIX=$inst_dir", 
$ENV{SRC_DIR}]});
-    do_system({cmd => ['make']});
-    do_system({cmd => ['make', 'install',]});
+    do_system(
+        {
+            cmd =>
+                [ 'cmake', "-DCMAKE_INSTALL_PREFIX=$inst_dir", $ENV{SRC_DIR} ]
+        }
+    );
+    do_system( { cmd => ['make'] } );
+    do_system( { cmd => [ 'make', 'install', ] } );
 
     my $text = `'$inst_dir/games/fortune' -m giants`;
 
     # TEST
-    like ($text, qr/Newton/, 'fortune -m matched');
+    like( $text, qr/Newton/, 'fortune -m matched' );
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/tidyall.t 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/tidyall.t
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/tidyall.t     
1970-01-01 01:00:00.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/tidyall.t     
2019-06-07 20:18:06.000000000 +0200
@@ -0,0 +1,38 @@
+package main;
+
+use strict;
+use warnings;
+
+use Test::More;
+my $SKIP_KEY = 'FORTUNE_TEST_TIDY';
+if ( !$ENV{$SKIP_KEY} )
+{
+    plan skip_all => "Skipping because $SKIP_KEY is not set";
+}
+
+package MyCacheModel;
+
+require Moo;
+Moo->import;
+
+extends('Code::TidyAll::CacheModel');
+
+my $DUMMY_LAST_MOD = 0;
+
+sub _build_cache_value
+{
+    my ($self) = @_;
+
+    return $self->_sig(
+        [ $self->base_sig, $DUMMY_LAST_MOD, $self->file_contents ] );
+}
+
+package main;
+require Test::Code::TidyAll;
+
+my $KEY = 'TIDYALL_DATA_DIR';
+Test::Code::TidyAll::tidyall_ok(
+    conf_file         => "$ENV{SRC_DIR}/.tidyallrc",
+    cache_model_class => 'MyCacheModel',
+    ( exists( $ENV{$KEY} ) ? ( data_dir => $ENV{$KEY} ) : () )
+);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/trailing-space-and-CRs.t 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/trailing-space-and-CRs.t
--- 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/trailing-space-and-CRs.t  
    2018-12-19 15:04:16.000000000 +0100
+++ 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/trailing-space-and-CRs.t  
    2019-06-07 20:18:06.000000000 +0200
@@ -4,53 +4,48 @@
 use warnings;
 
 use File::Find::Object ();
-use IO::All qw/ io /;
+use Path::Tiny qw/ path /;
 use Test::More tests => 3;
 use Test::Differences (qw( eq_or_diff ));
 
+my $tree = File::Find::Object->new( {}, $ENV{SRC_DIR} );
 
-my $tree = File::Find::Object->new({}, $ENV{SRC_DIR});
-
-my %do_not_check =
-(
+my %do_not_check = (
     map { $_ => 1 }
-    qw(
-    fortune/fortune
-    util/rot
-    util/strfile
-    util/unstr
-    )
+        qw(
+        fortune/fortune
+        util/rot
+        util/strfile
+        util/unstr
+        )
 );
 
 my @cr_results;
 my @trailing_whitespace_results;
 my @tabs_results;
-while (my $r = $tree->next_obj())
+while ( my $r = $tree->next_obj() )
 {
-    if ($r->is_file)
+    if ( $r->is_file )
     {
         my $fn = $r->path;
-        if (not
-            (
-                $r->basename =~ /\A\..*?\.swp\z/
-                    or
-                $r->basename =~ /\.(o|dat|valgrind-log)\z/
-                    or
-                exists($do_not_check{join '/', @{$r->full_components}})
+        if (
+            not(   $r->basename =~ /\A\..*?\.swp\z/
+                or $r->basename =~ /\.(o|dat|valgrind-log)\z/
+                or
+                exists( $do_not_check{ join '/', @{ $r->full_components } } ) )
             )
-        )
         {
-            my $contents = io->file($fn)->binmode->all;
+            my $contents = path($fn)->slurp_raw;
 
-            if ($contents =~ /\r/)
+            if ( $contents =~ /\r/ )
             {
                 push @cr_results, $fn;
             }
-            elsif ($contents =~ /[ \t]$/ms)
+            elsif ( $contents =~ /[ \t]$/ms )
             {
                 push @trailing_whitespace_results, $fn;
             }
-            elsif ($r->basename =~ /\.[ch]\z/ and $contents =~ /\t/)
+            elsif ( $r->basename =~ /\.[ch]\z/ and $contents =~ /\t/ )
             {
                 push @tabs_results, $fn;
             }
@@ -59,11 +54,14 @@
 }
 
 # TEST
-eq_or_diff(\@cr_results, [], "Files containing carriage returns.");
+eq_or_diff( \@cr_results, [], "Files containing carriage returns." );
+
 # TEST
-eq_or_diff(\@trailing_whitespace_results, [], "Files containing trailing 
whitespace.");
+eq_or_diff( \@trailing_whitespace_results,
+    [], "Files containing trailing whitespace." );
+
 # TEST
-eq_or_diff(\@tabs_results, [], "Source files containing tabs.");
+eq_or_diff( \@tabs_results, [], "Source files containing tabs." );
 
 __END__
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/valgrind.t 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/valgrind.t
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/tests/t/valgrind.t    
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/tests/t/valgrind.t    
2019-06-07 20:18:06.000000000 +0200
@@ -9,15 +9,15 @@
 # plan skip_all => 'lib-recode has memory leaks';
 plan tests => 4;
 
-my $obj = Test::RunValgrind->new({});
+my $obj = Test::RunValgrind->new( {} );
 
 # TEST
 $obj->run(
     {
         log_fn => './fortune--1.valgrind-log',
-        prog => './fortune',
-        argv => [qw//],
-        blurb => 'fortune valgrind test',
+        prog   => './fortune',
+        argv   => [qw//],
+        blurb  => 'fortune valgrind test',
     }
 );
 
@@ -25,9 +25,9 @@
 $obj->run(
     {
         log_fn => './fortune--2-dash-f.valgrind-log',
-        prog => './fortune',
-        argv => [qw/-f/],
-        blurb => 'fortune -f valgrind test',
+        prog   => './fortune',
+        argv   => [qw/-f/],
+        blurb  => 'fortune -f valgrind test',
     }
 );
 
@@ -35,9 +35,9 @@
 $obj->run(
     {
         log_fn => './fortune--3-dash-m.valgrind-log',
-        prog => './fortune',
-        argv => [qw/-m foobarbazINGAMINGATONGALKIYRE/],
-        blurb => 'fortune -m valgrind test',
+        prog   => './fortune',
+        argv   => [qw/-m foobarbazINGAMINGATONGALKIYRE/],
+        blurb  => 'fortune -m valgrind test',
     }
 );
 
@@ -45,8 +45,8 @@
 $obj->run(
     {
         log_fn => './fortune--4-dash-m-i.valgrind-log',
-        prog => './fortune',
-        argv => [qw/-i -m foobarbazINGAMINGATONGALKIYRE/],
-        blurb => 'fortune -i -m valgrind test',
+        prog   => './fortune',
+        argv   => [qw/-i -m foobarbazINGAMINGATONGALKIYRE/],
+        blurb  => 'fortune -i -m valgrind test',
     }
 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/fortune-mod-common.h 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/fortune-mod-common.h
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/fortune-mod-common.h     
1970-01-01 01:00:00.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/fortune-mod-common.h     
2019-06-07 20:18:06.000000000 +0200
@@ -0,0 +1,59 @@
+/*-
+ * Copyright (c) 1991, 1993
+ *  The Regents of the University of California.  All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Ken Arnold.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *  This product includes software developed by the University of
+ *  California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *  @(#)strfile.h   8.1 (Berkeley) 5/31/93
+ */
+#pragma once
+#include        <sys/types.h>
+#include        <sys/stat.h>
+/* For ntohl() */
+#ifdef _WIN32
+#include        <winsock2.h>
+#define getpid() 0
+#else
+#include        <arpa/inet.h>
+#include        <unistd.h>
+#endif
+#include        <sys/param.h>
+#include        "strfile.h"
+#include        <stdio.h>
+#include        <time.h>
+#include        <ctype.h>
+#include        <string.h>
+#include        <stdlib.h>
+#include        <stdbool.h>
+#ifndef MAXPATHLEN
+#define MAXPATHLEN      1024
+#endif /* MAXPATHLEN */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/randstr.c 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/randstr.c
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/randstr.c        
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/randstr.c        
2019-06-07 20:18:06.000000000 +0200
@@ -86,18 +86,7 @@
  * Who're you gonna quote?  Dan Quayle?
  */
 
-#include        <netinet/in.h>
-#include        <sys/param.h>
-#include        "strfile.h"
-#include        <stdio.h>
-#include        <stdlib.h>
-#include        <ctype.h>
-#include        <string.h>
-#include        <unistd.h>
-#include        <time.h>
-#ifndef MAXPATHLEN
-#define MAXPATHLEN      1024
-#endif /* MAXPATHLEN */
+#include "fortune-mod-common.h"
 
 char *Infile,                   /* name of input file */
   Datafile[MAXPATHLEN],         /* name of data file */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/strfile.c 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/strfile.c
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/strfile.c        
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/strfile.c        
2019-06-07 20:18:06.000000000 +0200
@@ -72,20 +72,7 @@
  *I haven't the faintest flipping idea what all that is, so kill the warnings
  */
 
-#include        <stdlib.h>
-#include        <unistd.h>
-#include        <netinet/in.h>
-#include        <sys/param.h>
-#include        <stdio.h>
-#include        <ctype.h>
-#include        <string.h>
-#include        <time.h>
-#include        <stdbool.h>
-#include        "strfile.h"
-
-#ifndef MAXPATHLEN
-#define MAXPATHLEN      1024
-#endif /* MAXPATHLEN */
+#include "fortune-mod-common.h"
 
 /*
  *    This program takes a file composed of strings separated by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/strfile.h 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/strfile.h
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/strfile.h        
2018-12-19 15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/strfile.h        
2019-06-07 20:18:06.000000000 +0200
@@ -37,6 +37,7 @@
  *
  *  @(#)strfile.h   8.1 (Berkeley) 5/31/93
  */
+#include <stdint.h>
 
 #define STR_ENDSTRING(line,tbl) \
     ((line)[0] == (tbl).str_delim && (line)[1] == '\n')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/unstr.c 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/unstr.c
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/util/unstr.c  2018-12-19 
15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/util/unstr.c  2019-06-07 
20:18:06.000000000 +0200
@@ -88,19 +88,8 @@
  * get a fortune that contains nothing but a newline.  Karo syrup, syrup.
  * For the gory details, and lots of cussing, see strfile.c
  */
-#include        <sys/types.h>
-#include        <netinet/in.h>
-#include        <sys/param.h>
-#include        "strfile.h"
-#include        <stdio.h>
-#include        <ctype.h>
-#include        <string.h>
-#include        <stdlib.h>
-#include        <unistd.h>
 
-#ifndef MAXPATHLEN
-#define MAXPATHLEN      1024
-#endif /* MAXPATHLEN */
+#include "fortune-mod-common.h"
 
 static char *Infile,                   /* name of input file */
   Datafile[MAXPATHLEN],         /* name of data file */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortune-mod-fortune-mod-2.6.2/fortune-mod/ver.txt 
new/fortune-mod-fortune-mod-2.8.0/fortune-mod/ver.txt
--- old/fortune-mod-fortune-mod-2.6.2/fortune-mod/ver.txt       2018-12-19 
15:04:16.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/fortune-mod/ver.txt       2019-06-07 
20:18:06.000000000 +0200
@@ -1 +1 @@
-2.6.2
+2.8.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fortune-mod-fortune-mod-2.6.2/scripts/Tatzer 
new/fortune-mod-fortune-mod-2.8.0/scripts/Tatzer
--- old/fortune-mod-fortune-mod-2.6.2/scripts/Tatzer    1970-01-01 
01:00:00.000000000 +0100
+++ new/fortune-mod-fortune-mod-2.8.0/scripts/Tatzer    2019-06-07 
20:18:06.000000000 +0200
@@ -0,0 +1,352 @@
+#!/usr/bin/env perl
+
+# This is a script to configure the distribution. Its primary audience
+# are the core developers and halo developers, and not end-users. Please
+# see the INSTALL file for proper building instructions using cmake.
+#
+# "Tatzer" (Taf-Tzadik-Reish) is the Hebrew word for "configure!".
+
+use strict;
+use warnings;
+
+use Getopt::Long qw/ GetOptions /;
+use Path::Tiny qw/path/;
+
+my %BOOL_OPTS_WITH_FALSE_DEFAULTS =
+    ( 'omit-frame' => 'OPTIMIZATION_OMIT_FRAME_POINTER', );
+
+my %TRUE_BOOL_OPTS = ( 'test-suite' => 'FCS_WITH_TEST_SUITE', );
+
+my %INT_OPTS = ( 'pack-size' => 'FCS_IA_PACK_SIZE', );
+
+my %STR_OPTS = (
+    'arch'   => { param => 'CPU_ARCH', },
+    'prefix' => { param => 'CMAKE_INSTALL_PREFIX', },
+    (
+        map {
+            my ( $key, $param ) = @$_;
+            ( $key => +{ prefix => "${param}_", param => $param } )
+        } ( [ 'p|pos' => 'BHS_STATE_STORAGE' ], )
+    ),
+);
+
+my @BOOL_OPTS_WITH_FALSE_DEFAULTS__KEYS = keys %BOOL_OPTS_WITH_FALSE_DEFAULTS;
+
+my %bool_opts_with_false_defaults__values =
+    ( map { $_ => 0 } @BOOL_OPTS_WITH_FALSE_DEFAULTS__KEYS );
+
+my @TRUE_BOOL_KEYS         = keys %TRUE_BOOL_OPTS;
+my %true_bool_opts__values = map { $_ => 1 } @TRUE_BOOL_KEYS;
+
+my @INT_OPS__KEYS = keys %INT_OPTS;
+
+my %int_opts__values = ( map { $_ => undef() } @INT_OPS__KEYS );
+
+my @STR_OPTS__KEYS = keys %STR_OPTS;
+for my $k (@STR_OPTS__KEYS)
+{
+    $STR_OPTS{$k}{'value'} = undef();
+    $STR_OPTS{$k}{'prefix'} //= '';
+}
+
+$STR_OPTS{'prefix'}{value} = '/usr';
+
+my $build_type = "debug";
+my $generate_what;
+my $build_static_lib      = 0;
+my $with_context_var      = 1;
+my $max_bench_threads_num = 4;
+my $link_to_static        = 0;
+
+sub set_both
+{
+    my $val = shift;
+    foreach my $k ('p|pos')
+    {
+        $STR_OPTS{$k}{'value'} = $val;
+    }
+    return;
+}
+
+sub set_hash
+{
+    return set_both("INTERNAL_HASH");
+}
+
+set_hash();
+
+my %themes = (
+    tt         => [qw(-r --notest-suite --static)],
+    bench      => [qw(-l tt --omit-frame)],
+    fc_bench   => [qw(-l bench)],
+    testing    => [qw(--rwd --test-suite)],
+    pysol_defs => [],
+);
+
+my $SEED_KEY = 'FCS_THEME_RAND';
+my $SEED     = $ENV{$SEED_KEY};
+if ( defined $SEED )
+{
+    if ( $SEED =~ /[^0-9]/ )
+    {
+        die "Invalid value for seed!";
+    }
+    my %k;
+    foreach my $flags ( values %themes )
+    {
+        for ( my $idx = 0 ; $idx < @$flags ; ++$idx )
+        {
+            my $flag = $flags->[$idx];
+            if ( $flag eq '-l' )
+            {
+                ++$idx;
+            }
+            else
+            {
+                $k{$flag} = 1;
+            }
+        }
+    }
+    my @k = sort { $a cmp $b } keys %k;
+
+    require Math::Random::MT;
+    my $gen = Math::Random::MT->new($SEED);
+    my @subset;
+    foreach my $key (@k)
+    {
+        if ( $gen->rand() < 0.5 )
+        {
+            push @subset, $key;
+        }
+    }
+    my $FN = "run-t-$SEED.bash";
+    path($FN)->spew_utf8( join( ' ', $^X, $0, @subset ) . "\n" );
+    delete $ENV{$SEED_KEY};
+    exec( "bash", $FN );
+}
+
+my $HOME = $ENV{HOME};
+
+foreach my $rec (
+    { id => "c2",  a => "core2", },
+    { id => "ci7", a => "corei7-avx", },
+    { id => "n2",  a => "native", },
+    { id => "p4",  a => "pentium4" },
+    { id => "x64", a => "barcelona" },
+    )
+{
+    my $id   = $rec->{id};
+    my $arch = $rec->{a};
+
+    $themes{$id} = [ "--arch=$arch", "--prefix=$HOME/apps/fcs", ];
+
+    my $def = sub {
+        my ( $suffix, $theme ) = @_;
+        $themes{ $id . $suffix } = [@$theme];
+        return;
+    };
+    my $id_def = sub {
+        my ( $suffix, $theme ) = @_;
+        return $def->( $suffix, [ '-l', $theme, '-l', $id ] );
+    };
+    my $bb_def = sub {
+        my ( $suffix, $theme ) = @_;
+        return $def->( $suffix, [ '-l', $id . 'bb', @$theme ] );
+    };
+
+    # Benchmark for freecell only
+    $id_def->( b => 'fc_bench' );
+
+    # Generalised benchmark - not freecell-only - should pass the tests.
+    $id_def->( bb => 'bench' );
+
+    # Memory conserving theme - for freecell only
+    $id_def->( m => 'fc_reduce_mem' );
+
+    # Generalised Memory conserving theme - not only for freecell
+    $id_def->( mm => 'reduce_mem' );
+
+    # Testing theme - aims to run the tests quickly
+    $bb_def->( t => [qw(-l testing)] );
+
+    # For use by PySolFC
+    $bb_def->(
+        _pysol => [ '-l', 'pysol_defs', "--prefix=$HOME/apps/fcs-for-pysol", ]
+    );
+}
+
+my @new_argv = @ARGV;
+
+CALC_NEW_ARGV:
+for ( my $idx = 0 ; $idx < @new_argv ; ++$idx )
+{
+    if ( my ($arg_val) = $new_argv[$idx] =~ m{\A-l(.*)\z}ms )
+    {
+        my $start_idx = $idx;
+
+        my $param = $arg_val || $new_argv[ ++$idx ];
+
+        if ( !( my $cmd = $themes{$param} ) )
+        {
+            die "Unknown -l argument $param!";
+        }
+        else
+        {
+            splice( @new_argv, $start_idx, $idx - $start_idx + 1, @$cmd );
+        }
+
+        $idx = $start_idx;
+        redo CALC_NEW_ARGV;
+    }
+}
+
+@ARGV = @new_argv;
+
+if ( $ENV{VERBOSE} )
+{
+    print "<@ARGV>";
+}
+
+GetOptions(
+    'd|debug' => sub {
+        my ( $opt, $val ) = @_;
+        if ($val)
+        {
+            $build_type = "debug";
+        }
+        return;
+    },
+    'r|release' => sub {
+        my ( $opt, $val ) = @_;
+        if ($val)
+        {
+            $build_type = "release";
+        }
+        elsif ( $build_type eq "release" )
+        {
+            $build_type = "debug";
+        }
+        return;
+    },
+    'hash'    => \&set_hash,
+    'profile' => sub {
+        my ( $opt, $val ) = @_;
+        if ($val)
+        {
+            $build_type = "profile";
+        }
+        elsif ( $build_type eq "profile" )
+        {
+            $build_type = "debug";
+        }
+        return;
+    },
+    'minsize' => sub {
+        $build_type = "MinSizeRel";
+        return;
+    },
+    'gen=s' => \$generate_what,
+    'rwd'   => sub {
+        my ( $opt, $val ) = @_;
+
+        $build_type = "RelWithDebInfo";
+
+        return;
+    },
+    'tokyo'                   => sub { return set_both("TOKYO_CAB_HASH"); },
+    'static'                  => \$build_static_lib,
+    'with-ctx-var!'           => \$with_context_var,
+    'max-bench-threads-num=i' => \$max_bench_threads_num,
+    'static!'                 => \$link_to_static,
+    (
+        map { ; "$_!" => \( $bool_opts_with_false_defaults__values{$_} ) }
+            @BOOL_OPTS_WITH_FALSE_DEFAULTS__KEYS
+    ),
+    ( map { ; "$_!"  => \( $true_bool_opts__values{$_} ) } @TRUE_BOOL_KEYS ),
+    ( map { ; "$_=i" => \( $int_opts__values{$_} ) } @INT_OPS__KEYS ),
+    ( map { ; "$_=s" => \( $STR_OPTS{$_}{value} ) } @STR_OPTS__KEYS ),
+) or die "Wrong options";
+
+my $path_to_source_dir;
+
+if (@ARGV)
+{
+    $path_to_source_dir = shift(@ARGV);
+
+    if (@ARGV)
+    {
+        die "Junk at the end of ARGV - <@ARGV>";
+    }
+}
+else
+{
+    $path_to_source_dir = path($0)->parent(2)->child("fortune-mod");
+}
+
+# This cache is sometimes causing problems.
+unlink("CMakeCache.txt");
+path($_)->remove_tree foreach ( '_Inline', 't/_Inline' );
+unlink( glob("*.so") );
+
+my @cmd = (
+    "cmake",
+    (
+        defined( $ENV{CMAKE_MAKE_PROGRAM} )
+        ? "-DCMAKE_MAKE_PROGRAM=$ENV{CMAKE_MAKE_PROGRAM}"
+        : ()
+    ),
+    ( defined($generate_what) ? ( "-G", $generate_what ) : () ),
+    "-DCMAKE_BUILD_TYPE=$build_type",
+    "-DDATADIR=$STR_OPTS{prefix}{value}/share",
+    ( ( !$build_static_lib ) ? ("-DBUILD_STATIC_LIBRARY=") : () ),
+    (
+        map {
+            $bool_opts_with_false_defaults__values{$_}
+                ? ( "-D" . $BOOL_OPTS_WITH_FALSE_DEFAULTS{$_} . "=1" )
+                : ()
+        } @BOOL_OPTS_WITH_FALSE_DEFAULTS__KEYS
+    ),
+    (
+        map {
+                  '-D'
+                . $TRUE_BOOL_OPTS{$_} . '='
+                . ( $true_bool_opts__values{$_} ? '1' : '' )
+        } @TRUE_BOOL_KEYS
+    ),
+    (
+        map {
+            defined( $int_opts__values{$_} )
+                ? ( "-D" . $INT_OPTS{$_} . "=" . $int_opts__values{$_} )
+                : ()
+        } @INT_OPS__KEYS
+    ),
+    (
+        map {
+            my $k = $_;
+            my $r = $STR_OPTS{$k};
+            my $v = $r->{value};
+            defined($v) ? ("-D$r->{param}=$r->{prefix}$v") : ()
+        } @STR_OPTS__KEYS
+    ),
+);
+
+push @cmd, $path_to_source_dir;
+
+print( join( " ", @cmd ), "\n" );
+my $exit_code = system(@cmd);
+exit( $exit_code ? 1 : 0 );
+
+__END__
+
+=head1 COPYRIGHT AND LICENSE
+
+This file is part of Black Hole Solitaire Solver. It is subject to the license
+terms in the COPYING file found in the top-level directory of this distribution
+and at https://github.com/shlomif/black-hole-solitaire/blob/master/LICENSE .
+No part of Black Hole Solitaire Solver, including this file, may be copied,
+modified, propagated, or distributed except according to the terms contained
+in the COPYING file.
+
+Copyright (c) 2009 Shlomi Fish
+
+=cut

++++++ fortune-no-games.patch ++++++
--- /var/tmp/diff_new_pack.VAb4dF/_old  2019-06-20 18:56:42.036952703 +0200
+++ /var/tmp/diff_new_pack.VAb4dF/_new  2019-06-20 18:56:42.036952703 +0200
@@ -10,7 +10,7 @@
 +SET (LOCALDIR "${CMAKE_INSTALL_PREFIX}/share/fortune" CACHE STRING "LOCALDIR 
fortunes dir")
  SET (LOCALODIR "${LOCALDIR}/off" CACHE STRING "offensive fortunes localdir")
 -SET (COOKIEDIR "${CMAKE_INSTALL_PREFIX}/share/games/fortunes" CACHE STRING  
"cookie dir not under /usr/local")
-+SET (COOKIEDIR "${CMAKE_INSTALL_PREFIX}/share/fortune" CACHE STRING  "cookie 
dir not under /usr/local")
++SET (COOKIEDIR "${CMAKE_INSTALL_PREFIX}/share/fortune/cookies" CACHE STRING  
"cookie dir not under /usr/local")
  SET (OCOOKIEDIR "${COOKIEDIR}/off" CACHE STRING "offensive cookie dir not 
under /usr/local")
  
  SHLOMIF_ADD_COMMON_C_FLAGS()


Reply via email to