docs: def setup_dirs(self, storage_dir):
          '''Calculates all the storage and build dirs, and makes sure
          the directories exist where necessary.'''
          self.storage_dir = expanduser(storage_dir)
          if ' ' in self.storage_dir:
              raise ValueError('storage dir path cannot contain spaces, please '
                               'specify a path with --storage-dir')
          self.build_dir = join(self.storage_dir, 'build')
          self.dist_dir = join(self.storage_dir, 'dists')