From cf278b415994f3fa91fff67241e90ec056d76ba8 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 14 May 2022 11:56:37 -0700 Subject: [PATCH] Sort other DBD entries for output This should solve all DBD-related reproduceable build issues. --- modules/database/src/tools/DBD/Output.pm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/modules/database/src/tools/DBD/Output.pm b/modules/database/src/tools/DBD/Output.pm index d09d3d810..c455737ca 100644 --- a/modules/database/src/tools/DBD/Output.pm +++ b/modules/database/src/tools/DBD/Output.pm @@ -47,7 +47,8 @@ sub OutputDB { sub OutputMenus { my ($out, $menus) = @_; - while (my ($name, $menu) = each %{$menus}) { + foreach my $name (sort keys %{$menus}) { + my $menu = $menus->{$name}; printf $out "menu(%s) {\n", $name; printf $out " choice(%s, \"%s\")\n", @{$_} foreach $menu->choices; @@ -57,7 +58,8 @@ sub OutputMenus { sub OutputRecordtypes { my ($out, $recordtypes) = @_; - while (my ($name, $recordtype) = each %{$recordtypes}) { + foreach my $name (sort keys %{$recordtypes}) { + my $recordtype = $recordtypes->{$name}; printf $out "recordtype(%s) {\n", $name; print $out " %$_\n" foreach $recordtype->cdefs; @@ -83,12 +85,13 @@ sub OutputRecordtypes { sub OutputDrivers { my ($out, $drivers) = @_; printf $out "driver(%s)\n", $_ - foreach keys %{$drivers}; + foreach sort keys %{$drivers}; } sub OutputLinks { my ($out, $links) = @_; - while (my ($name, $link) = each %{$links}) { + foreach my $name (sort keys %{$links}) { + my $link = $links->{$name}; printf $out "link(%s, %s)\n", $link->key, $name; } } @@ -96,25 +99,27 @@ sub OutputLinks { sub OutputRegistrars { my ($out, $registrars) = @_; printf $out "registrar(%s)\n", $_ - foreach keys %{$registrars}; + foreach sort keys %{$registrars}; } sub OutputFunctions { my ($out, $functions) = @_; printf $out "function(%s)\n", $_ - foreach keys %{$functions}; + foreach sort keys %{$functions}; } sub OutputVariables { my ($out, $variables) = @_; - while (my ($name, $variable) = each %{$variables}) { + foreach my $name (sort keys %{$variables}) { + my $variable = $variables->{$name}; printf $out "variable(%s, %s)\n", $name, $variable->var_type; } } sub OutputBreaktables { my ($out, $breaktables) = @_; - while (my ($name, $breaktable) = each %{$breaktables}) { + foreach my $name (sort keys %{$breaktables}) { + my $breaktable = $breaktables->{$name}; printf $out "breaktable(\"%s\") {\n", $name; printf $out " %s, %s\n", @{$_} foreach $breaktable->points;