usr/src/cmd/svr4pkg/libinst/pkgdbmerg.c
changeset 12734 76969fc28795
parent 10176 7d4731c42dff
equal deleted inserted replaced
12733:bcfc9c7baa2e 12734:76969fc28795
    18  *
    18  *
    19  * CDDL HEADER END
    19  * CDDL HEADER END
    20  */
    20  */
    21 
    21 
    22 /*
    22 /*
    23  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
    23  * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
    24  * Use is subject to license terms.
       
    25  */
    24  */
    26 
    25 
    27 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
    26 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
    28 /* All Rights Reserved */
    27 /* All Rights Reserved */
    29 
    28 
   970 		 * assumption?) this function will recognize this as a
   969 		 * assumption?) this function will recognize this as a
   971 		 * change. The ambiguous el_ent values will be evaluated and
   970 		 * change. The ambiguous el_ent values will be evaluated and
   972 		 * set later.
   971 		 * set later.
   973 		 */
   972 		 */
   974 
   973 
   975 		/*
   974 		if (cf_ent->cinfo.size != el_ent->cf_ent.cinfo.size) {
   976 		 * for type f/v files, if the file is in an area that is
       
   977 		 * inherited from the global zone, that area is read only
       
   978 		 * and the object cannot be changed - ignore any settings
       
   979 		 * in the current package database that may be present for
       
   980 		 * any existing object because they are irrelevant - since
       
   981 		 * the object is in a read-only area shared from the global
       
   982 		 * zone, accept that file's actual attributes as being correct.
       
   983 		 */
       
   984 
       
   985 		if (z_path_is_inherited(el_ent->cf_ent.path,
       
   986 			el_ent->cf_ent.ftype, get_inst_root()) == B_TRUE) {
       
   987 			echoDebug(DBG_PKGDBMRG_INHERITED, el_ent->cf_ent.path);
       
   988 		} else if (cf_ent->cinfo.size != el_ent->cf_ent.cinfo.size) {
       
   989 			changed++;
   975 			changed++;
   990 			el_ent->mstat.contchg = 1;
   976 			el_ent->mstat.contchg = 1;
   991 		} else if (cf_ent->cinfo.modtime !=
   977 		} else if (cf_ent->cinfo.modtime !=
   992 		    el_ent->cf_ent.cinfo.modtime) {
   978 		    el_ent->cf_ent.cinfo.modtime) {
   993 			changed++;
   979 			changed++;