Re: [openssl-project] To distribute just the repo file, or the result of 'make dist'?

2018-07-24 Thread Richard Levitte
In message <20180724122839.ga2...@roeckx.be> on Tue, 24 Jul 2018 14:28:40 
+0200, Kurt Roeckx  said:

kurt> On Tue, Jul 24, 2018 at 02:08:46PM +0200, Richard Levitte wrote:
kurt> > 
kurt> > The original intention (way back, I think we're even talking SSLeay
kurt> > time here, but at the very least pre-1.0.0 time) was to make a tarball
kurt> > that can be built directly with just a 'make' on any Unix box and
kurt> > without requiring perl.
kurt> 
kurt> I don't see how that could work our current system. As far as I
kurt> know, it's actually confired for a system, and it will not work
kurt> properly on an other. It would just work on the same system as
kurt> that we ran config on.

Hmm?  The dist target (Configurations/dist.conf) creates a *very*
generic Makefile with no system specific files.  It assumes LP32 and
very generic C compiler command line.  It doesn't support assembler
modules, threads or shared libraries...  that cuts away quite a lot of
system dependencies.  The only thing that's needed to make the
resulting directory tree free of the need for perl is 'make
build_all_generated'.

kurt> > 1.  Don't release pre-configured tarballs.  This is a very simple
kurt> > thing to do, all we have to do is use 'make tar' to create
kurt> > tarballs instead of 'make dist'.  We could remove the dist target
kurt> > entirely while we're at it.
kurt> 
kurt> This makes most sense to me.

Yes, it does to me as well, especially considering we're encouraging
everyone to configure anyway.

-- 
Richard Levitte levi...@openssl.org
OpenSSL Project http://www.openssl.org/~levitte/
___
openssl-project mailing list
openssl-project@openssl.org
https://mta.openssl.org/mailman/listinfo/openssl-project


Re: [openssl-project] To distribute just the repo file, or the result of 'make dist'?

2018-07-24 Thread Benjamin Kaduk
On Tue, Jul 24, 2018 at 02:28:40PM +0200, Kurt Roeckx wrote:
> On Tue, Jul 24, 2018 at 02:08:46PM +0200, Richard Levitte wrote:
> > 
> > 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.
> 
> I don't see how that could work our current system. As far as I
> know, it's actually confired for a system, and it will not work
> properly on an other. It would just work on the same system as
> that we ran config on.
> 
> > 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.
> 
> This makes most sense to me.

To me as well.

(As a side note, OpenAFS also has something called 'make dist' that is
functionally different, but also has deep historical roots and is also
something I'm trying to get rid of.)

-Ben
___
openssl-project mailing list
openssl-project@openssl.org
https://mta.openssl.org/mailman/listinfo/openssl-project


[openssl-project] To distribute just the repo file, or the result of 'make dist'?

2018-07-24 Thread Richard Levitte
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)

Cheers,
Richard

-- 
Richard Levitte levi...@openssl.org
OpenSSL Project http://www.openssl.org/~levitte/
___
openssl-project mailing list
openssl-project@openssl.org
https://mta.openssl.org/mailman/listinfo/openssl-project