Bug 14750 – druntime/test/coverage was added to druntime, but not to the MANIFEST - zip file broken again
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
All
OS
All
Creation time
2015-06-30T04:44:00Z
Last change time
2015-10-04T18:18:57Z
Assigned to
nobody
Creator
bugzilla
Comments
Comment #0 by bugzilla — 2015-06-30T04:44:34Z
When adding files to druntime, PLEASE add them to the manifest.
Comment #1 by bugzilla — 2015-06-30T04:49:31Z
In fact, it seems none of the files in the test directory are in the manifest.
Comment #2 by code — 2015-06-30T10:59:42Z
(In reply to Walter Bright from comment #0)
> When adding files to druntime, PLEASE add them to the manifest.
Please stop recommending repeated manual actions as solutions, they don't work.
(In reply to Walter Bright from comment #1)
> In fact, it seems none of the files in the test directory are in the
> manifest.
Why should we distribute the additional tests?
Comment #3 by bugzilla — 2015-06-30T19:20:56Z
(In reply to Martin Nowak from comment #2)
> (In reply to Walter Bright from comment #0)
> > When adding files to druntime, PLEASE add them to the manifest.
>
> Please stop recommending repeated manual actions as solutions, they don't
> work.
I'm fine if someone posts a method of doing this automatically. In the absence of such, it needs to be done manually. Otherwise, things break, as they did for me. There's no point in having a MANIFEST file if it is allowed to get out of sync with the files.
> Why should we distribute the additional tests?
Because running 'make -f posix.mak clean' fails without them. That's how I discovered the problem.
Comment #4 by code — 2015-07-01T09:49:36Z
(In reply to Walter Bright from comment #3)
> I'm fine if someone posts a method of doing this automatically. In the
> absence of such, it needs to be done manually. Otherwise, things break, as
> they did for me.
We don't use the MANIFEST file to generate the source trees for the releases and all the last releases already contain the test folder.
So what exactly was your problem?
Comment #5 by bugzilla — 2015-07-06T06:14:53Z
(In reply to Martin Nowak from comment #4)
> (In reply to Walter Bright from comment #3)
> > I'm fine if someone posts a method of doing this automatically. In the
> > absence of such, it needs to be done manually. Otherwise, things break, as
> > they did for me.
>
> We don't use the MANIFEST file to generate the source trees for the releases
> and all the last releases already contain the test folder.
> So what exactly was your problem?
--------------------------
make -f win32.mak zip
... copy druntime.zip file to new system ...
unzip druntime.zip
make -fposix.mak MODEL=32 clean
make -C test/init_fini clean
rm -rf obj
make -C test/exceptions clean
rm -rf obj
make[1]: *** No rule to make target `test/coverage/.clean', needed by `clean'. Stop
make: *** [clean] Error 2
---------------------------
It fails because the files necessary are not there. What's the point of having a MANIFEST if it is only a subset of the manifest?
Comment #6 by code — 2015-07-07T10:21:10Z
(In reply to Walter Bright from comment #5)
> It fails because the files necessary are not there. What's the point of
> having a MANIFEST if it is only a subset of the manifest?
Exactly, let's delete MANIFEST. The question is why you need it or the zip rule.
We could replace the rule with
git archive --format=zip HEAD > druntime.zip
or
zip druntime.zip $(git ls-files)
depending on whether or not modified working dir files should end up in the zip.
Comment #7 by bugzilla — 2015-07-10T01:03:37Z
True, you can do that (thanks for the tip!) but the zip file is for use on systems that don't have git.
(In reply to Walter Bright from comment #7)
> True, you can do that (thanks for the tip!) but the zip file is for use on
> systems that don't have git.
But does it need to be generated on any systems without git? I would have thought that it would be fine for the target for the zip file to only work on systems with git installed, because the primary purpose of the zip file is to create it for distributing a release, and the releases are being done by developers who need git to work on the main D repos in the first place.
Comment #10 by bugzilla — 2015-07-11T23:59:27Z
(In reply to Jonathan M Davis from comment #9)
> But does it need to be generated on any systems without git?
Yes. I do it all the time. That's how I find out when it breaks.
Comment #11 by github-bugzilla — 2015-07-12T09:15:39Z