summaryrefslogtreecommitdiff
path: root/usr/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib')
-rw-r--r--usr/src/lib/libadm/common/mapfile-vers1
-rw-r--r--usr/src/lib/libadm/common/pkginfo.c130
-rw-r--r--usr/src/lib/libadm/common/pkgnmchk.c29
-rw-r--r--usr/src/lib/libadm/common/pkgparam.c14
-rw-r--r--usr/src/lib/libadm/inc/libadm.h3
5 files changed, 11 insertions, 166 deletions
diff --git a/usr/src/lib/libadm/common/mapfile-vers b/usr/src/lib/libadm/common/mapfile-vers
index 78db9864f1..914a9f530d 100644
--- a/usr/src/lib/libadm/common/mapfile-vers
+++ b/usr/src/lib/libadm/common/mapfile-vers
@@ -129,7 +129,6 @@ SYMBOL_VERSION SUNWprivate_1.1 {
get_install_root;
get_PKGADM;
get_PKGLOC;
- get_PKGOLD;
getvol;
_getvol;
listdev;
diff --git a/usr/src/lib/libadm/common/pkginfo.c b/usr/src/lib/libadm/common/pkginfo.c
index f6d4e72ee4..c6f165a531 100644
--- a/usr/src/lib/libadm/common/pkginfo.c
+++ b/usr/src/lib/libadm/common/pkginfo.c
@@ -28,7 +28,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.2 */
/*LINTLIBRARY*/
/* 5-20-92 added newroot functions */
@@ -50,9 +49,7 @@
#include "libadm.h"
static void initpkg(struct pkginfo *);
-static char *svr4inst(char *);
static int rdconfig(struct pkginfo *, char *, char *);
-static int svr4info(struct pkginfo *, char *, char *);
static int ckinfo(char *, char *, char *);
static int ckinst(char *, char *, char *, char *, char *);
static int verscmp(char *, char *);
@@ -199,9 +196,6 @@ rdconfig(struct pkginfo *info, char *pkginst, char *ckvers)
int count;
if ((fp = pkginfopen(pkgdir, pkginst)) == NULL) {
- if ((errno == ENOENT) && strcmp(pkgdir, get_PKGLOC()) == 0)
- return (svr4info(info, pkginst, ckvers));
-
errno = EACCES;
return (-1);
}
@@ -271,74 +265,6 @@ rdconfig(struct pkginfo *info, char *pkginst, char *ckvers)
}
static int
-svr4info(struct pkginfo *info, char *pkginst, char *ckvers)
-{
- static DIR *pdirfp;
- struct stat64 status;
- FILE *fp;
- char *pt, path[128], line[128];
- char temp[PKGSIZ+1];
-
- if (strcmp(pkginst, "all")) {
- if (pdirfp) {
- (void) closedir(pdirfp);
- pdirfp = NULL;
- }
- /* determine pkginst - remove '.*' extension, if any */
- (void) strncpy(temp, pkginst, PKGSIZ);
- if (((pt = strchr(temp, '.')) != NULL) && strcmp(pt, ".*") == 0)
- *pt = '\0';
- }
-
- /* look in /usr/options direcotry for 'name' file */
- (void) sprintf(path, "%s/%s.name", get_PKGOLD(), temp);
- if (lstat64(path, &status)) {
- errno = (errno == ENOENT) ? ESRCH : EACCES;
- return (-1);
- }
- if ((status.st_mode & S_IFMT) != S_IFREG) {
- errno = ESRCH;
- return (-1);
- }
- if ((fp = fopen(path, "r")) == NULL) {
- errno = (errno == ENOENT) ? ESRCH : EACCES;
- return (-1);
- }
-
- /* /usr/options/xxx.name exists */
- (void) fgets(line, 128, fp);
- (void) fclose(fp);
- if (pt = strchr(line, '\n'))
- *pt = '\0'; /* remove trailing newline */
- if (pt = strchr(line, ':'))
- *pt++ = '\0'; /* assumed version specification */
-
- if (info) {
- info->name = strdup(line);
- info->pkginst = strdup(temp);
- if (!info->name || !info->pkginst) {
- errno = ENOMEM;
- return (-1);
- }
- info->status = PI_PRESVR4;
- info->version = NULL;
- }
-
- if (pt) {
- /* eat leading space off of version spec */
- while (isspace((unsigned char)*pt))
- pt++;
- }
- if (ckvers && verscmp(ckvers, pt)) {
- errno = ESRCH;
- return (-1);
- }
- if (info && *pt)
- info->version = strdup(pt);
- return (0);
-}
-
-static int
ckinst(char *pkginst, char *pkgarch, char *pkgvers, char *ckarch, char *ckvers)
{
if (ckarch && archcmp(ckarch, pkgarch))
@@ -372,7 +298,6 @@ fpkginst(char *pkg, ...)
(void) closedir(pdirfp);
pdirfp = NULL;
}
- (void) svr4inst(NULL); /* close any files used here */
return (NULL);
}
@@ -406,67 +331,12 @@ fpkginst(char *pkg, ...)
return (pkginst);
}
- /*
- * If we are searching the directory which contains info about
- * installed packages, check the pre-svr4 directory for an instance
- * and be sure it matches any version specification provided to us
- */
- if (strcmp(pkgdir, get_PKGLOC()) == 0 && (ckarch == NULL)) {
- /* search for pre-SVR4 instance */
- if (pt = svr4inst(pkg))
- return (pt);
- }
errno = ESRCH;
/* close any file we might have open */
(void) closedir(pdirfp);
pdirfp = NULL;
return (NULL);
}
-/*ARGSUSED*/
-
-static char *
-svr4inst(char *pkg)
-{
- static char pkginst[PKGSIZ];
- static DIR *pdirfp;
- struct dirent64 *dp;
- struct stat64 status; /* file status buffer */
- char *pt;
- char path[PATH_MAX];
-
- if (pkg == NULL) {
- if (pdirfp) {
- (void) closedir(pdirfp);
- pdirfp = NULL;
- }
- return (NULL);
- }
-
- if (!pdirfp && ((pdirfp = opendir(get_PKGOLD())) == NULL))
- return (NULL);
-
- while ((dp = readdir64(pdirfp)) != NULL) {
- if (dp->d_name[0] == '.')
- continue;
- pt = strchr(dp->d_name, '.');
- if (pt && strcmp(pt, ".name") == 0) {
- /* the pkgnmchk function works on .name extensions */
- if (pkgnmchk(dp->d_name, pkg, 1))
- continue;
- (void) sprintf(path, "%s/%s", get_PKGOLD(), dp->d_name);
- if (lstat64(path, &status))
- continue;
- if ((status.st_mode & S_IFMT) != S_IFREG)
- continue;
- *pt = '\0';
- (void) strcpy(pkginst, dp->d_name);
- return (pkginst);
- }
- }
- (void) closedir(pdirfp);
- pdirfp = NULL;
- return (NULL);
-}
static int
verscmp(char *request, char *actual)
diff --git a/usr/src/lib/libadm/common/pkgnmchk.c b/usr/src/lib/libadm/common/pkgnmchk.c
index 905285dcc7..3f41492f10 100644
--- a/usr/src/lib/libadm/common/pkgnmchk.c
+++ b/usr/src/lib/libadm/common/pkgnmchk.c
@@ -28,12 +28,12 @@
* All rights reserved.
*/
-#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.2 */
/*LINTLIBRARY*/
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
+#include <note.h>
#include "libadm.h"
static char *rsvrd[] = {
@@ -46,14 +46,13 @@ static char *rsvrd[] = {
#define NMBRK ".*"
#define WILD1 ".*"
#define WILD2 "*"
-#define WILD3 ".name"
#define ABI_NAMELNGTH 9
#define NON_ABI_NAMELNGTH 32
static int abi_namelngth = 0;
static int
-valname(char *pkg, int wild, int presvr4flg)
+valname(char *pkg, int wild)
{
int count, i, n;
char *pt;
@@ -71,14 +70,12 @@ valname(char *pkg, int wild, int presvr4flg)
}
/*
- * check for valid extensions; we must do this
- * first since we need to look for SVR3 ".name"
+ * check for valid extensions; we used to do this
+ * first since we needed to look for SVR3 ".name"
* before we validate the package abbreviation
*/
if (pt = strpbrk(pkg, NMBRK)) {
- if (presvr4flg && (strcmp(pt, WILD3) == 0))
- return (0); /* SVR3 packages have no validation */
- else if ((strcmp(pt, WILD1) == 0) || (strcmp(pt, WILD2) == 0)) {
+ if ((strcmp(pt, WILD1) == 0) || (strcmp(pt, WILD2) == 0)) {
/* wildcard specification */
if (!wild)
return (1);
@@ -98,8 +95,7 @@ valname(char *pkg, int wild, int presvr4flg)
/* check for valid package name */
count = 0;
- if (!isalnum((unsigned char)*pkg) ||
- (!presvr4flg && !isalpha((unsigned char)*pkg)))
+ if (!isalpha((unsigned char)*pkg))
return (-1);
while (*pkg && !strchr(NMBRK, *pkg)) {
if (!isalnum((unsigned char)*pkg) && !strpbrk(pkg, "-+"))
@@ -121,6 +117,8 @@ valname(char *pkg, int wild, int presvr4flg)
int
pkgnmchk(char *pkg, char *spec, int presvr4flg)
{
+ _NOTE(ARGUNUSED(presvr4flg));
+
/* pkg is assumed to be non-NULL upon entry */
/*
@@ -131,28 +129,23 @@ pkgnmchk(char *pkg, char *spec, int presvr4flg)
* "x*" pkg must be valid and must be an instance of "x"
*/
- if (valname(pkg, ((spec == NULL) ? 1 : 0), presvr4flg))
+ if (valname(pkg, ((spec == NULL) ? 1 : 0)))
return (1); /* invalid or reserved name */
if ((spec == NULL) || (strcmp(spec, "all") == 0))
return (0);
while (*pkg == *spec) {
- if ((strcmp(spec, WILD1) == 0) || (strcmp(spec, WILD2) == 0) ||
- (strcmp(spec, WILD3) == 0))
+ if ((strcmp(spec, WILD1) == 0) || (strcmp(spec, WILD2) == 0))
break; /* wildcard spec, so stop right here */
else if (*pkg++ == '\0')
return (0); /* identical match */
spec++;
}
- if ((strcmp(spec, WILD1) == 0) || (strcmp(spec, WILD2) == 0) ||
- (strcmp(spec, WILD3) == 0)) {
+ if ((strcmp(spec, WILD1) == 0) || (strcmp(spec, WILD2) == 0))
if ((pkg[0] == '\0') || (pkg[0] == '.'))
return (0);
- }
- if ((spec[0] == '\0') && (strcmp(pkg, WILD3) == 0))
- return (0); /* compare pkg.name to pkg */
return (1);
}
diff --git a/usr/src/lib/libadm/common/pkgparam.c b/usr/src/lib/libadm/common/pkgparam.c
index 0a086379d2..d43f717554 100644
--- a/usr/src/lib/libadm/common/pkgparam.c
+++ b/usr/src/lib/libadm/common/pkgparam.c
@@ -26,7 +26,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.1 */
/*LINTLIBRARY*/
/* 5-20-92 newroot support added */
@@ -55,7 +54,6 @@ static char *pkg_inst_root = NULL;
char *pkgdir = NULL;
char *pkgfile = NULL;
-static char Adm_pkgold[PATH_MAX] = { 0 }; /* added for newroot */
static char Adm_pkgloc[PATH_MAX] = { 0 }; /* added for newroot */
static char Adm_pkgadm[PATH_MAX] = { 0 }; /* added for newroot */
@@ -393,16 +391,13 @@ set_PKGpaths(char *path)
{
if (path && *path) {
(void) sprintf(Adm_pkgloc, "%s%s", path, PKGLOC);
- (void) sprintf(Adm_pkgold, "%s%s", path, PKGOLD);
(void) sprintf(Adm_pkgadm, "%s%s", path, PKGADM);
set_install_root(path);
} else {
(void) sprintf(Adm_pkgloc, "%s", PKGLOC);
- (void) sprintf(Adm_pkgold, "%s", PKGOLD);
(void) sprintf(Adm_pkgadm, "%s", PKGADM);
}
canonize_name(Adm_pkgloc);
- canonize_name(Adm_pkgold);
canonize_name(Adm_pkgadm);
pkgdir = Adm_pkgloc;
}
@@ -417,15 +412,6 @@ get_PKGLOC(void)
}
char *
-get_PKGOLD(void)
-{
- if (Adm_pkgold[0] == NULL)
- return (PKGOLD);
- else
- return (Adm_pkgold);
-}
-
-char *
get_PKGADM(void)
{
if (Adm_pkgadm[0] == NULL)
diff --git a/usr/src/lib/libadm/inc/libadm.h b/usr/src/lib/libadm/inc/libadm.h
index 68927cfb96..881819e04d 100644
--- a/usr/src/lib/libadm/inc/libadm.h
+++ b/usr/src/lib/libadm/inc/libadm.h
@@ -32,8 +32,6 @@
#ifndef _LIBADM_H
#define _LIBADM_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <valtools.h>
#include <stdio.h>
#include <pkginfo.h>
@@ -99,7 +97,6 @@ extern char *fpkginst(char *, ...);
extern char *fpkgparam(FILE *, char *);
extern char *get_PKGADM(void);
extern char *get_PKGLOC(void);
-extern char *get_PKGOLD(void);
extern int getinput(char *);
extern char *getfullblkname(char *);
extern char *getfullrawname(char *);