Home | History | Annotate | Download | only in pmodes
      1 #
      2 # CDDL HEADER START
      3 #
      4 # The contents of this file are subject to the terms of the
      5 # Common Development and Distribution License, Version 1.0 only
      6 # (the "License").  You may not use this file except in compliance
      7 # with the License.
      8 #
      9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     10 # or http://www.opensolaris.org/os/licensing.
     11 # See the License for the specific language governing permissions
     12 # and limitations under the License.
     13 #
     14 # When distributing Covered Code, include this CDDL HEADER in each
     15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     16 # If applicable, add the following below this CDDL HEADER, with the
     17 # fields enclosed by brackets "[]" replaced with your own identifying
     18 # information: Portions Copyright [yyyy] [name of copyright owner]
     19 #
     20 # CDDL HEADER END
     21 #
     22 /*
     23  * Copyright (c) 1999-2001 by Sun Microsystems, Inc.
     24  * All rights reserved.
     25  */
     26 
     27 #ident	"%Z%%M%	%I%	%E% SMI"
     28 
     29 Pmodes is a program that updates pkgmap files or pkg prototype files.
     30 
     31 
     32 Usage: pmodes [-somwDeNndvqP] [-r file] directory  .. proto/pkgmap file....
     33 
     34 
     35 
     36 Options that modify what is changed:
     37 
     38 	-s 	Strip read and write permissions from setgid/setuid executables.
     39 	-o	Do not change ownership to root
     40 	-m	Do not change file permissions (modes)
     41 	-w 	Do not strip owner write permissions from non-root owned
     42 		binaries
     43 	-e	Do not change 'e' or 'v' (editable or volatile) files
     44 		(they are only affected when owned by bin)
     45 	-D	Limit changes to directories only.
     46 	
     47 Options that modify the output:
     48 	-n	Create a <file>.new file
     49 	-N	Overwrite the original pkgmap/proto file with the new file;
     50 		old pkgmap/proto file saved as file.old
     51 	-d	Produce "diff-style" output
     52 	-P	Ignore pkgmap files in directories.
     53 	-q	Do not produce error messages about directories w/ pkginfo*
     54 		files
     55 	-v	Preceed the output caused by each processed file by a
     56 		shortened version of the filename.
     57 
     58 	-r file	Restrict the test to the pathnames listed in "file"
     59 
     60 
     61 In default mode of operation, pmodes processes each argument.
     62 If an argument is a directory, it will first look for a pkginfo or
     63 pkginfo.tmpl file n order to learn the BASEDIR; it will than process
     64 the directory converting either the pkgmap file or, if the pkgmap file
     65 doesn't exist or the -P option is specified, the prototype_* files
     66 Names that contain .old or .new will be ignored.  If an argument is a file,
     67 the pkginfo* file in the same directory is used to learn the BASEDIR.
     68 
     69 Pmodes outputs a line for each change made:
     70 
     71 e m 0664 -> 0644 /var/adm/wtmpx
     72 d m 0775 -> 0755 /usr/lib
     73 d o bin -> root /usr/include/sys [755]
     74 f o bin -> root /usr/include/sys/cg6reg.h [0644]
     75 f o bin -> root /usr/include/sys/cg6var.h [0644]
     76 
     77 The first field is the "pkgmap" file type; the second field is the type
     78 of modification (m for mode, o for ownership).  This is followed by the
     79 change mode and the pathname.
     80 
     81 When ownership is changed, the file permissions are printed in square
     82 brackets.
     83 
     84 Multiple lines of output can be produced for a single file.
     85 
     86 With the -d option, output looks like:
     87 
     88 < d 0775 root sys /usr
     89 > d 0755 root sys /usr
     90 < d 0775 root bin /usr/include
     91 > d 0755 root bin /usr/include
     92 < d 1777 bin bin /var/preserve
     93 > d 1777 root bin /var/preserve
     94 < e 0664 root sys /etc/vfstab
     95 > e 0644 root sys /etc/vfstab
     96 
     97 And only one line per file is produced.
     98 
     99