Commit Graph

927 Commits

Author SHA1 Message Date
Stefan Eßer
3fa2a149d6 Fix calendar -a processing of files included in the user's home directory
The existing code performed a chdir() into the home directory, but the
parser fell back to using the invoking user's home directory as the base
directory for the search for an include file.

Since use of the -a option is limited to UID==0, the directory searched
was typically ~root/.calendar, not the .calendar directory of the user
whose file is being processed.

PR:		205580
Reported by:	greg.bal4@gmail.com (Greg Balfour)
MFC after:	3 days
2020-10-29 08:26:38 +00:00
Stefan Eßer
19b5c30754 Add support for nested conditionals
The previous behavior was to support nested #ifdef and #ifndef, but to
return to unconditional parsing after the next #endif, independently of
the number of previously parsed conditions.

E.g. after "#ifdef A / #ifdef B / #endif" the following lines were
unconditially parsed again, independently of A and/or B being defined.

The new behavior is to count the level of false conditions and to only
restart parsing of calendar entries when the corresponding number of
#endif tokens have been seen.

In addition to the above, an #else directive has been added, to toggle
between parsing and ignoring of the following lines.

No validation of the correct use of the condition directives is made.
#endif without prior #define or #ifndef is ignored and #else toggles
between parsing and skipping of entries.

The MFC period has been set to 1 month to allow for a review of the
changes and for a discussion, whether these modifications should not
be merged at all.

No correct input file is parsed differently than before, but if calendar
data files are published that use these new features, those data files
will not parse correctly on prior versions of this program.

MFC after:	1 month
2020-10-28 14:48:58 +00:00
Stefan Eßer
e0e29f9425 Fix off-by-one error in processing of #ifdef lines
The convention in this program is to parse the line immediately starting
after the token (e.g. #defineA and #ifdefA define respectively look-up "A"),
and this commit restores this behavior instead of skipping an assumed
white-space character following #ifdef.

Reported by:	kevans
MFC after:	3 days
2020-10-28 13:30:24 +00:00
Stefan Eßer
2939897921 Fix parsing of #ifdef in calendar files
There was code to process an #ifndef tokens, but none for #ifdef.
The #ifdef token was mentioned as unsupported in the BUGS section,
but no reason was given and I do not see why it should stay omitted.

Misleading information in The BUGS section of the man-page regarding
the maximum number of #define and #include statements supported has
been removed. These limits might have applied to a prior version of
this program, but do not seem to apply to the current implementation.

I have not tried to test for the existence of the limits, but the
include file processing just recursively calls the parser (without
counting the recursion depth) and the stringlist functions do not
impose a limit on the number of entries.

Reported by:	jhs@berklix.com
MFC after:	3 days
2020-10-28 13:06:39 +00:00
Scott Long
2586d44d14 Correct calendar entry for myself 2020-10-26 05:22:52 +00:00
Warner Losh
d20d655018 calendar: remove all datafiles except freebsd one
Move all the data files for the calendar(1) program, except
calendar.freebsd to the calendar-data package. When a file
can't be found, and /usr/local/share/calendar doesn't exist
provide a helpful hint to install this package.

Reviewed by: se@
Differential Revision:  https://reviews.freebsd.org/D26926
2020-10-26 03:26:18 +00:00
Mateusz Piotrowski
50f7cdf21c calendar.1: Fix locale of the month in Dd ;) 2020-10-25 16:01:03 +00:00
Stefan Eßer
c77b04884c Udpate calendar man-page to mention the search path added in r366962.
Calendar files in /usr/lcoal/share/calendar take precedence over files in
the base system. They can be provided by a port or package, but since such
a port has not been committed, yet, no specific port name is suggested.

In fact, multiple ports could exist (e.g. per locale) without conflicting
with each other.
2020-10-23 10:00:56 +00:00
Stefan Eßer
34b38e1245 Add search of LOCALBASE/share/calendar for calendars supplied by a port.
Calendar files in LOCALBASE override similarily named ones in the base
system. This could easily be changed if the base system calendars should
have precedence, but it could lead to a violation of POLA since then the
port's files were ignored unless those in base have been deleted.

There was no definition of _PATH_LOCALBASE in paths.h, but verbatim uses
of /usr/local existed for _PATH_DEFPATH. Use _PATH_LOCALBASE here to ease
a consistent modification of this prefix.

Reviewed by:	imp, pfg
Differential Revision:	https://reviews.freebsd.org/D26882
2020-10-23 09:22:23 +00:00
Greg Lehey
bce7d45450 Correct location and date of the Boston Shoemakers' organization,
which significantly predated the USA.

