Author: se Date: Wed Nov 18 20:00:55 2020 New Revision: 367816 URL: https://svnweb.freebsd.org/changeset/base/367816
Log: Make use of the getlocalbase() function for run-time adjustment of the local software base directory, as committed in SVN rev. 367813. The pkg and mailwrapper programs used the LOCALBASE environment variable for this purpose and this functionality is preserved by getlocalbase(). After this change, the value of the user.localbase sysctl variable is used if present (and not overridden in the environment). The nvmecontrol program gains support of a dynamic path to its plugin directory with this update. Differential Revision: https://reviews.freebsd.org/D27237 Modified: head/sbin/nvmecontrol/comnd.c head/sbin/nvmecontrol/nvmecontrol.c head/usr.sbin/mailwrapper/mailwrapper.c head/usr.sbin/pkg/Makefile head/usr.sbin/pkg/config.c head/usr.sbin/pkg/pkg.c Modified: head/sbin/nvmecontrol/comnd.c ============================================================================== --- head/sbin/nvmecontrol/comnd.c Wed Nov 18 19:55:24 2020 (r367815) +++ head/sbin/nvmecontrol/comnd.c Wed Nov 18 20:00:55 2020 (r367816) @@ -287,7 +287,7 @@ bad_arg: * Loads all the .so's from the specified directory. */ void -cmd_load_dir(const char *dir __unused, cmd_load_cb_t cb __unused, void *argp __unused) +cmd_load_dir(const char *dir, cmd_load_cb_t cb, void *argp) { DIR *d; struct dirent *dent; Modified: head/sbin/nvmecontrol/nvmecontrol.c ============================================================================== --- head/sbin/nvmecontrol/nvmecontrol.c Wed Nov 18 19:55:24 2020 (r367815) +++ head/sbin/nvmecontrol/nvmecontrol.c Wed Nov 18 20:00:55 2020 (r367816) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include <err.h> #include <errno.h> #include <fcntl.h> +#include <libutil.h> #include <paths.h> #include <stdbool.h> #include <stddef.h> @@ -178,11 +179,13 @@ get_nsid(int fd, char **ctrlr_str, uint32_t *nsid) int main(int argc, char *argv[]) { + static char dir[MAXPATHLEN]; cmd_init(); cmd_load_dir("/lib/nvmecontrol", NULL, NULL); - cmd_load_dir(_PATH_LOCALBASE "/lib/nvmecontrol", NULL, NULL); + snprintf(dir, MAXPATHLEN, "%s/lib/nvmecontrol", getlocalbase()); + cmd_load_dir(dir, NULL, NULL); cmd_dispatch(argc, argv, NULL); Modified: head/usr.sbin/mailwrapper/mailwrapper.c ============================================================================== --- head/usr.sbin/mailwrapper/mailwrapper.c Wed Nov 18 19:55:24 2020 (r367815) +++ head/usr.sbin/mailwrapper/mailwrapper.c Wed Nov 18 20:00:55 2020 (r367816) @@ -106,7 +106,7 @@ main(int argc, char *argv[], char *envp[]) addarg(&al, argv[0]); snprintf(localmailerconf, MAXPATHLEN, "%s/etc/mail/mailer.conf", - getenv("LOCALBASE") ? getenv("LOCALBASE") : _PATH_LOCALBASE); + getlocalbase()); mailerconf = localmailerconf; if ((config = fopen(localmailerconf, "r")) == NULL) Modified: head/usr.sbin/pkg/Makefile ============================================================================== --- head/usr.sbin/pkg/Makefile Wed Nov 18 19:55:24 2020 (r367815) +++ head/usr.sbin/pkg/Makefile Wed Nov 18 20:00:55 2020 (r367816) @@ -25,6 +25,6 @@ MAN= pkg.7 CFLAGS+=-I${SRCTOP}/contrib/libucl/include .PATH: ${SRCTOP}/contrib/libucl/include -LIBADD= archive fetch ucl sbuf crypto ssl +LIBADD= archive fetch ucl sbuf crypto ssl util .include <bsd.prog.mk> Modified: head/usr.sbin/pkg/config.c ============================================================================== --- head/usr.sbin/pkg/config.c Wed Nov 18 19:55:24 2020 (r367815) +++ head/usr.sbin/pkg/config.c Wed Nov 18 20:00:55 2020 (r367816) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include <ucl.h> #include <err.h> #include <errno.h> +#include <libutil.h> #include <paths.h> #include <stdbool.h> #include <unistd.h> @@ -455,9 +456,8 @@ config_init(void) } /* Read LOCALBASE/etc/pkg.conf first. */ - localbase = getenv("LOCALBASE") ? getenv("LOCALBASE") : _PATH_LOCALBASE; - snprintf(confpath, sizeof(confpath), "%s/etc/pkg.conf", - localbase); + localbase = getlocalbase(); + snprintf(confpath, sizeof(confpath), "%s/etc/pkg.conf", localbase); if (access(confpath, F_OK) == 0 && read_conf_file(confpath, CONFFILE_PKG)) Modified: head/usr.sbin/pkg/pkg.c ============================================================================== --- head/usr.sbin/pkg/pkg.c Wed Nov 18 19:55:24 2020 (r367815) +++ head/usr.sbin/pkg/pkg.c Wed Nov 18 20:00:55 2020 (r367816) @@ -43,12 +43,12 @@ __FBSDID("$FreeBSD$"); #include <errno.h> #include <fcntl.h> #include <fetch.h> +#include <libutil.h> #include <paths.h> #include <stdbool.h> #include <stdlib.h> #include <stdio.h> #include <string.h> -#include <unistd.h> #include <ucl.h> #include <openssl/err.h> @@ -1045,8 +1045,7 @@ main(int argc, char *argv[]) pkgarg = NULL; yes = false; - snprintf(pkgpath, MAXPATHLEN, "%s/sbin/pkg", - getenv("LOCALBASE") ? getenv("LOCALBASE") : _PATH_LOCALBASE); + snprintf(pkgpath, MAXPATHLEN, "%s/sbin/pkg", getlocalbase()); if (argc > 1 && strcmp(argv[1], "bootstrap") == 0) { bootstrap_only = true; _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"