ClusterLabs / anvil

The Anvil! Intelligent Availability™ Platform, mark 3
5 stars 6 forks source link

mailx to s-nail transition #679

Open fabbione opened 3 weeks ago

fabbione commented 3 weeks ago

mailx has been deprecated in f39 in favor of s-nail.

The current external repo dependencies still carry mailx from f37.

For rhel-8/centos-8-stream we can just leave it as-is as both are being slowly replaced by 9.

For rhel-9/almalinux-9 we need to transition to a more recent version of all the external dependencies. That includes:

  1. add s-nail to the external repo (f40 based)
  2. change anvil spec file to Conflics mailx and Requires s-nail for >= 9
  3. change anvil code to use s-nail

It is unknown if s-nail is command line compatible with mailx, but it does provide the same functionalities.

Not targeting any specific anvil release for now as updating the external repo has to be coordinate and tested.

fabbione commented 3 weeks ago
anvil]$ grep mailx * -r
Anvil/Tools.pm:                         mailx                           =>      "/usr/bin/mailx",
Anvil/Tools.pm:* C<mailx>
Anvil/Tools/Email.pm:# mailx.
Anvil/Tools/Email.pm:Provides all methods used to manage the local C<< postfix >> server and handle and dispatch email via C<< mailx >>
Anvil/Tools/Email.pm:           # Call mailx to read it in
Anvil/Tools/Email.pm:                   my $shell_call = $anvil->data->{path}{exe}{mailx}." -t < ".$file_name;
anvil.spec.in:Requires:       mailx
tools/striker-manage-install-target:                    "mailx.x86_64",
digimer commented 2 weeks ago

Thanks, I'll make the changes in a new PR shortly.

fabbione commented 2 weeks ago

From a packaging perspective, I created a mailx transitional package that Requires: s-nail. This avoids issues with building the archive and updating anvil.spec, but you still need to look into the runtime. There is no compatibility symlink or anything.