Bug#438482: support for addon evolution / garbage collection

Stefano Zacchiroli zack at debian.org
Fri Aug 17 10:26:38 UTC 2007


Package: vim-addon-manager
Version: 0.2
Severity: wishlist

--- Please enter the report below this line. ---

[ note-to-self type of bugreport ]

Addon evolution
---------------

Addons evolve. They can add new files in new versions or remove files
that were previously shipped. Both situations need to be taken into
account by vim-addon-manager.

Addition of new files are currently handled by vim-addon-manager
recognizing that the addon is in "broken" status after the new version
is installed system wide (assuming additions are properly documented in
the registry of course). "vim-addons install" will fix this, but we need
to automate or at least ease the fixing process.

Removal of old files (i.e. garbage collection) is not currently handled.
vim-addon-manager need to grow detection of dangling symlinks and the
ability to delete them. Currently it is not possible to distinguish
among garbage links left over by vim-addons or by user-created dangling
links. The distinction would require to relegate in a specific subdir
all the stuff installed by vim-addons (or to version information in the
vim registry, which is a non-option!).  ATM I think this is overkilling
and that removing user-created dangling symlinks won't be a big deal
(they were dangling and therefore useless anyway!).  Similar
considerations apply to lines in ~/.vim/plugin/vim-addons.vim: they need
to be garbage collected as well.

TODO: add a -f/--fix-broken option to vim-addons implementing the logics
described above

Automation
----------

Question: how to automate the stuff above so that the user does not have
to manually invoke "vim-addons -f"?

For system-wide addons that can be obtained with postinst/postrm hooks
used by all packages shipping vim addons. (Too bad: we should have
shipped a dh_vim or something since the beginning of the Debian vim
policy, even if empty, this way we wouldn't have had the need of asking
maintainers to do changes twice!)

TODO: create a dh_vim which invokes "vim-addons -f" system-wide
TODO: while we are at it, it makes sense to ease the registration of
      addons in the registry via debian/package.vim files or something ...

For user addons we can do this lazily: each time the user invokes
vim-addons (for whatever reason) we can check if something is broken and
emit warnings which suggest to invoke "vim-addons -f".  Alternatively we
can provide some vim legacy addon which invokes some b0rken checking
each/some time vim is invoked, but this is feasible *only* if we can do
that efficiently, and I don't think it is possible with the current
registry format + ruby.

--- System information. ---
Architecture: i386
Kernel:       Linux 2.6.22-1-686

Debian Release: lenny/sid
  500 unstable        www.debian-multimedia.org 
  500 unstable        people.debian.org 
  500 unstable        ftp.it.debian.org 
  500 testing         security.debian.org 
    1 experimental    ftp.it.debian.org 

--- Package information. ---
Depends         (Version) | Installed
=========================-+-===========
ruby                      | 1.8.2-1
vim-common                | 1:7.1-056+2


-- 
Stefano Zacchiroli -*- PhD in Computer Science ............... now what?
zack@{cs.unibo.it,debian.org,bononia.it} -%- http://www.bononia.it/zack/
(15:56:48)  Zack: e la demo dema ?    /\    All one has to do is hit the
(15:57:15)  Bac: no, la demo scema    \/    right keys at the right time
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-vim-maintainers/attachments/20070817/6eeb8440/attachment-0001.pgp 


More information about the pkg-vim-maintainers mailing list