[aur-dev] [PATCH] Add a upload directory tranform script

Dave Reisner d at falconindy.com
Sun Jul 31 13:23:52 EDT 2011


On Sun, Jul 31, 2011 at 01:20:18PM -0400, Justin Davis wrote:
> On Fri, Jul 29, 2011 at 8:33 PM, Dave Reisner <d at falconindy.com> wrote:
> > On Thu, Jul 28, 2011 at 02:16:37PM -0500, Dan McGee wrote:
> >> This goes with the previous patch that moves uploads into segmented
> >> subdirectories.
> >>
> >> Signed-off-by: Dan McGee <dan at archlinux.org>
> >> ---
> >>  scripts/uploadbuckets.sh |   42 ++++++++++++++++++++++++++++++++++++++++++
> >>  1 files changed, 42 insertions(+), 0 deletions(-)
> >>  create mode 100755 scripts/uploadbuckets.sh
> >>
> >> diff --git a/scripts/uploadbuckets.sh b/scripts/uploadbuckets.sh
> >> new file mode 100755
> >> index 0000000..1bb1a90
> >> --- /dev/null
> >> +++ b/scripts/uploadbuckets.sh
> >> @@ -0,0 +1,42 @@
> >> +#!/bin/bash
> >> +
> >> +DRYRUN=1
> >> +
> >> +source="$1"
> >> +dest="$2"
> >> +
> >> +if [[ -z $source || -z $dest ]]; then
> >> +     echo 'usage: uploadbuckets.sh <source> <dest>'
> >> +     exit 1
> >> +fi
> >> +
> >> +if [[ ! -d $source ]]; then
> >> +     echo 'error: source is not a directory'
> >> +     exit 1
> >> +fi
> >> +
> >> +if [[ -e $dest && ! -d $dest ]]; then
> >> +     echo 'error: dest is not a directory'
> >> +     exit 1
> >> +fi
> >> +
> >> +if [[ ! -d $dest ]]; then
> >> +     mkdir $dest
> >> +fi
> >> +
> >> +for package in "$source"/*; do
> >> +     pkgname="${package##*/}"
> >> +     newfolder="$dest/${pkgname:0:2}"
> >> +     if [[ ! -d "$newfolder" ]]; then
> >> +             if [[ DRYRUN -gt 0 ]]; then
> >> +                     echo mkdir -p "$newfolder"
> >> +             else
> >> +                     mkdir -p "$newfolder"
> >> +             fi
> >> +     fi
> >> +     if [[ DRYRUN -gt 0 ]]; then
> >
> > Either need to use [[ $DRYRUN -gt 0 ]] or (( DRYRUN > 0 )), otherwise
> > it's always false.
> >
> 
> [[ ... ]] does arithmetic expansion as well so this should work as
> written. like:
> 
> FOO=1
> if [[ FOO -gt 0 ]]; then echo "YUP"; fi
> 
> Kind of weird, imo, but I don't use [[ so I'm biased.
> 

Yeah, this was new to me. Didn't realize variable expansion took place
with -gt, -lt, -eq, etc...

I'll keep using (( )) because its far more obvious at a glance.

d


More information about the aur-dev mailing list