Re: heads-up, debhelper now depends transitively on libsub-prototype-perl and hence on the current "perlapi"

Alex Muntada <[email protected]>
Newsgroups gmane.linux.debian.alioth.reproducible-builds,gmane.linux.debian.devel.perl
Message-ID <Zk7_tsVJhbOR_fHg@ix>
Hi Niko,

> As seen in #931730 this is not the first time this kind of issue
> comes up. Back in 2019 File::StripNondeterminism::handlers::zip was
> changed to use Sub::Override instead of the earlier Monkey::Patch
> because the latter introduced a similar build cycle.
> 
> Getting rid of monkeypatching Archive::Zip altogether as tracked in
>  https://salsa.debian.org/reproducible-builds/strip-nondeterminism/-/issues/8
> would probably be the best fix.
> 
> Alternatively, finding yet another way of the monkeypatching
> Archive::Zip at runtime would work around this for hopefully
> at least another few years :)

After looking at the code I think that the easiest way to avoid
monkey patching at all would be inheritance. I haven't found
enough time to work on the full implementation yet, but this is
the general idea:

* File/StripNondeterminism/handlers/zip.pm defines 2 packages:
  File::StripNondeterminism::handlers::zip itself and a subclass
  of Archive::Zip::Member which is local (e.g. Local::AZM).

* Also defines methods cdExtraField and localExtraField calling
  to super class methods first and then normalize_extra_fields
  if needed.

* Replaces `Archive::Zip->new()` with `Local::AZM->new()`.

Monkey patching without importing other packages is also doable,
but I think inheritance is cleaner here.

Cheers,
Alex

--
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁   Alex Muntada <[email protected]>
  ⢿⡄⠘⠷⠚⠋   Debian Developer 🍥 log.alexm.org
  ⠈⠳⣄⠀⠀⠀⠀

_______________________________________________
Reproducible-builds mailing list
Reproducible-builds-wVTzQnVv9Y8Rm1jG9FmulZdwIE86Xf0q@public.gmane.org
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/reproducible-builds
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEaUBwKsbetWW2SKTt466XjoNOXn4FAmZO/68ACgkQ466XjoNO
Xn7jzg/+PfHvmFMpar3pCmjDt9QlI1J8bHbm0usqtQtu/mg4vk7QeocLGgJt93AE
TBKS6wh07dD0f0cg1wKzsgxmN+0EBgRbva2yy+HcLeZ31Q6YS0xsjGJUCTp8oqvS
Nz+AkcIclj/4CuqTIQh/15qhcQEY8wlPApWlSNb0+piHaRGKBjCAF7K1j5Nl5b9t
Phx9fXemcE/oj76YaWG/LvXWEQsVWjhY+UL78T9Tfk9hBnXDnhohQ7Q+uwzaIgPP
8MIF1Z2XVtDOVaei8sn2G86J773WtX2/agBV7SFghEOYKOxahc8Ak3oReYJ/3ks3
B8/yvFx+oYM+5XWF1NhKT1KSgdxb/7Qcy7OpMktFQuRbMGDjenTYEe8CpXppiQv8
xntowp2+gUguSuS2aR36Ec10RtblPjbFtwW0o6vVH7G3PuzH9jAAJJlqXshZjeXb
FufFuJ86LzGNDa+jgFSgteyFYHsowFkHlYMHOHuzx42qGXIUkKHZec4nnpwj84Zz
xV7WaD/9DuOSHpEEc3gsl3UCuQfgFEXwYZRh6sfHVT6BPSDa59jOTwhU8N1zsEcg
aRAXhHCXRiTqPm0VQd/khK3Y8VoFP87r+5OKPTb1RTVnWHoKlNnpnqxSs6YGH7gJ
hm3MjQl6XXQT03Y70vw+KuHTcI3t8WVwqVLMpmORBCe/ximyeEA=
=3AZd
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.