On Wed, 28 May 2003, Chris Reinhardt via RT wrote:
Show quoted text> On Tue, 27 May 2003, Rob Brown via RT wrote:
>
> > To avoid generating corrupt tarballs, always do BOTH
> >
> > make
> > make dist
> >
> > place. I'm sorry about not mentioning this danger before.
> > But besides, it's always a good idea to at least "make test"
> > before doing a "make dist" to ensure it at least compiles.
> > If you do not understand the danger, or cannot ensure that
> > "make" is run before "make dist", then just delete the spec
> > file and all associated references by reverse patching the
> > patch I sent you before. Maybe it's just not worth it. :-/
>
> I think there's probably a better wayt to do it, that way is a pretty
> nasty hack, and with the new CC tests, firing up the Makefile.PL again is
> a bad idea. I've taken out the spec file stuff for now, we can put it
> back in when we come up with a better way to do it.
Sounds good. I don't think it's necessary anymore since we
now have the cpan2rpm to generate the spec file anyway. And
that old spec file didn't account for the defective version of
the ExtUtils::MakeMaker module that comes stock with perl 5.8.0.
I say leave it out and don't worry about it.
Show quoted text> > Would you mind bumping the version to 0.36 and posting again?
> > It also might be nice to delete that corrupt 0.35 tarball
> > from CPAN to avoid any more pain from others attempting to
> > install it. Also, can that test.c test be called compile.c
> > or gcc_test.c to avoid confusion when running "make test"
> > to run the test suite instead of actually making a "test"
> > file from the "test.o" file?
> >
>
> Damnit! I just released 0.36 without fixing that. 0.37 in a few minutes!
No, everything is perfectly fine with the 0.36 you posted. It
is not necessary to rename test.c since you've already purged
the spec.PL stuff. The entire problem was that Net-DNS.spec
was dependant on both Net-DNS.spec.PL and lib/Net/DNS.pm. If
you run "make dist" after changing DNS.pm, it ignores these
dependencies and creates the tarball with the exact timestamps
as are on the drive. After extracting and running "make" for
the first time, MakeMaker notices that the spec is older than
the DNS.pm file and immediately deletes "Makefile" to ensure
you run Makefile.PL again in order to rebuiled the spec and
satisify all dependencies. That's why running "make test"
would build the "test" file from the "test.o". It is make's
best assumtion of how to make "test" without a Makefile.
But since the spec file is gone, this can't happen anymore.
But I guess it may still avoid some "make test" confusion to
use compile.c instead of test.c. :-D
This Bug #2632 may now be resolved/fixed/closed.
--
Rob