diff options
author | Daniel Friesel <derf@derf.homelinux.org> | 2009-09-12 00:48:02 +0200 |
---|---|---|
committer | Daniel Friesel <derf@derf.homelinux.org> | 2009-09-12 00:55:38 +0200 |
commit | e45152d8c98a2fcb80c5b69abe97c440291bd789 (patch) | |
tree | 43efcfacc77d5b2a51f8b65b4869fc81dd369a5d | |
parent | 73ecf4baf4720f9791964e88b4a84c245064496c (diff) |
{populate → update}_collected: Remove broken package symlinks in ~/bin
-rwxr-xr-x | bin/ct | 13 | ||||
-rwxr-xr-x | include/bootstrap | 2 | ||||
-rw-r--r-- | test/add | 2 |
3 files changed, 12 insertions, 5 deletions
@@ -422,7 +422,7 @@ function global_hook { checklinks $CL_OPTIONS \ --parameter package=${${PWD#$HOME}#/##} \ --parameter etc=${${PWD#$HOME}#/##}/etc - populate_collected $1 + update_collected $1 update_provides $1 list_package_update $1 ;; @@ -528,7 +528,7 @@ function check_prereqs { # Write a package's documentation to .collected # and symlink its binaries from ~/bin -function populate_collected { +function update_collected { cd $PKG_DIR/$1 || return typeset -i bins=0 bino=0 mans=0 mano=0 typeset man section manpage file target @@ -553,6 +553,13 @@ function populate_collected { pod2man -u $file > $PKG_DIR/.collected/man/man1/${file:t}.1 fi } + for file in ~/bin/*(@N); { + if [[ $(readlink $file) == (../${PKG_DIR//$HOME\/}|$PKG_DIR)/$1/bin/${file:t} ]] { + if [[ ! -e $PKG_DIR/$1/bin/${file:t} ]] { + rm $file + } + } + } for file in bin/*(-*N); { if [[ -L $HOME/$file || ! -e $HOME/$file ]] { if [[ $(readlink $HOME/$file) != (../${PKG_DIR//$HOME\/}|$PKG_DIR)/$1/$file ]] { @@ -564,7 +571,7 @@ function populate_collected { } } } else { - warn "populate_collected: ~/$file is not a symlink - skipping $1/$file\n" \ + warn "update_collected: ~/$file is not a symlink - skipping $1/$file\n" \ "Please fix manually and then call '$0 refresh $1'\n" } } diff --git a/include/bootstrap b/include/bootstrap index 9befef0..09820fa 100755 --- a/include/bootstrap +++ b/include/bootstrap @@ -95,7 +95,7 @@ if ((pkglist_cgi)) { echo 'Installing caretaker package' rehash bin/checklinks -bin/ct eval populate_collected caretaker +bin/ct eval update_collected caretaker bin/ct eval exec_hook caretaker post-add bin/ct update @@ -7,7 +7,7 @@ ct add $repo echo "# ct add (already installed)" ! ct add $repo -echo "# populate_collected" +echo "# update_collected" [[ -L $test_home/bin/$file ]] [[ -x $(readlink $test_home/bin/$file) ]] [[ -e $test_pdir/.collected/man/man2/$file.2 ]] |