Reference: http://www.famousdaily.com/history/boston-shoemakers-form-first-us-labor-organization.html
2020-10-18 03:01:26 +00:00
Mateusz Piotrowski
c9370e5cec Bump manual page date after 366243
While here, address mandoc warnings.
2020-09-29 10:07:46 +00:00
Greg Lehey
314c5b3583 Document the fact (bug?) that the -a option will normally process
root's calendar files three times, once each for root, toor and
daemon.

This relates to bug 246943, but does not solve it.  See discussion in
bug report for more details.

PR:		246943
Reported by:	wcarson.bugzilla@disillusion.net
2020-09-29 05:49:45 +00:00
Greg Lehey
02d18aea06 Remove claim that Allied Forces created "West Germany" in 1953. I can
find no historic substantiation for such a claim.  The Federal
Republic of Germany was created by Germans on 23 May 1949, as also
noted in this file.
2020-09-21 22:55:51 +00:00
Greg Lehey
23f93ed79b Update Hong Kong Liberation Day (hah!) 2020-08-27 03:50:34 +00:00
Greg Lehey
cbc0517c2b Correct date for Nagasaki bombing. 2020-08-09 00:35:47 +00:00
Greg Lehey
5126cbe91b Remove incorrect duplicate. 2020-08-09 00:34:35 +00:00
Daniel Ebdrup Jensen
ee49c1d3e5 Add my entry to the calendar file
As part of onboarding, ensure that I'm listed in the FreeBSD calendar file,
while listening to Don't Take Away The Music by Tavares.

Reviewed by:	0mp, bcr
Approved by:	0mp (mentor), allanjude (mentor)
Differential Revision:	D25856
2020-07-29 11:19:57 +00:00
Greg Lehey
565a5f040f Be more precise about Percy Grainger's place of birth. 2020-07-08 01:47:20 +00:00
Greg Lehey
22335c3c63 Use canonical description for Schlacht bei Königgrätz, add year. 2020-07-02 22:59:05 +00:00
Gordon Bergling
7974b0046d Add myself (gbe) to committers-doc.dot and calendar.freebsd
Reviewed by:	bcr (mentor)
Approved by:	bcr (mentor)
Differential Revision:	https://reviews.freebsd.org/D25241
2020-06-12 09:34:10 +00:00
Greg Lehey
96273f2488 Tidy up syntax and punctuation of some entries. 2020-04-17 23:14:51 +00:00
Hiroki Tagato
4afeb43d98 Add my birthday
Approved by:	ehaupt (mentor)
2020-04-15 10:20:18 +00:00
Li-Wen Hsu
1c04eb2853 Install expected output file of test missed in r359585
Sponsored by:	The FreeBSD Foundation
2020-04-13 14:35:07 +00:00
Oleksandr Tymoshenko
838f5ac1f9 Remove hardcoded US Election Day from calendar.usholiday
calendar(1) syntax is not capable of representing the rules for the
US Election Day. The hardcoded date was set in r15066 in 1996 and
hasn't changed since then.

PR:		173389
Reported by:	Steve Ames <steve@energistic.com>
MFC after:	1 week
2020-04-03 02:39:46 +00:00
Oleksandr Tymoshenko
c01c8cccf5 Fix calculation of the recurring weekdays
Both the result of the first_dayofweek_of_year and the target
weekday are zero-based (0 fo sunday) while the target month-day
or year-day is 1-based. Adjust logic accordingly.

Also add testcase for this PR to the kyua test suite

PR:		201062
Submitted by:	Richard Narron <comet.berkeley@gmail.com>
MFC after:	1 week
2020-04-03 01:17:43 +00:00
Greg Lehey
4014b4a7a4 Add year to Boganda's death. 2020-03-28 22:44:08 +00:00
Pedro F. Giffuni
83735685d3 calendar(1): Updates and corrections for some calendar files.
These have an educational value and are, no doubt, an integral part of the fun
behind running the BSDs.

PR:		242909, 242918
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D23581
2020-03-15 00:49:06 +00:00
Conrad Meyer
fd1efedc79 Add extremely useful calendar(1) application to FreeBSD
It does extremely useful things like execute sendmail and spew dubiously
accurate factoids.

