--- /dev/null
+#!@PYTHON@
+import string
+import getopt
+import sys
+import os
+import shutil
+(opts, args) = getopt.getopt (sys.argv[1:], 'b:cdg:m:o:st:', [])
+transform_base = None
+group = None
+owner = None
+transform = None
+mode = None
+copy = False
+create_dir = False
+
+for (o,a) in opts:
+ if o == '-b':
+ transform_base = a
+ elif o == '-c':
+ copy = True
+ elif o == '-d':
+ create_dir = True
+ elif o == '-g':
+ group = a
+ elif o == '-m':
+ mode = string.atoi (a, 8)
+ elif o == '-o':
+ owner = a
+ elif o == '-s':
+ strip = True
+ elif o == '-t':
+ transform = a
+ elif o == '-h':
+ print ''' Usage: $0 [OPTION]... SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 -d DIRECTORIES...
+
+In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
+In the second, create the directory path DIR.
+
+Options:
+-b=TRANSFORMBASENAME
+-c copy source (using $cpprog) instead of moving (using $mvprog).
+-d create directories instead of installing files.
+-g GROUP $chgrp installed files to GROUP.
+-m MODE $chmod installed files to MODE.
+-o USER $chown installed files to USER.
+-s strip installed files (using $stripprog).
+-t=TRANSFORM
+--help display this help and exit.
+--version display version info and exit.'''
+ sys.exit (0)
+
+if not mode:
+ if create_dir:
+ mode = 0755
+ else:
+ mode = 0644
+
+
+chown_me = []
+
+dest = None
+if not create_dir:
+ dest = args.pop()
+
+for f in args:
+ if create_dir:
+ os.makedirs (f, mode=mode)
+ chown_me.append (f)
+ else:
+ if copy:
+ shutil.copy2 (f, dest)
+ else:
+ shutil.move (f, dest)
+ if os.path.isdir (dest):
+ chown_me.append (os.path.join (dest, os.path.basename (f)))
+ else:
+ chown_me.append (dest)
+
+for f in chown_me:
+ os.chmod (f, mode)
+ if group <> None or owner <> None:
+ os.chown (f, group, owner)
+
+
+
+
+