[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5] OSSTEST: introduce a raisin build test



On Tue, 12 May 2015, Ian Jackson wrote:
> Stefano Stabellini writes ("[PATCH v5] OSSTEST: introduce a raisin build 
> test"):
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> ...
> > +    echo >>config XEN_URL=\\"$r{tree_xen}\\"
> > +    echo >>config XEN_REVISION=\\"$r{revision_xen}\\"
> 
> This is very repetitive.  In ts-xen-build, the names of the variables
> are irregular, but here they are regular.  I think you should refactor
> this accordingly.

I think that the cure here would be worse than the disease. In bash
would be fragile and difficult to read, but you probably would do it in
perl, right? In that case I don't know how it would look like; in fact I
wouldn't know how to write it. However if you are keen on it, feel free
to provide a snippet of code and I'll try to include it in the patch.


> I don't understand what the \\ are doing here.  Perhaps you should use
> '' like in ts-xen-build ?

I need to retain the " in the output


> > +sub divide () {
> > +    # Only move hv to xeninstall, so that we can have
> > +    # xenpolicy in tools tarball.
> > +    #
> > +    # The files inside boot/ after `make dist' are
> > +    # xen-$XEN_VERSION: Xen binary
> > +    # xen.gz/xen: symlink to xen-$XEN_VERSION
> > +    # xen-$MAJOR: symlink to xen-$XEN_VERSION
> > +    # xen-$MAJOR.$MINOR: symlink to xen-$XEN_VERSION
> > +    # xen-sym-$XEN_VERSION: Xen symbol
> > +    # xenpolicy-$XEN_VERSION: flask policy binary if xsm is enabled
> > +    #
> > +    # So the following snippet will leave xenpolicy* in
> > +    # install/boot and get packaged to tools tarball.
> > +    target_cmd_build($ho, 100, $builddir, <<END);
> > +        cd raisin
> > +        mkdir xendist
> > +        for f in *dist; do
> > +            mkdir -p \$f/lib
> > +        done
> > +        if test -d dist/boot; then
> > +            if test -f dist/boot/xen.gz || test -f dist/boot/xen; then
> > +                mkdir xendist/boot
> > +                mvfiles=`find dist/boot -name 'xen[a-z]*' -prune -o -name 
> > 'xen*' -print`
> > +                mv \$mvfiles xendist/boot/.
> 
> This, and much of stash(), is a clone-and-hack of ts-xen-build.
> 
> > +our @probs;
> > +
> > +sub trapping ($) {
> > +    my ($sub) = @_;
> > +    my $tok= eval { $sub->(); 1; };
> > +    if (!$tok) { push @probs, $@; print STDERR "failure (trapped): $@\n"; }
> > +}
> 
> Again, this is copied from ts-xen-build.

Yes, it is. If this is not a descriptive comment, what would you have me
do? I could move trapping somewhere else common, but I don't think that
generalizing divide and stash is a good idea.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.