diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 8de2b9bd41..b82166f70a 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -1310,6 +1310,19 @@ CRYPTOHEADERS={- join(" \\\n" . ' ' x 14, fill_lines(" ", $COLUMNS - 14, sort keys %cryptoheaders)) -} SSLHEADERS={- join(" \\\n" . ' ' x 11, fill_lines(" ", $COLUMNS - 11, sort keys %sslheaders)) -} + +renumber: build_generated + $(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION) --no-warnings \ + --ordinals $(SRCDIR)/util/libcrypto.num \ + --symhacks $(SRCDIR)/include/openssl/symhacks.h \ + --renumber \ + $(CRYPTOHEADERS) + $(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION) --no-warnings \ + --ordinals $(SRCDIR)/util/libssl.num \ + --symhacks $(SRCDIR)/include/openssl/symhacks.h \ + --renumber \ + $(SSLHEADERS) + ordinals: build_generated $(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION) --no-warnings \ --ordinals $(SRCDIR)/util/libcrypto.num \ diff --git a/dev/release.sh b/dev/release.sh index 14a3d445c6..bf5aa8af35 100755 --- a/dev/release.sh +++ b/dev/release.sh @@ -322,7 +322,12 @@ echo "== Configuring OpenSSL for update and release. This may take a bit of tim $VERBOSE "== Checking source file updates and fips checksums" make update >&42 - +# As long as we're doing an alpha release, we can have symbols without specific +# numbers assigned. In a beta or final release, all symbols MUST have an +# assigned number. +if [ "$next_method" != 'alpha' ]; then + make renumber >&42 +fi make update-fips-checksums >&42 if [ -n "$(git status --porcelain)" ]; then diff --git a/util/mknum.pl b/util/mknum.pl index 284fe891ef..8c978dfe2d 100644 --- a/util/mknum.pl +++ b/util/mknum.pl @@ -22,6 +22,7 @@ my $symhacks_file = undef; # a symbol hacking file (optional) my $version = undef; # the version to use for added symbols my $checkexist = 0; # (unsure yet) my $warnings = 1; +my $renumber = 0; my $verbose = 0; my $debug = 0; @@ -29,6 +30,7 @@ GetOptions('ordinals=s' => \$ordinals_file, 'symhacks=s' => \$symhacks_file, 'version=s' => \$version, 'exist' => \$checkexist, + 'renumber' => \$renumber, 'warnings!' => \$warnings, 'verbose' => \$verbose, 'debug' => \$debug) @@ -88,12 +90,7 @@ foreach my $f (($symhacks_file // (), @ARGV)) { close IN; } -# As long as we're running in development or alpha releases, we can have -# symbols without specific numbers assigned. In beta or final release, all -# symbols MUST have an assigned number. -if ($version !~ m/^\d+\.\d+\.\d+(?:-alpha|(?:-.*?)?-dev$)/) { - $ordinals->renumber(); -} +$ordinals->renumber() if $renumber; if ($checkexist) { my %new_names = map { $_->name() => 1 }