From the feedback, it seems like it is an essential utility in a modern unix
and not at all a useless bikeshed.  How do those Linux people live without it?
Reverts r358561.
2020-03-03 00:20:08 +00:00
Conrad Meyer
3c565de33f Fix typo in r278616
FreeBSD isn't an encyclopedia.
2020-03-02 23:37:47 +00:00
Greg Lehey
017ca0de63 Remove comment about Blackthorn winds, apparently imported from 4.4BSD
Lite.  Nowadays it's trivial to find the explanation, such as at
https://www.deseret.com/2000/2/27/19493013/blackthorn-winds-make-bushes-bud.
It doesn't seem appropriate to replace it with an explanation.
2020-03-01 22:10:37 +00:00
Alfredo Dal'Ava Junior
d8a85b4237 Add myself (alfredo) to committers-src.dot and calendar.freebsd
Approved by:	jhibbits (mentor)
2020-01-29 17:39:38 +00:00
Greg Lehey
1952e2855a Correct date and time of George Harrison's death.
Source: https://www.beatlesbible.com/2001/11/29/george-harrison-dies/
2019-11-29 23:04:45 +00:00
Greg Lehey
52e50ad353 Clarify name of Pau Casals (it's Catalonian)
Get correct birthday (from Wikipedia).
2019-11-28 21:22:04 +00:00
Greg Lehey
67fd12c006 Correct spelling, apply appropriate respect. 2019-10-23 01:11:25 +00:00
Oleksii Samorukov
861e74ac19 Add myself (samm) to calendar.freebsd
Approved by:    araujo (mentor), krion (mentor)
Differential Revision:  https://reviews.freebsd.org/D21985
2019-10-13 18:03:23 +00:00
Dmitri Goutnik
26a9d16680 Add myself (dmgk) to calendar.freebsd
Approved by:	tz (mentor)
Differential Revision:	https://reviews.freebsd.org/D21675
2019-09-16 20:43:20 +00:00
Gleb Smirnoff
e67975d331 Fix 'calendar -a' in several ways.
o Do not run any iconv() processing in -a. The locale of root user is not
  what is desired by most of the users who receive their calendar mail.
  Just assume that users store their calendars in a format that is readable
  to them. This fixes regression from r344340.
o fork() and setusercontext(LOGIN_SETALL) for every user. This makes LANG
  set inside a calendar file mostly excessive, as we will pick up user's
  login class LANG.
o This also executes complex function cal() that parses user owned files
  with appropriate user privileges.
  Previously it was run with privileges dropped only temporary for execution
  of cal(), and fully dropped only before invoking sendmail (see r22473).

Reviewed by:	bapt (older version of patch)
2019-09-10 04:21:48 +00:00
Gleb Smirnoff
1e01d2dcac Remove pointless playing with LC_TIME, which should have been done in r205821. 2019-09-10 04:01:41 +00:00
Kirk McKusick
48622bc539 Add missing comma in calendar.freebsd 2019-08-15 18:46:27 +00:00
Vincenzo Maffione
edc4cf21a5 update calendar.freebsd
MFC after:	1 week
2019-07-09 22:11:15 +00:00
Marko Zec
8d048f68d4 Croatian calendar: update / fix names, dates, group national public
holidays, sort by date.

MFC after:	3 days
2019-06-25 14:50:03 +00:00
Greg Lehey
4efd690068 Edvard Hagerup Grieg parses as given name, mother's maiden name, surname 2019-06-14 23:53:19 +00:00
Gleb Popov
bc04586c21 Add myself (arrowd) to calendar.freebsd.
Approved by:	bapt
2019-06-06 08:43:23 +00:00
Mateusz Piotrowski
93465d7349 Add my birthday to calendar
Requested by:	mckusick
2019-06-06 08:12:49 +00:00
Piotr Kubaj
25082bd7d2 Add my birthday entry. 2019-06-05 16:01:05 +00:00
D Scott Phillips
3ea05df092 Add myself to committers-src.dot and calendar.freebsd
Approved by:	jhb (mentor)
2019-06-05 04:01:31 +00:00
Koichiro Iwao
83b187575b Add self to calendar, per mckusick's request 2019-06-05 03:40:34 +00:00
Adriaan de Groot
f88c56bce1 Add self to calendar, per Kirk's request 2019-06-04 21:54:34 +00:00
Vincenzo Maffione
e5f89a8c84 Add myself to committers-src.dot and calendar.freebsd
Reviewed by:	mckusick
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D20518
2019-06-04 19:59:43 +00:00
Doug Moore
b4fa9d0366 Add birthday entry. 2019-06-04 19:16:05 +00:00