[Gelistirici] rt-* firmware
S.Çağlar Onur
caglar at pardus.org.tr
14 Şub 2008 Per 00:29:44 EET
13 Şub 2008 Çar tarihinde, Onur Küçük şunları yazmıştı:
> > > Doğru çözüm bence pisi de update ederken permanent dosyalara
> > > dokunmamak, ama "pisi rm" ile paket silinirse permanent dosyaların
> > > silinmesi.
> >
> > Aslında rm ile silinmesi yerine --ignore-permanent ekleyebiliriz. rm
> > ile bunları silmek olur ya pisi rm kernel durumunda başımızı
> > ağrıtabilir :)
>
> kernel, system.base in bir parçası. system.base in bir parçasının özel
> parametre verilmeden silinememesi lazım zaten. Ama diğer paketler için
> böyle bir zorunluluk olmasının bence hiç bir anlamı yok.
Faik aşağıdaki iş görür gibi sanki, ne dersin?
caglar at zangetsu pisi $ grep "remove_file(" * -r
atomicoperations.py: Remove.remove_file(old_fileinfo[path], self.pkginfo.name, operation = self.operation)
atomicoperations.py: self.remove_file(fileinfo, self.package_name)
atomicoperations.py: def remove_file(fileinfo, package_name, operation = REMOVE):
Index: pisi/atomicoperations.py
===================================================================
--- pisi/atomicoperations.py (revision 17132)
+++ pisi/atomicoperations.py (working copy)
@@ -359,7 +359,7 @@
for fileinfo in self.old_files.list:
old_fileinfo[str(fileinfo.path)] = fileinfo
for path in leftover:
- Remove.remove_file(old_fileinfo[path], self.pkginfo.name)
+ Remove.remove_file(old_fileinfo[path], self.pkginfo.name, operation = self.operation)
if self.reinstall():
# get 'config' typed file objects
@@ -495,7 +495,7 @@
# is there any package who depends on this package?
@staticmethod
- def remove_file(fileinfo, package_name):
+ def remove_file(fileinfo, package_name, operation = REMOVE):
fpath = pisi.util.join_path(ctx.config.dest_dir(), fileinfo.path)
filesdb = pisi.db.filesdb.FilesDB()
@@ -509,7 +509,7 @@
ctx.ui.warning(_('Not removing conflicted file : %s') % fpath)
return
- if fileinfo.permanent:
+ if fileinfo.permanent and operation != REMOVE:
# do not remove precious files :)
pass
elif fileinfo.type == ctx.const.conf:
@@ -546,7 +546,7 @@
def update_databases(self):
self.remove_db()
- self.historydb.add_and_update(pkgBefore=self.package, operation="remove")
+ self.historydb.add_and_update(pkgBefore=self.package, operation="remove")
def remove_pisi_files(self):
util.clean_dir(self.package.pkg_dir())
--
S.Çağlar Onur <caglar at pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/
Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi