-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
'make dist' creates empty tarball on macOS #216
Comments
IIRC, he was not concerned with portability because the Maintainer's Makefile was only to be used by developers. That isn't to say we can't change it, just that there may be other places in the Makefile that use GNU extensions. In some sense, the error propagation seems more serious. |
I'm using macOS for development (but have been using the gnubin workaround). |
I should have said "... and developers on macOS would be able to figure out workarounds." Assigning to you b/c I don't know anything about macOS. |
Yeah, agree that the bigger issue seems to be the error being suppressed. If macOS users can do |
This makes it a little harder to automate testing. What if we wanted to write a script that cloned and did Here's a patch that will both enable the
I agree. I believe the error suppression is due to the use of the pipeline, which only returns the exit status of the last command in the pipeline.
I think you'll need to check |
Would it be enough to pull the gzip bit off of the pipeline? Its the last element so... so would tar then fail? Then we could have a separate gzip target that gzips's the result. Just thinking out loud, most of this is beyond my meager Makefile abilities. |
Yes. |
Yes, the following command creates an empty archive and the pipeline exits with success
while the following does exit with failure, but creates an empty tar file
And lastly, the following exits with failure and does not create an intermediate file that would need to be deleted later
Despite all that, I would probably prefer the original pipeline even though it may unexpectedly fail, just to avoid the mess of creating intermediate files, compressing them, deleting leftovers, etc.
Another option might be to keep the pipeline as is, but run
to validate that the tarball exists and contains at least one known file name. |
@mtmiller: Since we are anyways forcing the shell to be bash, can we not use https://github.com/catch22/octave-doctest/blob/dddb940df7dee321d3c8c17ff26ee2c425450f12/Makefile#L1 |
Yeah, good point 😏 |
Reopening because the error suppression problem is not yet fixed. @apjanke, are you planning to take a stab at it? It seems like |
Better idea: the
Here's a PR: #219 |
This remains to be addressed from #219. |
From current
master
, on macOS 10.14.3:Looks like it's expecting GNU tar and not compatible with BSD tar? And this failure isn't propagating up to a failure of the
make dist
call itself?The text was updated successfully, but these errors were encountered: