presvr4.c revision 5c51f1241dbbdf2656d0e10011981411ed0c9673
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
#include <stdio.h>
#include <signal.h>
#include <limits.h>
#include <stdlib.h>
#include <unistd.h>
#include <valtools.h>
#include <locale.h>
#include <libintl.h>
#include <pkgdev.h>
#include <pkglocs.h>
#include "install.h"
#include <pkglib.h>
#include "libadm.h"
#include "libinst.h"
/*
* pkgadd local includes
*/
#include "quit.h"
extern char *tmpdir;
extern int started;
static void intf_reloc(void);
#define MSG_DEVICE "Removal of a pre-SVR4 package requires the original " \
"medium from which the package was installed."
#define ASK_DEVICE "Enter the alias or pathname for the device to be " \
#define ASK_INSERT "Insert the first volume for package <%s> into %s"
#define ERR_NOCOPY "unable to create copy of UNINSTALL script in <%s>"
#define ERR_NOINT "-n option cannot be used when removing pre-SVR4 " \
"packages"
#define ERR_BADDEV "Unknown or bad device <%s> specified"
#define MSG_MAIL "An attempt to remove the <%s> pre-SVR4 package on " \
"<%s> completed with exit status <%d>."
#define INFO_P4RMOK "\nPre-SVR4 package reported successful removal.\n"
int
{
char *tmpcmd;
int n, retcode;
void (*tmpfunc)();
if (a_nointeract != 0) {
quit(1);
}
/* should accept device alias?? */
for (;;) {
return (n);
continue;
continue;
}
break;
}
quit(n);
/*
* check to see if we can guess (via Rlist) what
* pathnames this package is likely to remove;
* if we can, check these against the 'contents'
* file and warn the administrator that these
* pathnames might be modified in some manner
*/
psvr4cnflct();
quit(99);
}
"/install");
quit(99);
}
started++;
if (retcode) {
} else {
}
/* tell quit to call intf_reloc on exit */
return (retcode);
}
/*
* *****************************************************************************
* static internal (private) functions
* *****************************************************************************
*/
/*
* When quit() gains control this function will be invoked if quitSetIntfReloc()
* is called specifying this function - see presvr4() above for details.
*/
static void
intf_reloc(void)
{
}