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

Reply via email to