svn commit: r366962 - in head: include usr.bin/calendar

Rodney W. Grimes freebsd at gndrsh.dnsmgr.net
Sun Oct 25 02:51:03 UTC 2020


[ Charset UTF-8 unsupported, converting... ]
> Author: se
> Date: Fri Oct 23 09:22:23 2020
> New Revision: 366962
> URL: https://svnweb.freebsd.org/changeset/base/366962
> 
> Log:
>   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
> 
> Modified:
>   head/include/paths.h
>   head/usr.bin/calendar/io.c
>   head/usr.bin/calendar/pathnames.h
> 
> Modified: head/include/paths.h
> ==============================================================================
> --- head/include/paths.h	Fri Oct 23 08:44:53 2020	(r366961)
> +++ head/include/paths.h	Fri Oct 23 09:22:23 2020	(r366962)
> @@ -37,8 +37,11 @@
>  
>  #include <sys/cdefs.h>
>  
> +#define	_PATH_LOCALBASE	"/usr/local"
> +

Something feels very wrong about this becoming a  defined path in base,
it is further dependence on /usr/local which in the early days we spent
a great deal of time removing.

I believe the whole ports system allows this to be something other
than /usr/local.  Package should also allow it to be some other place.

>  /* Default search path. */
> -#define	_PATH_DEFPATH	"/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
> +#define	_PATH_DEFPATH	"/sbin:/bin:/usr/sbin:/usr/bin:" \
> +  			_PATH_LOCALBASE "/sbin:" _PATH_LOCALBASE "/bin"
>  /* All standard utilities path. */
>  #define	_PATH_STDPATH	"/usr/bin:/bin:/usr/sbin:/sbin"
>  /* Locate system binaries. */
> 
> Modified: head/usr.bin/calendar/io.c
> ==============================================================================
> --- head/usr.bin/calendar/io.c	Fri Oct 23 08:44:53 2020	(r366961)
> +++ head/usr.bin/calendar/io.c	Fri Oct 23 09:22:23 2020	(r366962)
> @@ -71,7 +71,7 @@ enum {
>  };
>  
>  const char *calendarFile = "calendar";	/* default calendar file */
> -static const char *calendarHomes[] = {".calendar", _PATH_INCLUDE}; /* HOME */
> +static const char *calendarHomes[] = {".calendar", _PATH_INCLUDE_LOCAL, _PATH_INCLUDE}; /* HOME */
>  static const char *calendarNoMail = "nomail";/* don't sent mail if file exist */
>  
>  static char path[MAXPATHLEN];
> 
> Modified: head/usr.bin/calendar/pathnames.h
> ==============================================================================
> --- head/usr.bin/calendar/pathnames.h	Fri Oct 23 08:44:53 2020	(r366961)
> +++ head/usr.bin/calendar/pathnames.h	Fri Oct 23 09:22:23 2020	(r366962)
> @@ -35,3 +35,4 @@
>  #include <paths.h>
>  
>  #define	_PATH_INCLUDE	"/usr/share/calendar"
> +#define	_PATH_INCLUDE_LOCAL	_PATH_LOCALBASE "/share/calendar"
> 

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the svn-src-all mailing list