YumDependency fix: try tar twice, yum seems to be working in the background at times
authorClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Tue, 9 Aug 2011 15:32:24 +0000 (17:32 +0200)
committerClaudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Tue, 9 Aug 2011 15:32:24 +0000 (17:32 +0200)
src/nepi/testbeds/planetlab/application.py

index d298066..433f91c 100644 (file)
@@ -955,11 +955,14 @@ class YumDependency(Dependency):
         
         # download rpms and pack into a tar archive
         return (
+            "sudo -S yum -y makecache && "
             "sudo -S sed -i -r 's/keepcache *= *0/keepcache=1/' /etc/yum.conf && "
             " ( ( "
                 "sudo -S yum -y install %s ; "
                 "rm -f ${BUILD}/packages.tar ; "
-                "tar -C /var/cache/yum -rf ${BUILD}/packages.tar $(find /var/cache/yum -iname '*.rpm')"
+                "( tar -C /var/cache/yum -rf ${BUILD}/packages.tar $(find /var/cache/yum -iname '*.rpm')"
+                    # Try again if it fails, some files sometimes disappear because yum deletes them
+                "  || ( rm -f ${BUILD}/packages.tar ; tar -C /var/cache/yum -rf ${BUILD}/packages.tar $(find /var/cache/yum -iname '*.rpm') ) )"
             " ) || /bin/true ) && "
             "sudo -S sed -i -r 's/keepcache *= *1/keepcache=0/' /etc/yum.conf && "
             "sudo -S yum -y clean packages "