This has come up several times in the mailing lists, where the Services.pm , where the code to deal with macOS vs darwin versioning schemes is different
|
sub get_osx_vers { |
|
my $sw_vers = get_osx_vers_long(); |
|
my $darwin_osx = get_darwin_equiv(); |
|
$sw_vers =~ s/^(\d+\.\d+).*$/$1/; |
|
if ($sw_vers != $darwin_osx) { |
|
if (($sw_vers == 11.6 && $darwin_osx == 11.5) || ($sw_vers == 11.7 && $darwin_osx == 11.5) || ($sw_vers == 12.6 && $darwin_osx == 12.5) || ($sw_vers == 12.7 && $darwin_osx == 12.5) || ($sw_vers == 13.6 && $darwin_osx == 13.5)) { |
|
# special cases in Big Sur, Monterey, and Ventura where it's OK to have a mismatch |
|
} else { |
|
die "$sw_vers does not match the expected value of $darwin_osx. Please run `fink selfupdate` to download a newer version of fink"; |
|
} |
|
} |
|
return $sw_vers; |
|
} |
During updates, the ./inject.pl runs crash because existing installs don't know about a new mismatch Apple introduced, and therefore they exit.
I installed a clean tree to /opt/sw-inject, made sure my terminal only knew about this new tree, and added a die "debug text" debug line inside Services.pm::get_osx_vers() for both /opt/sw-inject/lib/perl5/Fink/Services.pm and the Services.pm in my git pull. When I run ./inject.pl, I see the following:
Modifying package description...
/bin/chmod 644 /opt/sw-inject/fink/dists/local/injected/finkinfo/*.*
Installing package...
/opt/sw-inject/bin/fink install fink-0.45.99.git-20240327.0241
Checking Services.pm in the installed tree. at /opt/sw-inject/lib/perl5/Fink/Services.pm line 1429.
### execution of /opt/sw-inject/bin/fink failed, exit code 29
Both the text and the referenced line number point to ./inject.pl using the code from the existing installed tree, not from the git pull.
@TheSin-
This has come up several times in the mailing lists, where the Services.pm , where the code to deal with macOS vs darwin versioning schemes is different
fink/perlmod/Fink/Services.pm
Lines 1442 to 1454 in 867a27f
During updates, the ./inject.pl runs crash because existing installs don't know about a new mismatch Apple introduced, and therefore they exit.
I installed a clean tree to /opt/sw-inject, made sure my terminal only knew about this new tree, and added a
die "debug text"debug line inside Services.pm::get_osx_vers() for both/opt/sw-inject/lib/perl5/Fink/Services.pmand theServices.pmin my git pull. When I run./inject.pl, I see the following:Both the text and the referenced line number point to ./inject.pl using the code from the existing installed tree, not from the git pull.
@TheSin-