Restore the old code behavior of passing the full tarball name to the underlying code, and only parse the tarball name in case we need the package name and type back, such as we have with git packager.
This resolves a regression using the autoserv packager as a package provider for autotest jobs (the default using the web interface). Signed-off-by: Lucas Meneghel Rodrigues <[email protected]> --- client/shared/base_packages.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/client/shared/base_packages.py b/client/shared/base_packages.py index 0c1c37f..97f142f 100644 --- a/client/shared/base_packages.py +++ b/client/shared/base_packages.py @@ -208,8 +208,6 @@ class RepositoryFetcher(object): @return: tuple with (name, fetch_dir) """ if install: - if "test" in name: - name = self.pkgmgr.get_tarball_name(name, "test") fetch_dir = os.path.join(fetch_dir, re.sub("/", "_", name)) return (name, fetch_dir) @@ -399,8 +397,8 @@ class GitFetcher(RepositoryFetcher): """ logging.info('Fetching %s from %s to %s', filename, self.url, dest_path) - - package_path = self.branch + " " + filename + name, package_type = self.pkgmgr.parse_tarball_name(filename) + package_path = self.branch + " " + name try: cmd = self.git_archive_cmd_pattern % (self.url, dest_path, package_path) result = self.run_command(cmd) @@ -415,12 +413,13 @@ class GitFetcher(RepositoryFetcher): logging.debug('Successfully fetched %s from %s', package_path, self.url) except error.CmdError: - raise error.PackageFetchError('%s not found in %s' % (filename, + raise error.PackageFetchError('%s not found in %s' % (name, package_path)) def install_pkg_post(self, filename, fetch_dir, install_dir, preserve_install_dir=False): + filename, _ = self.pkgmgr.parse_tarball_name(filename) install_path = re.sub(filename, "", install_dir) for suffix in ['', '.tar', '.tar.bz2']: pkg_name = "%s%s" % (suffix, re.sub("/","_", filename)) @@ -616,13 +615,13 @@ class BasePackageManager(object): fcntl.flock(lockfile, fcntl.LOCK_EX) self._run_command('mkdir -p %s' % fetch_dir) - + pkg_name = self.get_tarball_name(name, pkg_type) try: # Fetch the package into fetch_dir - fetcher = self.fetch_pkg(name, fetch_dir, use_checksum=True, + fetcher = self.fetch_pkg(pkg_name, fetch_dir, use_checksum=True, repo_url=repo_url, install=True) - fetcher.install_pkg_post(name, fetch_dir, install_dir, preserve_install_dir) + fetcher.install_pkg_post(pkg_name, fetch_dir, install_dir, preserve_install_dir) except error.PackageFetchError, why: raise error.PackageInstallError( 'Installation of %s(type:%s) failed : %s' -- 1.7.11.2 _______________________________________________ Autotest-kernel mailing list [email protected] https://www.redhat.com/mailman/listinfo/autotest-kernel
