Example #1
0
 def consume_file(self, filepath, platform, arch):
     from infi.app_repo.utils import sign_rpm_package
     dirpath = path.join(self.base_directory,
                         '%s-%s' % (platform, TRANSLATE_ARCH[arch]))
     hard_link_or_raise_exception(filepath, dirpath)
     sign_rpm_package(filepath)
     self._update_index(dirpath)
Example #2
0
    def consume_file(self, filepath, platform, arch):
        from infi.app_repo.utils import sign_rpm_package

        dirpath = path.join(self.base_directory, "%s-%s" % (platform, TRANSLATE_ARCH[arch]))
        hard_link_or_raise_exception(filepath, dirpath)
        sign_rpm_package(filepath)
        self._update_index(dirpath)
Example #3
0
 def consume_file(self, filepath, platform, arch):
     package_name, package_version, platform_string, architecture, extension = parse_filepath(
         filepath)
     directory = path.join(self.base_directory,
                           package_name.replace('_', '-'))
     ensure_directory_exists(directory)
     filename = '{0}-{1}.tar.gz'.format(package_name, package_version)
     hard_link_or_raise_exception(filepath, path.join(directory, filename))
Example #4
0
 def consume_file(self, filepath, platform, arch):
     package_name, package_version, platform_string, architecture, extension = parse_filepath(filepath)
     platform_string = "vmware-esx" if extension == "ova" else platform_string # TODO this needs to change in our build
     dirpath = path.join(self.base_directory, 'packages', package_name, 'releases', package_version,
                         'distributions', platform_string, 'architectures', architecture,
                         'extensions', extension)
     ensure_directory_exists(dirpath)
     hard_link_or_raise_exception(filepath, dirpath)
     self.rebuild_index()
Example #5
0
 def consume_file(self, filepath, platform, arch):
     package_name, package_version, platform_string, architecture, extension = parse_filepath(filepath)
     platform_string = "vmware-esx" if extension == "ova" else platform_string # TODO this needs to change in our build
     dirpath = path.join(self.base_directory, 'packages', package_name, 'releases', package_version,
                         'distributions', platform_string, 'architectures', architecture,
                         'extensions', extension)
     ensure_directory_exists(dirpath)
     hard_link_or_raise_exception(filepath, dirpath)
     self.rebuild_index()
Example #6
0
 def _try_except_finally_on_filepath(self, func, index, filepath, *args, **kwargs): # TODO rejection needs a test
     try:
         func(self.config, index, filepath, *args, **kwargs)
     except:
         logger.exception("processing source {} failed, moving it to {}".format(filepath, self.config.rejected_directory))
         try:
             hard_link_or_raise_exception(filepath, path.join(self.config.rejected_directory, index))
         except:
             pass
     finally:
         remove(filepath)
Example #7
0
 def consume_file(self, filepath, platform, arch):
     from infi.app_repo.utils import sign_deb_package
     distribution_name, codename = platform.rsplit('-', 1)
     dirpath = self.deduce_dirname(distribution_name, codename, arch)
     hard_link_or_raise_exception(filepath, dirpath)
     sign_deb_package(filepath)
     with temporary_directory_context() as tempdir:
         hard_link_or_raise_exception(filepath, tempdir)
         contents = dpkg_scanpackages(['--multiversion', tempdir, '/dev/null'])
         relapath = dirpath.replace(path.join(self.base_directory, distribution_name), '').strip(path.sep)
         fixed_contents = contents.replace(tempdir, relapath)
         write_to_packages_file(dirpath, fixed_contents, 'a')
     self.generate_release_file_for_specific_distribution_and_version(distribution_name, codename)
Example #8
0
 def _try_except_finally_on_filepath(
         self, func, index, filepath, *args,
         **kwargs):  # TODO rejection needs a test
     try:
         func(self.config, index, filepath, *args, **kwargs)
     except:
         logger.exception(
             "processing source {} failed, moving it to {}".format(
                 filepath, self.config.rejected_directory))
         try:
             hard_link_or_raise_exception(
                 filepath, path.join(self.config.rejected_directory, index))
         except:
             pass
     finally:
         remove(filepath)
 def consume_file(self, filepath, platform, arch):
     package_name, package_version, platform_string, architecture, extension = parse_filepath(filepath)
     package_dir = path.join(self.base_directory, package_name)
     ensure_directory_exists(package_dir)
     final_filepath = hard_link_or_raise_exception(filepath, package_dir)
     if self._get_latest_update_file_in_directory(package_dir) == final_filepath:
         self._extract_update(package_dir, final_filepath)
 def consume_file(self, filepath, platform, arch):
     package_name, package_version, platform_string, architecture, extension = parse_filepath(
         filepath)
     package_dir = path.join(self.base_directory, package_name)
     ensure_directory_exists(package_dir)
     final_filepath = hard_link_or_raise_exception(filepath, package_dir)
     if self._get_latest_update_file_in_directory(
             package_dir) == final_filepath:
         self._extract_update(package_dir, final_filepath)
Example #11
0
 def test_hard_link_or_raise_exception(self):
     with temporary_directory_context():
         with fopen('src', 'w'):
             pass
         with self.assertRaises(FileAlreadyExists):
             hard_link_or_raise_exception('src', '.')
         hard_link_or_raise_exception('src', 'dst')
         with self.assertRaises(FileAlreadyExists):
             hard_link_or_raise_exception('src', 'dst')
Example #12
0
 def consume_file(self, filepath, platform, arch):
     package_name, package_version, platform_string, architecture, extension = parse_filepath(filepath)
     directory = path.join(self.base_directory, package_name)
     ensure_directory_exists(directory)
     filename = '{0}-{1}.tar.gz'.format(package_name, package_version)
     hard_link_or_raise_exception(filepath, path.join(directory, filename))
Example #13
0
 def consume_file(self, filepath, platform, arch):
     hard_link_or_raise_exception(filepath, self.base_directory)
Example #14
0
 def consume_file(self, filepath, platform, arch):
     hard_link_or_raise_exception(filepath, self.base_directory)