Hi, I am the maintainer of the Perl5 Sereal related modules. Recently while digging into why my package does not always build correctly on OpenBSD when not built under ports I noticed that the description of the two packages, p5-Sereal-Encoder and p5-Sereal-Decoder in ports did not include what I consider to be an important warning that when upgrading to a more recent version of Sereal the *p5-Sereal-Decoder* package should always be upgraded *first*.
We package the Sereal decoder and encoder independently because it ensures that users can safely update the decoder before they upgrade the encoder. This is done to ensure that people using Sereal in a multi-host context can safely upgrade without downtime or data corruption while also ensuring users get the benefits of the most recent release. We ensure that the decoder can always read data created by previous or equivalent versions of the encoder. This means the decoder can be installed on all hosts using Sereal before rolling out and upgrading the encoder which could lead to a heterogenious mix of different encoder versions being in use during the rollout. By upgrading the decoder first there is no issue with a host writing the new format while another has not been upgraded to the latest encoder. (This was a key design objective and motivation to create Sereal.) I have created a patch to the DESCR files to state this explicitly. It can be found here: https://github.com/openbsd/ports/pull/12 I can produce a more conventional patch if that is required, please just let me know. If this isn't an appropriate use of the DESCR file then please let me know and I will close the PR. Thanks in advance, cheers, Yves -- perl -Mre=debug -e "/just|another|perl|hacker/"
