diff options
author | eadler <eadler@FreeBSD.org> | 2012-10-22 02:12:20 +0000 |
---|---|---|
committer | eadler <eadler@FreeBSD.org> | 2012-10-22 02:12:20 +0000 |
commit | e5f518a9dd260cb94bcfbdd98fbe683711e64da9 (patch) | |
tree | 4e0f1821028021b1a63d6187f93efe43cb81b143 /usr.sbin/pkg_install/lib | |
parent | 31cc468089c6b473ff4b45e12a56b670af20fbfc (diff) | |
download | FreeBSD-src-e5f518a9dd260cb94bcfbdd98fbe683711e64da9.zip FreeBSD-src-e5f518a9dd260cb94bcfbdd98fbe683711e64da9.tar.gz |
Warn users when using pkg tools if it looks like they
be be pkgng users.
Reviewed by: bapt (earlier version)
Reviewed by: kwm
Approved by: cperciva
MFC after: 3 days
Diffstat (limited to 'usr.sbin/pkg_install/lib')
-rw-r--r-- | usr.sbin/pkg_install/lib/Makefile | 2 | ||||
-rw-r--r-- | usr.sbin/pkg_install/lib/lib.h | 1 | ||||
-rw-r--r-- | usr.sbin/pkg_install/lib/pkgng.c | 38 |
3 files changed, 40 insertions, 1 deletions
diff --git a/usr.sbin/pkg_install/lib/Makefile b/usr.sbin/pkg_install/lib/Makefile index 84a41b8..12cc307 100644 --- a/usr.sbin/pkg_install/lib/Makefile +++ b/usr.sbin/pkg_install/lib/Makefile @@ -3,7 +3,7 @@ LIB= install INTERNALLIB= SRCS= file.c msg.c plist.c str.c exec.c global.c pen.c match.c \ - deps.c version.c pkgwrap.c url.c + deps.c version.c pkgwrap.c url.c pkgng.c WARNS?= 3 WFORMAT?= 1 diff --git a/usr.sbin/pkg_install/lib/lib.h b/usr.sbin/pkg_install/lib/lib.h index a6935ad..88fcf34 100644 --- a/usr.sbin/pkg_install/lib/lib.h +++ b/usr.sbin/pkg_install/lib/lib.h @@ -157,6 +157,7 @@ const char *make_playpen(char *, off_t); char *where_playpen(void); int leave_playpen(void); off_t min_free(const char *); +void warnpkgng(void); /* String */ char *get_dash_string(char **); diff --git a/usr.sbin/pkg_install/lib/pkgng.c b/usr.sbin/pkg_install/lib/pkgng.c new file mode 100644 index 0000000..76c8ad8 --- /dev/null +++ b/usr.sbin/pkg_install/lib/pkgng.c @@ -0,0 +1,38 @@ +/* + * FreeBSD install - a package for the installation and maintenance + * of non-core utilities. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Eitan Adler + * + * detect pkgng's existence and warn + * + */ + +#include <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +#include "lib.h" +#include <err.h> + +void warnpkgng(void) { + char pkgngpath[MAXPATHLEN]; + char *pkgngdir; + + pkgngdir = getenv("PKG_DBDIR"); + if (pkgngdir == NULL) + pkgngdir = "/var/db/pkg"; + strcpy(pkgngpath, pkgngdir); + strcat(pkgngpath, "/local.sqlite"); + + if (access(pkgngpath, F_OK) == 0) + warnx("Don't use the pkg_ tools if you are using pkgng"); +} |