[Uludag-commits] r10151 - trunk/pisi/pisi

svn-uludag at uludag.org.tr svn-uludag at uludag.org.tr
3 Kas 2006 Cum 20:12:47 EET


Author: faik
Date: Fri Nov  3 20:12:47 2006
New Revision: 10151

Modified:
   trunk/pisi/pisi/atomicoperations.py
   trunk/pisi/pisi/installdb.py
Log:
* if post-install fails do not fail pisi, just print a warning and 
  mark package as configure-pending. This will help for two reasons.
  First the user will find out the failed configurations. And second,
  failing "pisi cp <package>" session, an advanced user may even update 
  the script and "pisi cp" it again. So marking it as cp is not a bad 
  idea.

* fix for a scenario that came to mind and resulted as expected.

faik at iago traceroute $ pisi lp
traceroute

faik at iago traceroute $ sudo pisi rm traceroute
Bağımlılıkları sağlamak için bu paketler verilen sırada kaldırılacaktır:
traceroute
traceroute paketi kaldırılıyor
Paket kaldırılmak üzere yapılandırılıyor
traceroute paketi kaldırıldı

faik at iago traceroute $ pisi lp
traceroute

faik at iago traceroute $ sudo pisi cp
Program sonlandırıldı.
Paket traceroute bulunamadı



Modified: trunk/pisi/pisi/atomicoperations.py
=================================================================
--- trunk/pisi/pisi/atomicoperations.py	(original)
+++ trunk/pisi/pisi/atomicoperations.py	Fri Nov  3 20:12:47 2006
@@ -240,15 +240,19 @@
         self.config_later = False
         if ctx.comar:
             import pisi.comariface
-            ctx.ui.notify(pisi.ui.configuring, package = self.pkginfo, files = self.files)
-            pisi.comariface.post_install(
-                self.pkginfo.name,
-                self.metadata.package.providesComar,
-                self.package.comar_dir(),
-                os.path.join(self.package.pkg_dir(), ctx.const.metadata_xml),
-                os.path.join(self.package.pkg_dir(), ctx.const.files_xml),
-            )
-            ctx.ui.notify(pisi.ui.configured, package = self.pkginfo, files = self.files)
+            try:
+                ctx.ui.notify(pisi.ui.configuring, package = self.pkginfo, files = self.files)
+                pisi.comariface.post_install(
+                    self.pkginfo.name,
+                    self.metadata.package.providesComar,
+                    self.package.comar_dir(),
+                    os.path.join(self.package.pkg_dir(), ctx.const.metadata_xml),
+                    os.path.join(self.package.pkg_dir(), ctx.const.files_xml),
+                    )
+                ctx.ui.notify(pisi.ui.configured, package = self.pkginfo, files = self.files)
+            except pisi.comariface.Error:
+                ctx.ui.warning(_('%s configuration failed.') % self.pkginfo.name)
+                self.config_later = True
         else:
             self.config_later = True
 

Modified: trunk/pisi/pisi/installdb.py
=================================================================
--- trunk/pisi/pisi/installdb.py	(original)
+++ trunk/pisi/pisi/installdb.py	Fri Nov  3 20:12:47 2006
@@ -189,6 +189,8 @@
             info = self.d.get(pkg, txn)
             info.state = 'r'
             self.d.put(pkg, info, txn)
+            if self.dp.has_key(pkg):
+                self.dp.delete(pkg, txn)
         self.d.txn_proc(proc, txn)
 
     def purge(self, pkg, txn = None):


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi