code: func WriteStreamToPackage(is io.Reader, localpath string, packagepath string, tw *tar.Writer) error {
  	info, err := os.Stat(localpath)
  	if err != nil {
  		return fmt.Errorf("%s: %s", localpath, err)
  	}
  	header, err := tar.FileInfoHeader(info, localpath)
  	if err != nil {
  		return fmt.Errorf("Error getting FileInfoHeader: %s", err)
  	}
  
  	//Let's take the variance out of the tar, make headers identical by using zero time
  	oldname := header.Name
  	var zeroTime time.Time
  	header.AccessTime = zeroTime
  	header.ModTime = zeroTime
  	header.ChangeTime = zeroTime
  	header.Name = packagepath
  	header.Mode = 0100644
  	header.Uid = 500
  	header.Gid = 500
  
  	if err = tw.WriteHeader(header); err != nil {
  		return fmt.Errorf("Error write header for (path: %s, oldname:%s,newname:%s,sz:%d) : %s", localpath, oldname, packagepath, header.Size, err)
  	}
  	if _, err := io.Copy(tw, is); err != nil {
  		return fmt.Errorf("Error copy (path: %s, oldname:%s,newname:%s,sz:%d) : %s", localpath, oldname, packagepath, header.Size, err)
  	}
  
  	return nil
  }
docs: //WriteStreamToPackage writes bytes (from a file reader) to the tarball