quilt-dev
[Top][All Lists]
Advanced

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

Re: [Quilt-dev] diffstat and test suite


From: Jean Delvare
Subject: Re: [Quilt-dev] diffstat and test suite
Date: Wed, 20 Sep 2006 09:15:04 +0200

Hi John,

> diffstat, sendmail and rpmbuild were shoehorned into
> QUILT_COMPAT_PROG_PATH.  The original compat scripts for these worked
> well, but the current ones for diffstat and rpmbuild are a no-op.
> 
> > > It looks like a packaging issue, so maybe there is a packaging solution 
> > > to this.
> >
> > I don't quite get what you mean here, can you be more precise?
> 
> Sure; the problem is in compat/diffstat.in v1.2, which appears to have
> been added to solve a packaging problem.  We could roll back to
> compat/diffstat.in v1.1 if the quilt rpm included diffstat as a
> dependency, or if the hard dependency isnt desirable the packaging
> script could simply remove the compat/diffstat v1.1 script after make
> install has finished.

OK, I get it now, thanks for explaining. I am also realizing that this
new wrapper is not yours, but was added by Andreas. Indeed it looks
like an attempt to workaround a packaging issue, maybe Andreas can tell
us more.

At any rate, the current wrappers for diffstat and rpmbuild are broken,
and need to be fixed. They are useless at best, and possibly dangerous,
as demonstrated by the use of diffstat in the regression test suite. I
see 3 possible choices:

1* No wrappers at all. Create symbolic links if the user wants a
specific binary to be used, and let $PATH do its job. I have a local
patch doing this for diffstat (which I posted yesterday).

2* Revert to the previous wrappers. From a packaging point of view, I
guess it means that it's up to the diffstat package to delete the
compat/diffstat wrapper in a post-install script. Or we have to make
diffstat a build and installation requirement for quilt, so that the
wrapper is not created in the first place.

3* Expand the current wrappers to make them useful and safe. Useful
means: detect if the real binary is present, exec it if present, else
print a message (as the previous wrappers did). Safe means: make sure
that the wrapper doesn't attempt to exec itself.

I am no packaging expert so I can't really tell what's the best thing
to do here. Opinion anyone? Just speak up.

> > Ah, yes, good point. I only tested the case where diffstat is found,
> > and the case where it is not - not the case where a specific path is
> > provided by the user. I need to fix this. Any idea how I can do that?
> > Your QUILT_COMPAT_PROG_PATH macro doesn't appear to support optional
> > binaries, and I would like to avoid duplicating code if possible.
> 
> IMO another aclocal.m4 macro (QUILT_OPT_PROG_PATH?) for optional
> binaries would be a good idea, catering for diffstat, sendmail,
> rpmbuild, and any others that pop up.

The code was actually simple enough (see the second patch I posted
yesterday), but indeed having a macro would make sense if we have three
or more uses. I'll do that if we opt for choice #1 above.

Thanks,
-- 
Jean Delvare




reply via email to

[Prev in Thread] Current Thread [Next in Thread]