[Bond-users] PAPYRUS GIT IS BROKEN
Colin Close
itchka at compuserve.com
Sun Dec 11 18:00:56 EST 2011
On Monday 12 Dec 2011 10:30:58 Jasen Betts wrote:
> On Sun, Dec 11, 2011 at 07:22:32PM +0000, Colin Close wrote:
> > Hi All,
> > This is just a heads up to say that the current git version is broken and
> > will not generate reports (at least not for me).
> > I have my database on a separate machine to the bobd system it is thus
> > interrogated over a local network (no dns just ip addresses).
> > The file that is broken is the papyrus script it is broken by this
> > seemingly innocuous commit.
> > dde9c788ec0a1743960c2c69537d1243aa8de2de
>
> I am guessing you aren't using --database-connection-string
> and papyrus_backend is choking on the empty string that was getting
> substituted in the arguments.
>
> try this patch:
>
> --- a/papyrus
> +++ b/papyrus
> @@ -292,6 +292,7 @@ while [ "$#" -gt "0" ] ; do
> shift
> done
>
> +
> if [ -z "$input" ] ; then
> usage
> exit 1
> @@ -337,21 +338,32 @@ fi
> trap "${dryrun} rm -rf $workdir $cleanup " 0 1 2 15
> run mkdir "$workdir"
>
> +
> +
> +# build an argument list avoiding empty arguments from empty source lists.
> +
> +[ "$remote" ] && backend="papyrus_backend"
> +backend=( $backend $validate $dbname $dbtype )
> +(( ${#dbconn} )) && backend=( "${backend[@]}" "${dbconn[@]}" )
> +backend=( "${backend[@]}" $dbschema $dbprovider )
> +(( ${#args} )) && backend=( "${backend[@]}" "${args[@]}" )
> +
> if ! [ "$remote" ]
> then
> -say -n "Running backend $input..."
> +say -n "Running backend on $input..."
> (
> IFS=\\
> echo
> -exdirect "$workdir/output.xml" $backend $validate $dbname $dbtype
> "${dbconn[@]}" $dbschema $dbprovider "${args[@]}" "$input" +exdirect
> "$workdir/output.xml" "${backend[@]}" "$input"
> )
>
> else
> say -n "Running remote backend "
> + # may need work here to over-quote the arguments for ssh
> if ! [ "$dryrun" ]
> - then ssh $remote papyrus_backend $validate $dbname $dbtype "${dbconn[@]}"
> $dbschema $dbprovider "${args[@]}" - < "$input" > "$workdir/output.xml" +
> then ssh $remote "${backend[@]}" - < "$input" > "$workdir/output.xml" fail
> $? "remote papyrus backend failed!"
> - else echo ssh $remote papyrus_backend $validate $dbname $dbtype
> "${dbconn[@]}" $dbschema $dbprovider "${args[@]}" - \< \"$input\" \>
> \"$workdir/output.xml\" + else echo ssh $remote "${backend[@]}" - \<
> \"$input\" \> \"$workdir/output.xml\" fi
> fi
Thanks Jasen,
I'll whack that in and let you know when I have finished the labels thing.
I find shell scripts even more brain-bursting than C!!!
Best
Colin
More information about the Bond-users
mailing list