From kde-windows Tue May 23 18:43:17 2017 From: Thomas Friedrichsmeier Date: Tue, 23 May 2017 18:43:17 +0000 To: kde-windows Subject: Runtime packaging (was: Re: Craft Stable) Message-Id: <20170523204317.7242621a () edge> X-MARC-Message: https://marc.info/?l=kde-windows&m=149556501530993 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--Sig_/p_as7y1sWthdHCal11FgYEn" --Sig_/p_as7y1sWthdHCal11FgYEn Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sun, 21 May 2017 21:14:53 +0200 Thomas Friedrichsmeier wrote: > Hannah von Reth wrote: > > Regarding the runtime, pls add a dependency to lib/runtime to > > rkward, it would be probably reasonable to only set the dep if the > > compiler is mingw, as we have a different solution with NSIS to > > provide the runtime with msvc. =20 >=20 > Ok, thanks for the hint about the lib/runtime dependency. Solves the > first issue, well. (Although I'll try to remember to look into > providing a patch for NullsoftInstallerPackager.py; seems odd that I > would have to specify extra dependencies just for packaging). Hm. Now I found out that I already did, once: https://cgit.kde.org/craft.git/commit/bin/Packager/NullsoftInstallerPackage= r.py?h=3D2017.05&id=3De1e82b5d3a75d27635c474f76d38090be069939e But you removed it, some time later: https://cgit.kde.org/craft.git/commit/bin/Packager/NullsoftInstallerPackage= r.py?h=3D2017.05&id=3D8e0ee6b658912f34aa80f45fb65d3fd4cd5399a6 Well, ok, I can see that libs/runtime handles this much cleaner, but at the same time, having to add such a basic dependency, explicitly, _and_ only for packaging (meaning, I'll look in all the wrong places, first), _and_ in a compiler-specific way, just seems really messy. I think: a) Since the problem is relevant for packaging, only, it should be handled by the Packager. CollectionPackagerBase::internalCreatePackage() (or one of its helpers), would seem a good place where the runtime could be injected). This could in fact be done by pulling in libs/runtime. b) I really don't understand why this should be handled in a compiler-specific way, and I suspect the only reason for this is historic. libs/runtime does appear to cover the VC-redistributable files. However, NullsoftInstallerPackager still adds considerable code in order to detect the correct version of vcredist.exe, pass it to NSIS, and unpack it, from inside the installer. So - is there any particular reason to prefer the current way of packaging the VC-runtime? Otherwise I'd look into providing patch to include libs/runtime at packaging time, automatically, for both compilers. Regards Thomas --Sig_/p_as7y1sWthdHCal11FgYEn Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJZJILFAAoJEDkVkd8YWMu2O3EQAIgJcJJpvbdqDPfjgBIyB/Ii jhYFaAHeMXPgztTIgad/5tCHxCnT3bGrZwV8GpN3f42sa1i5fsalVJ+F5ukpSYm5 dRYvxxkYclNgl/sdqIlfXAhs9/xjiGxHLl2pGoH1sLt+Fbbov2dYCt4A1e85GMbE DW2tXti9GlvdoxQ573vuO9ziAxlmZBjzfih8OwlR+XHsVe2uh4LXRkM7woe2BtFT kdpjlTnd4/hBrO+hv+X7F+8QH1Ex9KAtnzhzGjVHg5owgv6VruT0RTTgJF53r5kn 0a4hdSRwjzYz2CVU/8/bme/bVUA36lpUR+Uh9WqtT97Y1c52fFVKehzm9WNrvSxW +9XExej1A/pQzu8FpnVMWboPhsvbF1B7WKU8MNDWBDu7XlhIdI6k182KjcXRZgTU 9ZONorJr0WH4Cy3aM1YsdXoS86Ayx2qM3akpT8B/JZNkh2xJFUhzkx5BIXccyKoX NZhYab04t+fHlZH57jLBn2duWXv09DLz4gX06iZ88uuT4s60PuSRcxiCvh2EIbSj zHGzov4VZ4nKPn0wnQjgPwOTtF7Jh0/9p6UX1FV73JzwbYSQiJ7OnBXCGiKPXxG3 40Jq8c5hdeIlhyEA2ETy+TJfzVy7bdoR7SDX+FKb2QkVbseI1m263RDsra4TFn+A RbEid5J3h4wiWZD2kU0v =kO6x -----END PGP SIGNATURE----- --Sig_/p_as7y1sWthdHCal11FgYEn--