[openssl-project] To distribute just the repo file, or the result of 'make dist'?
levitte at openssl.org
Tue Jul 24 12:08:46 UTC 2018
This is a question that's been asked before, and that has popped up
again in https://github.com/openssl/openssl/issues/6765
Our current mechanism for creating tarballs for a new OpenSSL release
is to run 'make dist' in any given build tree... it's a bit clumsy,
as it needs a wasted configuration if it's done in a newly checked out
work tree, but is designed to work correctly from any build tree.
The original intention (way back, I think we're even talking SSLeay
time here, but at the very least pre-1.0.0 time) was to make a tarball
that can be built directly with just a 'make' on any Unix box and
without requiring perl.
Since 1.1.0, though, the tarballs do require perl to generate certain
files, such as include/openssl/opensslconf.h. That makes a pre-configured
distribution less benefitial. Also, if anyone tries to run 'nmake' on
Windows without configuring first, they get a nasty and quite
confusing surprise... I think the same happens on VMS, although I
haven't tested that.
I can see two way to fix this:
1. Don't release pre-configured tarballs. This is a very simple
thing to do, all we have to do is use 'make tar' to create
tarballs instead of 'make dist'. We could remove the dist target
entirely while we're at it.
2. Restore the no-perl benefit with a tarball distributed with 'make
dist' (which is very simple due to 'make build_all_generated').
3. Have the 'dist' config target generate a really dumbed down
Makefile that contains the same well known targets as the usual
build files, but makes sure to run some kind of fancy script
(supposedly in perl) that runs a proper configuration for the
platform at hand.
(actually, the first item doesn't depend on the rest, but the answer
will direct our focus)
Richard Levitte levitte at openssl.org
OpenSSL Project http://www.openssl.org/~levitte/
More information about the openssl-project