Page MenuHomeFreeBSD

Allow calendar files to be provided by a port

Authored by se on Oct 21 2020, 8:41 AM.



The calendar program has traditionally been installed with a large number of calendars, which were maintained together with the program sources.
The proposed change allows to create, maintain, and distribute calendar files independently from the program sources.
For this purpose, the search path for calendars is changed to include /usr/local/share/calendars.
This additional search path element is made higher priority than the system directory to allow calendars installed by a port to override those installed with the system.
This change does not suggest immediate removal of the calendars from FreeBSD base, but if there is consensus for a port that contains these identical files for a start, the port's calendars will take precedence.
Before the release of FreeBSD-13 the calendar files in base could be deprecated and finally removed from the sources and added to (for removal in FreeBSD-13 or FreeBSD-14).

Test Plan

Build the calendar program with the attached patch.
Move any subset (or all) of the calendars file installed in /usr/share/calendars to /usr/local/share/calendars and test that the output is identical to before.
Verify that any combination of locations is still working and that calendars in either /usr/share/calendars or /usr/local/share/calendars can include calendars from either location.
Verify that definitions in /usr/local/share/calendars take precedence (i.e. identical named files in /usr/share/calendars are ignored).

Diff Detail

rS FreeBSD src repository - subversion
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.