[pacman-dev] [PATCH 2/2] Allow wildcards in PURGE_TARGETS to match any type of file except for directories.

Jeremy Huntwork jhuntwork at lightcubesolutions.com
Mon Jun 11 21:26:39 EDT 2012


On Saturday, June 2, 2012 at 9:16 PM, Allan McRae wrote:
> Ack. On my working branch.
> 
> > ---
> > scripts/makepkg.sh.in (http://makepkg.sh.in) | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/scripts/makepkg.sh.in (http://makepkg.sh.in) b/scripts/makepkg.sh.in (http://makepkg.sh.in)
> > index b0918ae..eb239e3 100644
> > --- a/scripts/makepkg.sh.in (http://makepkg.sh.in)
> > +++ b/scripts/makepkg.sh.in (http://makepkg.sh.in)
> > @@ -1048,7 +1048,7 @@ tidy_install() {
> > local pt
> > for pt in "${PURGE_TARGETS[@]}"; do
> > if [[ ${pt} = "${pt//\/}" ]]; then
> > - find . -type f -name "${pt}" -exec rm -f -- '{}' \;
> > + find . ! -type d -name "${pt}" -exec rm -f -- '{}' \;
> > else
> > rm -f ${pt}
> > fi
> 


This is what I'm after. Instead of else ; rm -f ${pt}, maybe do:

else ; find "${pt%*}" ! -type d -name "${pt##/*}" -exec rm -f -- '{}' +

This should allow patterns like dir1/dir2/*.pl, but also match individually specified file names like dir1/dir2/somefile.txt

JH


More information about the pacman-dev mailing list