Bug 237768

Summary: 12.0-RELEASE: Calling fortune(6) with no parameters yields "No fortunes found" error.
Product: Base System Reporter: Trix Farrar <trix>
Component: miscAssignee: freebsd-bugs mailing list <bugs>
Status: New ---    
Severity: Affects Only Me CC: andyf
Priority: ---    
Version: 12.0-RELEASE   
Hardware: amd64   
OS: Any   

Description Trix Farrar 2019-05-06 23:18:34 UTC
Calling fortune(6) with no filename results in an error.  I believe this may be a regression from behavior in 11.2-RELEASE.

12.0-RELEASE behavior:

$ uname -a ; fortune ; ls -lh /usr/share/games/fortune/
FreeBSD doyle 12.0-RELEASE-p2 FreeBSD 12.0-RELEASE-p2 GENERIC  amd64
No fortunes found in /usr/share/games/fortune:/usr/local/share/games/fortune.
total 24
-r--r--r--  1 root  wheel    19K Nov 25 00:44 freebsd-tips
-r--r--r--  1 root  wheel   944B Nov 25 00:44 freebsd-tips.dat

11.2-RELEASE behavior:

$ uname -a ; fortune ; ls -lh /usr/share/games/fortune/
FreeBSD lorne 11.2-RELEASE-p4 FreeBSD 11.2-RELEASE-p4 #0: Thu Sep 27 08:16:24 UTC 2018     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
If pro is the opposite of con, what is the opposite of progress?
total 2620
-r--r--r--  1 root  wheel   2.1M Jun 21  2018 fortunes
-r--r--r--  1 root  wheel    97K Jun 21  2018 fortunes.dat
-r--r--r--  1 root  wheel    16K Jun 21  2018 freebsd-tips
-r--r--r--  1 root  wheel   840B Jun 21  2018 freebsd-tips.dat
-r--r--r--  1 root  wheel    25K Jun 21  2018 gerrold.limerick
-r--r--r--  1 root  wheel   680B Jun 21  2018 gerrold.limerick.dat
-r--r--r--  1 root  wheel   127K Jun 21  2018 limerick
-r--r--r--  1 root  wheel   6.1K Jun 21  2018 limerick.dat
-r--r--r--  1 root  wheel    59K Jun 21  2018 murphy
-r--r--r--  1 root  wheel   767B Jun 21  2018 murphy-o
-r--r--r--  1 root  wheel   112B Jun 21  2018 murphy-o.dat
-r--r--r--  1 root  wheel   6.1K Jun 21  2018 murphy.dat
-r--r--r--  1 root  wheel    27K Jun 21  2018 startrek
-r--r--r--  1 root  wheel   1.6K Jun 21  2018 startrek.dat
-r--r--r--  1 root  wheel    38K Jun 21  2018 zippy
-r--r--r--  1 root  wheel   4.3K Jun 21  2018 zippy.dat

It appears that, when called without a filename, the command only searches for 'fortunes', which does not exist in Base -- only freebsd-tips is present.

Given a filename -- either basename(1) for full path -- epigrams are selected as expected.  The search path appears to function as expected.  

Easy workaround appears to be either change the default filename ('fortunes') or rename /usr/share/games/fortune/freebsd-tips to /usr/share/games/fortune/fortunes (with their compiled versions named appropriately, for course).

Calling "fortune all" appears to work as expected, pulling from all available files in the search path.
Comment 1 Andy Farkas 2019-11-11 14:54:07 UTC
Copying freebsd-tips to fortunes does not work:

# cd /usr/share/games/fortune
# cp freebsd-tips fortunes
# fortune
fortune:/usr/share/games/fortune/fortunes not a fortune file or directory
No fortunes found in /usr/share/games/fortune:/usr/local/share/games/fortune.