• Notes from the DC22 Python Team BoF

    From =?UTF-8?Q?Louis-Philippe_V=c3=a9ron@21:1/5 to All on Sat Jul 23 20:00:01 2022
    Hey folks,

    We had a Python Team BoF at DC22 earlier today and I thought relaying
    the notes we took in gobby here would be a good idea.

    ----------------------------------------------------------------------
    == python3.11 ==

    python3.11 release has been delayed, from october 2022 to december 2022.

    python3.12 is planned for october 2023.

    Debian testing freeze for transitions is in January 2023, which is very
    tight.

    Do we want to try python3.11 in bookworm, or do we delay it for after
    the freeze?

    One problem we'll likely have, is upstream python libraries might not
    have started playing with 3.11 already. It might be hard to try to use
    beta versions right now to try and prepare the transition.

    Once the default version in the archive has changed, it's hard to revert
    to an older one.

    Some packages like pandas and numba (and dart?) might need an exception
    from the Release Team to allow us to upload versions more compatible
    with 3.11 after the bookworm release.

    For sure, this is a lot of work for me (zigo) on the OpenStack packages.
    On each Python 3 release, this makes me fix lots of stuff. At the
    moment, upstream OpenStack isn't even on Python 1.10 on its CI...

    As a datapoint, Ruby always releases on Christmas, and the Ruby team has
    never even attempted to push that as a default in the next Debian stable release.

    3.11 beta 4 is already in unstable, people can start trying to build
    against it.

    3.10 EOL is october 2026.

    upstream is working on lots of speed optimizations. 3.11 has a bunch of
    these that our users would appreciate.

    3.11 as an extra supported version might work out, but it will create
    subtle breakage for packages that happen not to be compatible with that version, so we should avoid that in a stable release.

    3.11 cannot be easily tested via an archive rebuild since there are
    about 25 stages to a transition which build on top of one another.

    Doko asked if it would be possible to have the Python releases 1 month
    earlier, to which people replied: "Why doesn't Debian change their
    release dates?". :(

    == PEP 668 ==

    https://discuss.python.org/t/pep-668-marking-python-base-environments-as-externally-managed/
    https://peps.python.org/pep-0668/

    We would like to have an directory reserved for distro-managed packages,
    where pip should not be installing anything.

    upstream pip seems to be keen on that, although there are currently no
    issues in their bug report about it.

    it would also be nice to have a python option to only use distro-managed packages on the load path.

    == pybuild improvements ==

    getting the autopkgtest MR in would be great

    https://salsa.debian.org/python-team/tools/dh-python/-/merge_requests/27

    We need people to test this MR some more, although it seems fairly mature.

    It might be a good idea to have a line in d/control to let us migrate
    from the existing autopkgtests running unit tests to the new automated MR.

    == lintian tags requests for the team ==

    pollo will write you Python-related lintian tags. Ask him to.

    * find packages that are building extensions only for the current Python default version, instead of all the available python versions.

    * warn packages still using distutils.version (removal in python 3.12)

    It would be nice if lintian brush could help us migrate to pybuild-pyproject
    - pollo can ping Jelmer.

    == upstream cpython patches ==

    Some work has been done, but some Debian patches still need to be
    forwarded to python upstream

    == where are we with python2rm? ==

    pypy is still a blocker. A solution would be to bundle the python2
    source code in it.

    Other blockers
    (https://release.debian.org/transitions/html/python2-rm.html):

    python-defaults
    python2.7
    pam-python
    python-stdlib-extensions
    redland-bindings #938345 orphaned, key package
    mozilla-devscripts (used for firefox extension building) #937085 key package python-setuptools
    python2-pip
    six

    == possible remote sprint? ==

    a good time to have a remote sprint would be after adding python3.11 as
    the new default (and thus creating new RC bugs). Therefore, this would
    be between end of October up to early December.

    == tracker.d.o dashboard ==

    https://tracker.debian.org/teams/python-modules/

    Would be great to have Salsa MRs on it

    ----------------------------------------------------------------------

    Cheers,

    --
    ⢀⣴⠾⠻⢶⣦⠀
    ⣾⠁⢠⠒⠀⣿⡁ Louis-Philippe Véronneau
    ⢿⡄⠘⠷⠚⠋ pollo@debian.org / veronneau.org
    ⠈⠳⣄

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Gilbey@21:1/5 to All on Mon Jul 25 09:40:01 2022
    On Sat, Jul 23, 2022 at 07:52:19PM +0200, Louis-Philippe Vronneau wrote:
    Hey folks,

    We had a Python Team BoF at DC22 earlier today and I thought relaying the notes we took in gobby here would be a good idea.

    Thanks for the notes, Louis-Philippe, and sorry I couldn't join you!

    A few comments....

    ----------------------------------------------------------------------
    == python3.11 ==

    python3.11 release has been delayed, from october 2022 to december 2022. [...]

    My 2 cents' worth is as the 3.9->3.10 transition took several months,
    and was quite complicated, it is not wise to attempt the 3.10->3.11
    before the freeze. We could then potentially go straight to 3.12 a
    few months after the bookworm freeze rather than going to 3.11 first.
    And that will probably be quite painful.

    == pybuild improvements ==

    getting the autopkgtest MR in would be great

    https://salsa.debian.org/python-team/tools/dh-python/-/merge_requests/27

    We need people to test this MR some more, although it seems fairly mature.

    It might be a good idea to have a line in d/control to let us migrate from the existing autopkgtests running unit tests to the new automated MR.

    I'll take this to a separate email.

    == lintian tags requests for the team ==

    pollo will write you Python-related lintian tags. Ask him to.

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004746 :-)

    Julian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Gilbey@21:1/5 to All on Mon Jul 25 10:10:01 2022
    On Sat, Jul 23, 2022 at 07:52:19PM +0200, Louis-Philippe Vronneau wrote:
    == pybuild improvements ==

    getting the autopkgtest MR in would be great

    https://salsa.debian.org/python-team/tools/dh-python/-/merge_requests/27

    We need people to test this MR some more, although it seems fairly mature.

    It might be a good idea to have a line in d/control to let us migrate from the existing autopkgtests running unit tests to the new automated MR.

    I've been looking at this a bit more. I'm not sure what this last
    paragraph means: the new "automated" autopkgtest will only be run if
    the maintainer explicitly adds:

    Testsuite: autopkgtest-pkg-pybuild

    to debian/control (see the autodep8 MR at https://salsa.debian.org/ci-team/autodep8/-/merge_requests/27/diffs -
    it will never automatically detect a pybuild package).
    And a maintainer would presumably only add that if they are also
    removing their existing debian/tests/control (or want to run the
    pybuild tests in addition).

    An alternative would be for the autodep8 patch to try to determine
    whether to run pybuild-autopkgtest. One approach could be:

    if the package would run autopkgtest-pkg-python:
    if debian/control does not contain an override_dh_auto_test stanza:
    run pybuild-autopkgtest

    Note, though, that if autodep8 is called, it will run all of the
    detected tests. (At least that is what I believe happens from reading /usr/bin/autodep8; I haven't double-checked this.) So, for example,
    if a package specifies

    Testsuite: autopkgtest-pkg-python

    it will also run the autopkgtest-pkg-pybuild suite as it will be
    detected as being a Python package, and vice versa. That is a
    possible reason *not* to use the above suggestion, as it would
    potentially run pybuild-autopkgtest even if not desired.

    Best wishes,

    Julian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Antonio Terceiro@21:1/5 to Julian Gilbey on Tue Jul 26 17:00:01 2022
    On Mon, Jul 25, 2022 at 09:04:27AM +0100, Julian Gilbey wrote:
    On Sat, Jul 23, 2022 at 07:52:19PM +0200, Louis-Philippe Vronneau wrote:
    == pybuild improvements ==

    getting the autopkgtest MR in would be great

    https://salsa.debian.org/python-team/tools/dh-python/-/merge_requests/27

    We need people to test this MR some more, although it seems fairly mature.

    It might be a good idea to have a line in d/control to let us migrate from the existing autopkgtests running unit tests to the new automated MR.

    I've been looking at this a bit more. I'm not sure what this last
    paragraph means: the new "automated" autopkgtest will only be run if
    the maintainer explicitly adds:

    Testsuite: autopkgtest-pkg-pybuild

    to debian/control (see the autodep8 MR at https://salsa.debian.org/ci-team/autodep8/-/merge_requests/27/diffs -
    it will never automatically detect a pybuild package).
    And a maintainer would presumably only add that if they are also
    removing their existing debian/tests/control (or want to run the
    pybuild tests in addition).

    An alternative would be for the autodep8 patch to try to determine
    whether to run pybuild-autopkgtest. One approach could be:

    if the package would run autopkgtest-pkg-python:
    if debian/control does not contain an override_dh_auto_test stanza:
    run pybuild-autopkgtest

    Note, though, that if autodep8 is called, it will run all of the
    detected tests. (At least that is what I believe happens from reading /usr/bin/autodep8; I haven't double-checked this.) So, for example,
    if a package specifies

    Testsuite: autopkgtest-pkg-python

    it will also run the autopkgtest-pkg-pybuild suite as it will be
    detected as being a Python package, and vice versa. That is a
    possible reason *not* to use the above suggestion, as it would
    potentially run pybuild-autopkgtest even if not desired.

    I think the notes did not capture the consensus correctly. The point was
    that it should be possible to automate updating the `Testsuite:` field
    to run tests with pybuild-autopkgtest, and that we should probably do
    that across team packages with the help of some scripting.

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEst7mYDbECCn80PEM/A2xu81GC94FAmLf/ysACgkQ/A2xu81G C94SyBAA3F68xYdxRPkGP1zk7lDVn0oKwA21Kr7mqv6MhLysxWiY7/lADV9qPDOU S4RkdZtMvRQW6uNkmfgtxxTctMRK2jfTTokqFNZx2FRrjBJeaaHXVN9mmUqUlsvI EkQdTmdTLcBU7ov/cyZj3JAiMySigqyubTCAH8q+jHNi/wUpGX4G6y0kjCupcuk6 sg4o+ttPiiDQEUre+NlvD3J7V5l/qJhUaTTCGIwC9JwrgYUwJvHKn0Vv3XcBsJcX gM92VFcaiQC4eQ+APOhPqxmEftJbOO7iAux/NSazUGnwDkNMZEnKcqPYG7ibGjw5 WoplNH2ymSU74ACtV7P86BJzLPdT18EvWFU6+Lj6EhEfxTsgi64cUlK8cptLE5XS O/qz1CcyWDhDr2eRIDjE4hKaIbosvVegTdJ4/1pKxV8eld6aOTM5uskhL1TY2qqF kKwVw+FlHlX5rJTWWzZQ3NujRZozNTf43elV6DZusyyCm6SYYaYHsJZv9sfsPuQt QIQkyoWLkYx2o11ghrfDqEzDiMu+Y0vzj2rzKn9DrhF08gbvPIYUlnQgR+FF3ns8 /TUxMuOTwPjxQG6LJzlqUWRjCqVxF5XXoSgU6SW61CfnVvIDyAWaE82sozKUstSq Y4se1suEQ1Zu7U+k4U2FQSnrIe/KFoZjRTNlYXqHDuXRl4CWgXs=
    =QcxI
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Kitterman@21:1/5 to Antonio Terceiro on Tue Jul 26 17:50:01 2022
    On July 26, 2022 2:50:19 PM UTC, Antonio Terceiro <terceiro@debian.org> wrote: >On Mon, Jul 25, 2022 at 09:04:27AM +0100, Julian Gilbey wrote:
    On Sat, Jul 23, 2022 at 07:52:19PM +0200, Louis-Philippe Véronneau wrote: >> > == pybuild improvements ==

    getting the autopkgtest MR in would be great

    https://salsa.debian.org/python-team/tools/dh-python/-/merge_requests/27 >> >
    We need people to test this MR some more, although it seems fairly mature. >> >
    It might be a good idea to have a line in d/control to let us migrate from >> > the existing autopkgtests running unit tests to the new automated MR.

    I've been looking at this a bit more. I'm not sure what this last
    paragraph means: the new "automated" autopkgtest will only be run if
    the maintainer explicitly adds:

    Testsuite: autopkgtest-pkg-pybuild

    to debian/control (see the autodep8 MR at
    https://salsa.debian.org/ci-team/autodep8/-/merge_requests/27/diffs -
    it will never automatically detect a pybuild package).
    And a maintainer would presumably only add that if they are also
    removing their existing debian/tests/control (or want to run the
    pybuild tests in addition).

    An alternative would be for the autodep8 patch to try to determine
    whether to run pybuild-autopkgtest. One approach could be:

    if the package would run autopkgtest-pkg-python:
    if debian/control does not contain an override_dh_auto_test stanza:
    run pybuild-autopkgtest

    Note, though, that if autodep8 is called, it will run all of the
    detected tests. (At least that is what I believe happens from reading
    /usr/bin/autodep8; I haven't double-checked this.) So, for example,
    if a package specifies

    Testsuite: autopkgtest-pkg-python

    it will also run the autopkgtest-pkg-pybuild suite as it will be
    detected as being a Python package, and vice versa. That is a
    possible reason *not* to use the above suggestion, as it would
    potentially run pybuild-autopkgtest even if not desired.

    I think the notes did not capture the consensus correctly. The point was
    that it should be possible to automate updating the `Testsuite:` field
    to run tests with pybuild-autopkgtest, and that we should probably do
    that across team packages with the help of some scripting.

    I suppose this is fine as long as whoever does it fixes all the resulting RC bugs.

    Scott K

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Antonio Terceiro@21:1/5 to Scott Kitterman on Tue Jul 26 23:00:01 2022
    On Tue, Jul 26, 2022 at 03:37:50PM +0000, Scott Kitterman wrote:


    On July 26, 2022 2:50:19 PM UTC, Antonio Terceiro <terceiro@debian.org> wrote:
    On Mon, Jul 25, 2022 at 09:04:27AM +0100, Julian Gilbey wrote:
    On Sat, Jul 23, 2022 at 07:52:19PM +0200, Louis-Philippe Vronneau wrote: >> > == pybuild improvements ==

    getting the autopkgtest MR in would be great

    https://salsa.debian.org/python-team/tools/dh-python/-/merge_requests/27 >> >
    We need people to test this MR some more, although it seems fairly mature.

    It might be a good idea to have a line in d/control to let us migrate from
    the existing autopkgtests running unit tests to the new automated MR.

    I've been looking at this a bit more. I'm not sure what this last
    paragraph means: the new "automated" autopkgtest will only be run if
    the maintainer explicitly adds:

    Testsuite: autopkgtest-pkg-pybuild

    to debian/control (see the autodep8 MR at
    https://salsa.debian.org/ci-team/autodep8/-/merge_requests/27/diffs -
    it will never automatically detect a pybuild package).
    And a maintainer would presumably only add that if they are also
    removing their existing debian/tests/control (or want to run the
    pybuild tests in addition).

    An alternative would be for the autodep8 patch to try to determine
    whether to run pybuild-autopkgtest. One approach could be:

    if the package would run autopkgtest-pkg-python:
    if debian/control does not contain an override_dh_auto_test stanza:
    run pybuild-autopkgtest

    Note, though, that if autodep8 is called, it will run all of the
    detected tests. (At least that is what I believe happens from reading
    /usr/bin/autodep8; I haven't double-checked this.) So, for example,
    if a package specifies

    Testsuite: autopkgtest-pkg-python

    it will also run the autopkgtest-pkg-pybuild suite as it will be
    detected as being a Python package, and vice versa. That is a
    possible reason *not* to use the above suggestion, as it would
    potentially run pybuild-autopkgtest even if not desired.

    I think the notes did not capture the consensus correctly. The point was >that it should be possible to automate updating the `Testsuite:` field
    to run tests with pybuild-autopkgtest, and that we should probably do
    that across team packages with the help of some scripting.

    I suppose this is fine as long as whoever does it fixes all the resulting RC bugs.

    Well the idea is to only actually commit the change and upload the
    package with the new Testsuite value after ensuring that actually works,
    i.e. that the autopkgtest passes.

    We are not suggesting to do this blindly across the packages, sorry for
    not making that clear.

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCAAdFiEEst7mYDbECCn80PEM/A2xu81GC94FAmLgVFUACgkQ/A2xu81G C95wEBAAsZFQagvUNu5etn+w/wVJda8YU0l9kTKq1hTsyYb9QjfETYYq10/KO7+6 ePTdJG/sBcxICLK4fBAIQ8nkpESmEsog8A919qpUELLhkv9iSlW6vszJXd6XbjCW J+2lZUWy3qZcAceFIswAuNJEh6wTKXDe6rXlYo8S2q5Ua056qCZKqzOwd5v0e9gZ pCdsk6r4Q5NMCATl86IYneFhfnrMujArsHh3c+ZwUdEbQDBPlu9HjtwVKT3oJ+li CsfOZRHQDLFiRJlTonX3i0WCE2lSDFiZtCQ/aFfCBHGL/Jv7GE1b+XgGphpDG9BV mRsHGfk9ROCjY8V+djHjXqCSPhOawg8GzxKTgLVKu4+r2qjLJJADej+Wc55RUWAQ h7VamTK3HywDTOXApl0gx5l2t0NVgKeUOU6L6rIBaScLwvlT79+fMmNsac4mav4k 2qcKHb27TBiyVBtBCvsrLSzhxvpwt6jEGwLLAeiV1lDRP8aOXYGAaGxrr7J6UgD0 nXvEKlFwEPj6CJsdbmpinRjXKIe9Wftza2+makbJF2ATUZm5jgWwYJQZPfVob5Bb 4yTj5SRuHiAbYqXKcVRriJDhItIyczojLAp6Rf7bAZ122m7qjWZ8R0RTTTcoX9hL DZ9RiSCmaNs88KcPsi1T6lDPnOh42phEmmSVs6r4MhYwHelM2EE=
    =X8w9
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paul Wise@21:1/5 to Antonio Terceiro on Wed Jul 27 02:20:01 2022
    On Tue, 2022-07-26 at 17:53 -0300, Antonio Terceiro wrote:

    Well the idea is to only actually commit the change and upload the
    package with the new Testsuite value after ensuring that actually works,
    i.e. that the autopkgtest passes.

    This sounds like something for lintian and the Janitor. I suggest
    lintian because not all Python packages are in the team and I suggest
    the Janitor because it makes changes automatically, although I am not
    entirely sure if it runs autopkgtests yet?

    --
    bye,
    pabs

    https://wiki.debian.org/PaulWise

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEYQsotVz8/kXqG1Y7MRa6Xp/6aaMFAmLggxkACgkQMRa6Xp/6 aaM/Ww//W9eQyPFw+HCA1q/i1+50KDMIhAjFjG28PkY7Erqu2+c7YAE0kx8zzqHl +vLqKqEXzDAu1BxUDkmIOQ6RZ+WsSrvTVBwrU+kwOhO2rIW9TI8ukKATJw/aG2WJ arDSBVqzv9HyshC/2ueWe6e5QXI+nQ1SKEjID+SHq1IEPjzFw2tnLXOjWNXhRvPo JQw9oWIZ2NgUrIYZ8M7TOA8fAyIjPWTzeFgjLw0mmBuNw7vXz9UAGXJhG/Jmx3/o et8FP/TUSCsK3ayjcW0HNiNmlI9pa23g2MVbe35AuNiz63/1RpHHfSXF8+eX1V5e a5qLctfgEfhZdxsE8D/GjoRy/j0iqPsPIEnEWcFS44+D7jnT0CYSgoGwTCl5UydU GAlPmjsot7ZZ2KBG6Y+WtPxrEzN9SblYQclx1gjNFxWQon7fpS3LICRCBn86UIcq KV/U5bWR7/VsR/eiNYsk8tTR02+zkYlaVS6QMu6caBltTbtwU8KY7sOz5Z4d+suV SYl71JOCNA4CWhdmk+SDccif+ZK+cYaL3iZdeyIeaa5yPGHgDWyQW7b7I8Fn5z+H D4PToVttvwgGJiKI7C4vA3u54kCrW041ppiB/m+atDV+l9irIWXiYd1ptaAkrxI5 BHjhPYGnijWer/oeZeCy+KYGTz4v4g3xJ4Tasj+V8ZGajcb5oxU=
    =6MGG
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Louis-Philippe_V=c3=a9ron@21:1/5 to Paul Wise on Wed Jul 27 05:50:01 2022
    On 2022-07-26 20 h 13, Paul Wise wrote:
    On Tue, 2022-07-26 at 17:53 -0300, Antonio Terceiro wrote:

    Well the idea is to only actually commit the change and upload the
    package with the new Testsuite value after ensuring that actually works,
    i.e. that the autopkgtest passes.

    This sounds like something for lintian and the Janitor. I suggest
    lintian because not all Python packages are in the team and I suggest
    the Janitor because it makes changes automatically, although I am not entirely sure if it runs autopkgtests yet?

    I agree Lintian+Janitor is probably the best tool combo for this, yes.

    If Jelmer agrees to do the Janitor part, I'll be happy to do the Lintian
    part once the pybuild-autopkgtest MR has been merged and we've confirmed
    this feature is ready for large-scale deployment.

    --
    ⢀⣴⠾⠻⢶⣦⠀
    ⣾⠁⢠⠒⠀⣿⡁ Louis-Philippe Véronneau
    ⢿⡄⠘⠷⠚⠋ pollo@debian.org / veronneau.org
    ⠈⠳⣄

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Thomas Goirand@21:1/5 to Julian Gilbey on Wed Jul 27 10:00:01 2022
    On 7/25/22 09:37, Julian Gilbey wrote:
    On Sat, Jul 23, 2022 at 07:52:19PM +0200, Louis-Philippe Véronneau wrote:
    Hey folks,

    We had a Python Team BoF at DC22 earlier today and I thought relaying the
    notes we took in gobby here would be a good idea.

    Thanks for the notes, Louis-Philippe, and sorry I couldn't join you!

    A few comments....

    ----------------------------------------------------------------------
    == python3.11 ==

    python3.11 release has been delayed, from october 2022 to december 2022.
    [...]

    My 2 cents' worth is as the 3.9->3.10 transition took several months,
    and was quite complicated, it is not wise to attempt the 3.10->3.11
    before the freeze. We could then potentially go straight to 3.12 a
    few months after the bookworm freeze rather than going to 3.11 first.
    And that will probably be quite painful.

    I agree, also because 3.10 wont be EOL before Bookworm becomes LTS.

    However, it's quite tempting to upgrade to 3.11 because:
    - our users will prefer having the latest stable release of Python in
    our latest release, rather than an old version.
    - 3.11 has many optimization (it's said to be 25% faster)

    So if we can at least TRY, it's not a so bad idea... Hopefully, we can
    take the decision to reverse if needed.

    Cheers,

    Thomas Goirand (zigo)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Gilbey@21:1/5 to Antonio Terceiro on Wed Jul 27 10:20:02 2022
    On Tue, Jul 26, 2022 at 11:50:19AM -0300, Antonio Terceiro wrote:
    I think the notes did not capture the consensus correctly. The point was
    that it should be possible to automate updating the `Testsuite:` field
    to run tests with pybuild-autopkgtest, and that we should probably do
    that across team packages with the help of some scripting.

    This makes more sense, thanks.

    There seems to be little point running both pybuild-autopkgtest and a
    manually written debian/tests/* test suite. So would the script only
    add pybuild-autopkgtest to packages which don't have a manually
    written debian/tests/* suite?

    Best wishes,

    Julian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Louis-Philippe_V=c3=a9ron@21:1/5 to All on Wed Jul 27 16:30:01 2022
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------YtVZ6zm8aoyRiwXgPqyOTRCp
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    T24gMjAyMi0wNy0yNyAwNCBoIDE4LCBKdWxpYW4gR2lsYmV5IHdyb3RlOg0KPiANCj4gVGhl cmUgc2VlbXMgdG8gYmUgbGl0dGxlIHBvaW50IHJ1bm5pbmcgYm90aCBweWJ1aWxkLWF1dG9w a2d0ZXN0IGFuZCBhDQo+IG1hbnVhbGx5IHdyaXR0ZW4gZGViaWFuL3Rlc3RzLyogdGVzdCBz dWl0ZS4gIFNvIHdvdWxkIHRoZSBzY3JpcHQgb25seQ0KPiBhZGQgcHlidWlsZC1hdXRvcGtn dGVzdCB0byBwYWNrYWdlcyB3aGljaCBkb24ndCBoYXZlIGEgbWFudWFsbHkNCj4gd3JpdHRl biBkZWJpYW4vdGVzdHMvKiBzdWl0ZT8NCg0KVGhlIHdheSBJIHNlZSBpdDoNCg0KMS4gV2Ug c2hvdWxkIGhhdmUgYSBMaW50aWFuIHRhZyBmb3IgcGFja2FnZXMgbm90IHVzaW5nIHRoZSBu ZXcgDQpweWJ1aWxkLWF1dG9kZXA4IGF1dG9wa2d0ZXN0LiBJdCB3b3VsZCBiZSBldmVuIGJl dHRlciBpZiB0aGlzIHRhZyB3b3VsZCANCmJlIGEgcG9pbnRlZCBoaW50IHRoYXQgaWRlbnRp ZmllZCAnbWFudWFsbHknIHdyaXR0ZW4gdW5pdCB0ZXN0IA0KYXV0b3BrZ3Rlc3RzIHRoYXQg Y291bGQgYmUgcmVwbGFjZWQuDQoNClRoaXMgd2F5LCB5b3UgZ2V0IHNvbWV0aGluZyBsaWtl Og0KDQpweXRob24tZm9vIHNvdXJjZTogbm90LXVzaW5nLXB5YnVpbC1hdXRvZGVwOCBbZGVi aWFuL3Rlc3RzL3VuaXR0ZXN0c10NCg0KZm9yIHB5dGhvbiBwYWNrYWdlcyB0aGF0IGhhdmUg b2xkICdtYW51YWxseScgd3JpdHRlbiB1bml0IHRlc3QgDQphdXRvcGtndGVzdHMgYW5kOg0K DQpweXRob24tZm9vIHNvdXJjZTogbm90LXVzaW5nLXB5YnVpbGQtYXV0b2RlcDggW25vLWF1 dG9wa2d0ZXN0XQ0KDQpmb3IgcHl0aG9uIHBhY2thZ2VzIHdpdGhvdXQgYW55IGF1dG9wa2d0 ZXN0Lg0KDQoyLiBsaW50aWFuLWJydXNoIChvciBzb21ldGhpbmcgZWxzZSwgYnV0IEkgdGhp bmsgbGludGlhbi1icnVzaCBpcyB0aGUgDQpyaWdodCB0b29sKSB3b3VsZCBnbyBvdmVyIHRo ZXNlIHBhY2thZ2VzIHRvOg0KDQoyLjEgQWRkIHRoZSBuZXcgYXV0b2RlcDggYXV0b3BrZ3Rl c3RzIGFuZCBidWlsZCB0aGUgcGFja2FnZSB0byBzZWUgaWYgDQp0aGV5IHBhc3MNCjIuMiBS ZW1vdmUgdGhlICJtYW51YWwiIHVuaXQgdGVzdCBhdXRvcGtndGVzdHMgaWYgMi4xIHN1Y2Nl ZWRzDQoyLjMgT3BlbiBhIGJ1ZyByZXBvcnQgaWYgMi4xIGZhaWxzDQoNClRoaXMgd2F5LCB3 ZSBjYW4gaW1hZ2luZSBhIHRyYW5zaXRpb24gdGhhdCB3b3VsZCBiZSBtb3N0bHkgYXV0b21h dGVkLiANCldlJ2QgcHJvYmFibHkgaGF2ZSB0byBmaXggdGhlIG9uZXMgdGhhdCBmYWlsZWQg dG8gbWlncmF0ZSBtYW51YWxseSwgYnV0IA0KaXQgd291bGQgYmUgbXVjaCBsZXNzIHdvcmsg OikNCg0KQ2hlZXJzLA0KDQotLSANCiAgIOKigOKjtOKgvuKgu+KituKjpuKggA0KICAg4qO+ 4qCB4qKg4qCS4qCA4qO/4qGBICBMb3Vpcy1QaGlsaXBwZSBWw6lyb25uZWF1DQogICDior/i oYTioJjioLfioJrioIsgICBwb2xsb0BkZWJpYW4ub3JnIC8gdmVyb25uZWF1Lm9yZw0KICAg 4qCI4qCz4qOEDQoNCg==

    --------------YtVZ6zm8aoyRiwXgPqyOTRCp--

    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQTKp0AHB6gWsCAvw830JXpQshz6hQUCYuFLGQAKCRD0JXpQshz6 hRU2AP9qky7W+Yr28bjuJ+Yqf+pnyjb8czJzSjDM4hL1BiDSIwD/fZNi0E/JnDtl nO4EklTtK0Ioz7ExlEoL7zrkH6/8Ewc=
    =cLax
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Louis-Philippe_V=c3=a9ron@21:1/5 to All on Wed Jul 27 16:20:02 2022
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------cgi0IC3rAPrX0mp6Mqc0kHlu
    Content-Type: multipart/mixed; boundary="------------vxtvdNUCIQYDsPFZBBsLbczJ"

    --------------vxtvdNUCIQYDsPFZBBsLbczJ
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    T24gMjAyMi0wNy0yNyAwMyBoIDUyLCBUaG9tYXMgR29pcmFuZCB3cm90ZToNCj4gT24gNy8y NS8yMiAwOTozNywgSnVsaWFuIEdpbGJleSB3cm90ZToNCj4+IE9uIFNhdCwgSnVsIDIzLCAy MDIyIGF0IDA3OjUyOjE5UE0gKzAyMDAsIExvdWlzLVBoaWxpcHBlIFbDqXJvbm5lYXUgd3Jv dGU6DQo+Pj4gSGV5IGZvbGtzLA0KPj4+DQo+Pj4gV2UgaGFkIGEgUHl0aG9uIFRlYW0gQm9G IGF0IERDMjIgZWFybGllciB0b2RheSBhbmQgSSB0aG91Z2h0IHJlbGF5aW5nIA0KPj4+IHRo ZQ0KPj4+IG5vdGVzIHdlIHRvb2sgaW4gZ29iYnkgaGVyZSB3b3VsZCBiZSBhIGdvb2QgaWRl YS4NCj4+DQo+PiBUaGFua3MgZm9yIHRoZSBub3RlcywgTG91aXMtUGhpbGlwcGUsIGFuZCBz b3JyeSBJIGNvdWxkbid0IGpvaW4geW91IQ0KPj4NCj4+IEEgZmV3IGNvbW1lbnRzLi4uLg0K Pj4NCj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gPT0gcHl0aG9uMy4xMSA9PQ0KPj4+DQo+ Pj4gcHl0aG9uMy4xMSByZWxlYXNlIGhhcyBiZWVuIGRlbGF5ZWQsIGZyb20gb2N0b2JlciAy MDIyIHRvIGRlY2VtYmVyIDIwMjIuDQo+Pj4gWy4uLl0NCj4+DQo+PiBNeSAyIGNlbnRzJyB3 b3J0aCBpcyBhcyB0aGUgMy45LT4zLjEwIHRyYW5zaXRpb24gdG9vayBzZXZlcmFsIG1vbnRo cywNCj4+IGFuZCB3YXMgcXVpdGUgY29tcGxpY2F0ZWQsIGl0IGlzIG5vdCB3aXNlIHRvIGF0 dGVtcHQgdGhlIDMuMTAtPjMuMTENCj4+IGJlZm9yZSB0aGUgZnJlZXplLsKgIFdlIGNvdWxk IHRoZW4gcG90ZW50aWFsbHkgZ28gc3RyYWlnaHQgdG8gMy4xMiBhDQo+PiBmZXcgbW9udGhz IGFmdGVyIHRoZSBib29rd29ybSBmcmVlemUgcmF0aGVyIHRoYW4gZ29pbmcgdG8gMy4xMSBm aXJzdC4NCj4+IEFuZCB0aGF0IHdpbGwgcHJvYmFibHkgYmUgcXVpdGUgcGFpbmZ1bC4NCj4g DQo+IEkgYWdyZWUsIGFsc28gYmVjYXVzZSAzLjEwIHdvbnQgYmUgRU9MIGJlZm9yZSBCb29r d29ybSBiZWNvbWVzIExUUy4NCg0KQXMgSSBzYWlkIGR1cmluZyB0aGUgQm9GLCBJJ20gYWxz byBpbiBmYXZvciBvZiBzdGlja2luZyB3aXRoIDMuMTAgZm9yIA0KYm9va3dvcm0uDQoNCkkg dGhpbmsgd2Ugc2hvdWxkIGFpbSBmb3IgYSBzdGFibGUgUHl0aG9uIGVjb3N5c3RlbS4gVXNp bmcgdGhlIHRpbWUgd2UgDQpoYXZlIGxlZnQgdG8gaXJvbiBvdXQgYnVncyBhbmQgZmFpbHVy ZXMgaW4gb3VyIHBhY2thZ2VzIGZvciAzLjEwIHNvdW5kcyANCmxpa2UgYSBtdWNoIGJldHRl ciBkZWNpc2lvbiB0aGFuIHRyeWluZyB0byBmaXggYSB0b24gb2YgUkMgYnVncyBmb3IgMy4x MSANCmluIHRpbWUgZm9yIHRoZSBmaW5hbCBmcmVlemUuDQoNCj4gSG93ZXZlciwgaXQncyBx dWl0ZSB0ZW1wdGluZyB0byB1cGdyYWRlIHRvIDMuMTEgYmVjYXVzZToNCj4gLSBvdXIgdXNl cnMgd2lsbCBwcmVmZXIgaGF2aW5nIHRoZSBsYXRlc3Qgc3RhYmxlIHJlbGVhc2Ugb2YgUHl0 aG9uIGluIA0KPiBvdXIgbGF0ZXN0IHJlbGVhc2UsIHJhdGhlciB0aGFuIGFuIG9sZCB2ZXJz aW9uLg0KPiAtIDMuMTEgaGFzIG1hbnkgb3B0aW1pemF0aW9uIChpdCdzIHNhaWQgdG8gYmUg MjUlIGZhc3RlcikNCj4gDQo+IFNvIGlmIHdlIGNhbiBhdCBsZWFzdCBUUlksIGl0J3Mgbm90 IGEgc28gYmFkIGlkZWEuLi4gSG9wZWZ1bGx5LCB3ZSBjYW4gDQo+IHRha2UgdGhlIGRlY2lz aW9uIHRvIHJldmVyc2UgaWYgbmVlZGVkLg0KDQpBRkFJVSwgZG9rbyBzYWlkIGl0IHdhcyBw cmV0dHkgaGFyZCB0byBnbyBiYWNrLCBzaW5jZSB0aGF0IG1lYW50IA0KcmVjb21waWxpbmcg cHJldHR5IG11Y2ggYWxsIHRoZSBweXRob24gZXh0ZW5zaW9ucy4NCg0KSSdkIG11Y2ggcmF0 aGVyIHdlIGRvbid0IHdhc3RlIHRvbnMgb2YgZW5lcmd5IHRyeWluZyB0byBnZXQgMy4xMSBh bmQgDQp0aGVuIGRlY2lkaW5nIGl0J3Mgbm90IHdvcmtpbmcuIFdlIGtub3cgd2Ugb25seSBo YXZlIGEgMi0zIG1vbnRocyB3aW5kb3cgDQpvZiBvcHBvcnR1bml0eSB0byBtYWtlIHRoZSB0 cmFuc2l0aW9uLCBJTU8gdGhhdCdzIHRvbyBzaG9ydC4NCg0KLS0gDQogICDiooDio7TioL7i oLviorbio6bioIANCiAgIOKjvuKggeKioOKgkuKggOKjv+KhgSAgTG91aXMtUGhpbGlwcGUg VsOpcm9ubmVhdQ0KICAg4qK/4qGE4qCY4qC34qCa4qCLICAgcG9sbG9AZGViaWFuLm9yZyAv IHZlcm9ubmVhdS5vcmcNCiAgIOKgiOKgs+KjhA0KDQo= --------------vxtvdNUCIQYDsPFZBBsLbczJ
    Content-Type: application/pgp-keys; charset=UTF-8;
    name="OpenPGP_0xE1E5457C8BAD4113.asc"
    Content-Disposition: attachment; filename="OpenPGP_0xE1E5457C8BAD4113.asc" Content-Description: OpenPGP public key
    Content-Transfer-Encoding: quoted-printable

    -----BEGIN PGP PUBLIC KEY BLOCK-----

    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
    JQQ=
    =u/Tx
    -----END PGP PUBLIC KEY BLOCK-----

    --------------vxtvdNUCIQYDsPFZBBsLbczJ--

    --------------cgi0IC3rAPrX0mp6Mqc0kHlu--

    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQTKp0AHB6gWsCAvw830JXpQshz6hQUCYuFIqAAKCRD0JXpQshz6 hdz6AP98IyMxYs+G1wJ5ovXBjWefY4+K23P31RPqVJougv1blwEAiOX855Z1a56f hWCT5Q/t4RcpPaCARu6SU90xb2mFfgM=
    =4p8v
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Simon McVittie@21:1/5 to Julian Gilbey on Wed Jul 27 18:50:01 2022
    On Wed, 27 Jul 2022 at 09:18:42 +0100, Julian Gilbey wrote:
    There seems to be little point running both pybuild-autopkgtest and a manually written debian/tests/* test suite.

    I think it can make sense to have both. d/tests is the right place for
    an integration test that checks things like "any user-facing executables
    are correctly in the PATH", which an upstream-oriented test probably
    cannot assert because you might be installing into ~/.local or similar.

    Using src:tap.py as an example, pybuild-autopkgtest should presumably
    replace d/tests/python3 and/or d/tests/python3-with-recommends (which
    are tests for the library you get from "import tap"), but wouldn't test
    the tappy(1) CLI entry point, which is tested by d/tests/tappy.

    smcv

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Gilbey@21:1/5 to All on Wed Jul 27 20:50:01 2022
    On Wed, Jul 27, 2022 at 10:26:33AM -0400, Louis-Philippe Vronneau wrote:
    The way I see it:

    1. We should have a Lintian tag for packages not using the new pybuild-autodep8 autopkgtest. It would be even better if this tag would be a pointed hint that identified 'manually' written unit test autopkgtests that could be replaced.

    This way, you get something like:

    python-foo source: not-using-pybuil-autodep8 [debian/tests/unittests]

    for python packages that have old 'manually' written unit test autopkgtests and:

    python-foo source: not-using-pybuild-autodep8 [no-autopkgtest]

    for python packages without any autopkgtest.

    2. lintian-brush (or something else, but I think lintian-brush is the right tool) would go over these packages to:

    2.1 Add the new autodep8 autopkgtests and build the package to see if they pass
    2.2 Remove the "manual" unit test autopkgtests if 2.1 succeeds
    2.3 Open a bug report if 2.1 fails

    I'd be wary about 2.2 and 2.3. I have several packages where I know
    that an automated test will fail; there are all sorts of weird cases
    where I've had to write tests manually. I would also be quite cross
    if manually crafted tests were automatically removed, especially in
    cases such as Simon mentioned where they do things that that
    automatically generated test does not do. Another thing I could
    imagine happening is that the automated test succeeds in a trivial way
    - it succeeds but doesn't actually test much because of the nature of
    the package.

    On the other hand, a bug report saying something like the following
    seems much more reasonable: "We've tested this package using the
    automated autopkgtest system and it seems to work by adding the line 'Testsuite: autopkgtest-pkg-pybuild'; please check that the automated
    tests cover all of the tests of your manually written debian/tests/*
    and if so, then please remove them. The autopkgtest-pkg-pybuild logs
    are attached." This would give the maintainer the chance to decide
    how best to proceed.

    Best wishes,

    Julian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Gilbey@21:1/5 to Julian Gilbey on Wed Jul 27 22:40:01 2022
    On Wed, Jul 27, 2022 at 07:45:12PM +0100, Julian Gilbey wrote:
    On Wed, Jul 27, 2022 at 10:26:33AM -0400, Louis-Philippe Vronneau wrote:
    The way I see it:

    1. We should have a Lintian tag for packages not using the new pybuild-autodep8 autopkgtest. It would be even better if this tag would be a
    pointed hint that identified 'manually' written unit test autopkgtests that could be replaced.

    This way, you get something like:

    python-foo source: not-using-pybuil-autodep8 [debian/tests/unittests]

    for python packages that have old 'manually' written unit test autopkgtests and:

    python-foo source: not-using-pybuild-autodep8 [no-autopkgtest]

    for python packages without any autopkgtest.

    2. lintian-brush (or something else, but I think lintian-brush is the right tool) would go over these packages to:

    2.1 Add the new autodep8 autopkgtests and build the package to see if they pass
    2.2 Remove the "manual" unit test autopkgtests if 2.1 succeeds
    2.3 Open a bug report if 2.1 fails

    I'd be wary about 2.2 and 2.3. I have several packages where I know
    that an automated test will fail; there are all sorts of weird cases
    where I've had to write tests manually. I would also be quite cross
    if manually crafted tests were automatically removed, especially in
    cases such as Simon mentioned where they do things that that
    automatically generated test does not do. Another thing I could
    imagine happening is that the automated test succeeds in a trivial way
    - it succeeds but doesn't actually test much because of the nature of
    the package.

    On the other hand, a bug report saying something like the following
    seems much more reasonable: "We've tested this package using the
    automated autopkgtest system and it seems to work by adding the line 'Testsuite: autopkgtest-pkg-pybuild'; please check that the automated
    tests cover all of the tests of your manually written debian/tests/*
    and if so, then please remove them. The autopkgtest-pkg-pybuild logs
    are attached." This would give the maintainer the chance to decide
    how best to proceed.

    Here's another alternative to steps 2.1-2.3 based on this:

    For packages which currently have manually-written autopkgtests:

    2.A Try removing debian/tests and adding Testsuite:
    autopkgtest-pkg-pybuild to debian/control, then building the
    package and running autopkgtest.

    2.B If this works, then submit a bug report to the BTS as I suggested
    above.

    2.C If this does not work, don't do anything more; trust that the
    maintainer knew what they were doing when they wrote the manual
    autopkgtests.

    For packages which don't currently have manually-written
    autopkgtests:

    2.A' Try adding Testsuite: autopkgtest-pkg-pybuild to debian/control,
    then building the package and running autopkgtest.

    2.B' If this works, then either Janitor adds this line to
    debian/control or submit a bug report to the BTS to recommend
    this. (But we would not expect Janitor to do step 2.1', so this
    might have to be a different setup, or maybe the script doing
    2.A' could leave a list of packages for Janitor, or something
    like that.)

    2.C' If this does not work, submit a wishlist bug to the BTS to
    recommend that the maintainer adds some autopkgtest tests,
    either by making the autodep8 system work or by writing some
    manual tests.

    I'd be wary about adding lintian tags for this, though: with so many
    packages not being able to use the autodep8 system (I vaguely recall
    someone suggesting that a third of Python packages would not be able
    to use the system), that's a lot of packages getting false positives.
    In particular, for the suggested first version of
    not-using-pybuild-autodep8 tag (which would probably be better named manual-autopkgtest-could-be-pybuild-autodep8), how would lintian go
    about identifying which packages fall into category 2.B and which into
    2.C? The second version of the tag (better named something like no-autopkgtest-could-use-pybuild-autodep8, but that's still not very
    good) is less problematic.

    Best wishes,

    Julian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Gilbey@21:1/5 to Julian Gilbey on Thu Jul 28 20:50:01 2022
    On Wed, Jul 27, 2022 at 09:32:19PM +0100, Julian Gilbey wrote:
    [...]

    I'd be wary about 2.2 and 2.3. I have several packages where I know
    that an automated test will fail; there are all sorts of weird cases
    [...]

    I'd be wary about adding lintian tags for this, though: with so many
    packages not being able to use the autodep8 system (I vaguely recall
    someone suggesting that a third of Python packages would not be able
    [...]

    I realise that I may have come across as quite negative. Apologies if
    that is the case - it was not my intention. I think the autopkgtest-pkg-pybuild/pybuild-autodep8 work is very helpful and a
    positive addition to our infrastructure, and I'm very grateful to
    those who've made it happen.

    My only concern is with how it is introduced; because of the wide
    variety of Python packages and the hugely varying nature of the
    testsuites present in them (or not), I think that trying to force this
    into packages is a poor idea. (I wish that most of my packages could
    simply use this pybuild-autodep8 tool. I fear that this won't be the
    case, but I will certainly adopt it for those which can.)

    Best wishes,

    Julian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Louis-Philippe_V=c3=a9ron@21:1/5 to All on Thu Aug 18 02:00:01 2022
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------c4170dmNO0AFzK0oqQy1H5VS
    Content-Type: multipart/mixed; boundary="------------7ZRNZnBbfL00Li8ZF3aBbxye"

    --------------7ZRNZnBbfL00Li8ZF3aBbxye
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    T24gMjAyMi0wNy0yNyAxNiBoIDMyLCBKdWxpYW4gR2lsYmV5IHdyb3RlOg0KPiBPbiBXZWQs IEp1bCAyNywgMjAyMiBhdCAwNzo0NToxMlBNICswMTAwLCBKdWxpYW4gR2lsYmV5IHdyb3Rl Og0KPj4gT24gV2VkLCBKdWwgMjcsIDIwMjIgYXQgMTA6MjY6MzNBTSAtMDQwMCwgTG91aXMt UGhpbGlwcGUgVsOpcm9ubmVhdSB3cm90ZToNCj4+PiBUaGUgd2F5IEkgc2VlIGl0Og0KPj4+ DQo+Pj4gMS4gV2Ugc2hvdWxkIGhhdmUgYSBMaW50aWFuIHRhZyBmb3IgcGFja2FnZXMgbm90 IHVzaW5nIHRoZSBuZXcNCj4+PiBweWJ1aWxkLWF1dG9kZXA4IGF1dG9wa2d0ZXN0LiBJdCB3 b3VsZCBiZSBldmVuIGJldHRlciBpZiB0aGlzIHRhZyB3b3VsZCBiZSBhDQo+Pj4gcG9pbnRl ZCBoaW50IHRoYXQgaWRlbnRpZmllZCAnbWFudWFsbHknIHdyaXR0ZW4gdW5pdCB0ZXN0IGF1 dG9wa2d0ZXN0cyB0aGF0DQo+Pj4gY291bGQgYmUgcmVwbGFjZWQuDQo+Pj4NCj4+PiBUaGlz IHdheSwgeW91IGdldCBzb21ldGhpbmcgbGlrZToNCj4+Pg0KPj4+IHB5dGhvbi1mb28gc291 cmNlOiBub3QtdXNpbmctcHlidWlsLWF1dG9kZXA4IFtkZWJpYW4vdGVzdHMvdW5pdHRlc3Rz XQ0KPj4+DQo+Pj4gZm9yIHB5dGhvbiBwYWNrYWdlcyB0aGF0IGhhdmUgb2xkICdtYW51YWxs eScgd3JpdHRlbiB1bml0IHRlc3QgYXV0b3BrZ3Rlc3RzDQo+Pj4gYW5kOg0KPj4+DQo+Pj4g cHl0aG9uLWZvbyBzb3VyY2U6IG5vdC11c2luZy1weWJ1aWxkLWF1dG9kZXA4IFtuby1hdXRv cGtndGVzdF0NCj4+Pg0KPj4+IGZvciBweXRob24gcGFja2FnZXMgd2l0aG91dCBhbnkgYXV0 b3BrZ3Rlc3QuDQo+Pj4NCj4+PiAyLiBsaW50aWFuLWJydXNoIChvciBzb21ldGhpbmcgZWxz ZSwgYnV0IEkgdGhpbmsgbGludGlhbi1icnVzaCBpcyB0aGUgcmlnaHQNCj4+PiB0b29sKSB3 b3VsZCBnbyBvdmVyIHRoZXNlIHBhY2thZ2VzIHRvOg0KPj4+DQo+Pj4gMi4xIEFkZCB0aGUg bmV3IGF1dG9kZXA4IGF1dG9wa2d0ZXN0cyBhbmQgYnVpbGQgdGhlIHBhY2thZ2UgdG8gc2Vl IGlmIHRoZXkNCj4+PiBwYXNzDQo+Pj4gMi4yIFJlbW92ZSB0aGUgIm1hbnVhbCIgdW5pdCB0 ZXN0IGF1dG9wa2d0ZXN0cyBpZiAyLjEgc3VjY2VlZHMNCj4+PiAyLjMgT3BlbiBhIGJ1ZyBy ZXBvcnQgaWYgMi4xIGZhaWxzDQo+Pg0KPj4gSSdkIGJlIHdhcnkgYWJvdXQgMi4yIGFuZCAy LjMuICBJIGhhdmUgc2V2ZXJhbCBwYWNrYWdlcyB3aGVyZSBJIGtub3cNCj4+IHRoYXQgYW4g YXV0b21hdGVkIHRlc3Qgd2lsbCBmYWlsOyB0aGVyZSBhcmUgYWxsIHNvcnRzIG9mIHdlaXJk IGNhc2VzDQo+PiB3aGVyZSBJJ3ZlIGhhZCB0byB3cml0ZSB0ZXN0cyBtYW51YWxseS4gIEkg d291bGQgYWxzbyBiZSBxdWl0ZSBjcm9zcw0KPj4gaWYgbWFudWFsbHkgY3JhZnRlZCB0ZXN0 cyB3ZXJlIGF1dG9tYXRpY2FsbHkgcmVtb3ZlZCwgZXNwZWNpYWxseSBpbg0KPj4gY2FzZXMg c3VjaCBhcyBTaW1vbiBtZW50aW9uZWQgd2hlcmUgdGhleSBkbyB0aGluZ3MgdGhhdCB0aGF0 DQo+PiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCB0ZXN0IGRvZXMgbm90IGRvLiAgQW5vdGhl ciB0aGluZyBJIGNvdWxkDQo+PiBpbWFnaW5lIGhhcHBlbmluZyBpcyB0aGF0IHRoZSBhdXRv bWF0ZWQgdGVzdCBzdWNjZWVkcyBpbiBhIHRyaXZpYWwgd2F5DQo+PiAtIGl0IHN1Y2NlZWRz IGJ1dCBkb2Vzbid0IGFjdHVhbGx5IHRlc3QgbXVjaCBiZWNhdXNlIG9mIHRoZSBuYXR1cmUg b2YNCj4+IHRoZSBwYWNrYWdlLg0KPj4NCj4+IE9uIHRoZSBvdGhlciBoYW5kLCBhIGJ1ZyBy ZXBvcnQgc2F5aW5nIHNvbWV0aGluZyBsaWtlIHRoZSBmb2xsb3dpbmcNCj4+IHNlZW1zIG11 Y2ggbW9yZSByZWFzb25hYmxlOiAiV2UndmUgdGVzdGVkIHRoaXMgcGFja2FnZSB1c2luZyB0 aGUNCj4+IGF1dG9tYXRlZCBhdXRvcGtndGVzdCBzeXN0ZW0gYW5kIGl0IHNlZW1zIHRvIHdv cmsgYnkgYWRkaW5nIHRoZSBsaW5lDQo+PiAnVGVzdHN1aXRlOiBhdXRvcGtndGVzdC1wa2ct cHlidWlsZCc7IHBsZWFzZSBjaGVjayB0aGF0IHRoZSBhdXRvbWF0ZWQNCj4+IHRlc3RzIGNv dmVyIGFsbCBvZiB0aGUgdGVzdHMgb2YgeW91ciBtYW51YWxseSB3cml0dGVuIGRlYmlhbi90 ZXN0cy8qDQo+PiBhbmQgaWYgc28sIHRoZW4gcGxlYXNlIHJlbW92ZSB0aGVtLiAgVGhlIGF1 dG9wa2d0ZXN0LXBrZy1weWJ1aWxkIGxvZ3MNCj4+IGFyZSBhdHRhY2hlZC4iICBUaGlzIHdv dWxkIGdpdmUgdGhlIG1haW50YWluZXIgdGhlIGNoYW5jZSB0byBkZWNpZGUNCj4+IGhvdyBi ZXN0IHRvIHByb2NlZWQuDQo+IA0KPiBIZXJlJ3MgYW5vdGhlciBhbHRlcm5hdGl2ZSB0byBz dGVwcyAyLjEtMi4zIGJhc2VkIG9uIHRoaXM6DQo+IA0KPiAgIEZvciBwYWNrYWdlcyB3aGlj aCBjdXJyZW50bHkgaGF2ZSBtYW51YWxseS13cml0dGVuIGF1dG9wa2d0ZXN0czoNCj4gDQo+ ICAgMi5BIFRyeSByZW1vdmluZyBkZWJpYW4vdGVzdHMgYW5kIGFkZGluZyBUZXN0c3VpdGU6 DQo+ICAgICAgIGF1dG9wa2d0ZXN0LXBrZy1weWJ1aWxkIHRvIGRlYmlhbi9jb250cm9sLCB0 aGVuIGJ1aWxkaW5nIHRoZQ0KPiAgICAgICBwYWNrYWdlIGFuZCBydW5uaW5nIGF1dG9wa2d0 ZXN0Lg0KPiANCj4gICAyLkIgSWYgdGhpcyB3b3JrcywgdGhlbiBzdWJtaXQgYSBidWcgcmVw b3J0IHRvIHRoZSBCVFMgYXMgSSBzdWdnZXN0ZWQNCj4gICAgICAgYWJvdmUuDQo+IA0KPiAg IDIuQyBJZiB0aGlzIGRvZXMgbm90IHdvcmssIGRvbid0IGRvIGFueXRoaW5nIG1vcmU7IHRy dXN0IHRoYXQgdGhlDQo+ICAgICAgIG1haW50YWluZXIga25ldyB3aGF0IHRoZXkgd2VyZSBk b2luZyB3aGVuIHRoZXkgd3JvdGUgdGhlIG1hbnVhbA0KPiAgICAgICBhdXRvcGtndGVzdHMu DQo+IA0KPiAgIEZvciBwYWNrYWdlcyB3aGljaCBkb24ndCBjdXJyZW50bHkgaGF2ZSBtYW51 YWxseS13cml0dGVuDQo+ICAgYXV0b3BrZ3Rlc3RzOg0KPiANCj4gICAyLkEnIFRyeSBhZGRp bmcgVGVzdHN1aXRlOiBhdXRvcGtndGVzdC1wa2ctcHlidWlsZCB0byBkZWJpYW4vY29udHJv bCwNCj4gICAgICAgIHRoZW4gYnVpbGRpbmcgdGhlIHBhY2thZ2UgYW5kIHJ1bm5pbmcgYXV0 b3BrZ3Rlc3QuDQo+IA0KPiAgIDIuQicgSWYgdGhpcyB3b3JrcywgdGhlbiBlaXRoZXIgSmFu aXRvciBhZGRzIHRoaXMgbGluZSB0bw0KPiAgICAgICAgZGViaWFuL2NvbnRyb2wgb3Igc3Vi bWl0IGEgYnVnIHJlcG9ydCB0byB0aGUgQlRTIHRvIHJlY29tbWVuZA0KPiAgICAgICAgdGhp cy4gIChCdXQgd2Ugd291bGQgbm90IGV4cGVjdCBKYW5pdG9yIHRvIGRvIHN0ZXAgMi4xJywg c28gdGhpcw0KPiAgICAgICAgbWlnaHQgaGF2ZSB0byBiZSBhIGRpZmZlcmVudCBzZXR1cCwg b3IgbWF5YmUgdGhlIHNjcmlwdCBkb2luZw0KPiAgICAgICAgMi5BJyBjb3VsZCBsZWF2ZSBh IGxpc3Qgb2YgcGFja2FnZXMgZm9yIEphbml0b3IsIG9yIHNvbWV0aGluZw0KPiAgICAgICAg bGlrZSB0aGF0LikNCj4gDQo+ICAgMi5DJyBJZiB0aGlzIGRvZXMgbm90IHdvcmssIHN1Ym1p dCBhIHdpc2hsaXN0IGJ1ZyB0byB0aGUgQlRTIHRvDQo+ICAgICAgICByZWNvbW1lbmQgdGhh dCB0aGUgbWFpbnRhaW5lciBhZGRzIHNvbWUgYXV0b3BrZ3Rlc3QgdGVzdHMsDQo+ICAgICAg ICBlaXRoZXIgYnkgbWFraW5nIHRoZSBhdXRvZGVwOCBzeXN0ZW0gd29yayBvciBieSB3cml0 aW5nIHNvbWUNCj4gICAgICAgIG1hbnVhbCB0ZXN0cy4NCj4gDQo+IEknZCBiZSB3YXJ5IGFi b3V0IGFkZGluZyBsaW50aWFuIHRhZ3MgZm9yIHRoaXMsIHRob3VnaDogd2l0aCBzbyBtYW55 DQo+IHBhY2thZ2VzIG5vdCBiZWluZyBhYmxlIHRvIHVzZSB0aGUgYXV0b2RlcDggc3lzdGVt IChJIHZhZ3VlbHkgcmVjYWxsDQo+IHNvbWVvbmUgc3VnZ2VzdGluZyB0aGF0IGEgdGhpcmQg b2YgUHl0aG9uIHBhY2thZ2VzIHdvdWxkIG5vdCBiZSBhYmxlDQo+IHRvIHVzZSB0aGUgc3lz dGVtKSwgdGhhdCdzIGEgbG90IG9mIHBhY2thZ2VzIGdldHRpbmcgZmFsc2UgcG9zaXRpdmVz Lg0KPiBJbiBwYXJ0aWN1bGFyLCBmb3IgdGhlIHN1Z2dlc3RlZCBmaXJzdCB2ZXJzaW9uIG9m DQo+IG5vdC11c2luZy1weWJ1aWxkLWF1dG9kZXA4IHRhZyAod2hpY2ggd291bGQgcHJvYmFi bHkgYmUgYmV0dGVyIG5hbWVkDQo+IG1hbnVhbC1hdXRvcGtndGVzdC1jb3VsZC1iZS1weWJ1 aWxkLWF1dG9kZXA4KSwgaG93IHdvdWxkIGxpbnRpYW4gZ28NCj4gYWJvdXQgaWRlbnRpZnlp bmcgd2hpY2ggcGFja2FnZXMgZmFsbCBpbnRvIGNhdGVnb3J5IDIuQiBhbmQgd2hpY2ggaW50 bw0KPiAyLkM/ICBUaGUgc2Vjb25kIHZlcnNpb24gb2YgdGhlIHRhZyAoYmV0dGVyIG5hbWVk IHNvbWV0aGluZyBsaWtlDQo+IG5vLWF1dG9wa2d0ZXN0LWNvdWxkLXVzZS1weWJ1aWxkLWF1 dG9kZXA4LCBidXQgdGhhdCdzIHN0aWxsIG5vdCB2ZXJ5DQo+IGdvb2QpIGlzIGxlc3MgcHJv YmxlbWF0aWMuDQoNClRoaXMgYWxsIG1ha2VzIGEgbG90IG9mIHNlbnNlIHRvIG1lIGFuZCBJ IHRoaW5rIHRoaXMgaXMgdGhlIHdheSBmb3J3YXJkLCANCm9uY2UgdGhlIE1SIGlzIG1lcmdl ZC4gVGhhbmtzIGZvciB0aGUgZGlzY3Vzc2lvbi4NCg0KLS0gDQogICDiooDio7TioL7ioLvi orbio6bioIANCiAgIOKjvuKggeKioOKgkuKggOKjv+KhgSAgTG91aXMtUGhpbGlwcGUgVsOp cm9ubmVhdQ0KICAg4qK/4qGE4qCY4qC34qCa4qCLICAgcG9sbG9AZGViaWFuLm9yZyAvIHZl cm9ubmVhdS5vcmcNCiAgIOKgiOKgs+KjhA0KDQo=
    --------------7ZRNZnBbfL00Li8ZF3aBbxye
    Content-Type: application/pgp-keys; name="OpenPGP_0xE1E5457C8BAD4113.asc" Content-Disposition: attachment; filename="OpenPGP_0xE1E5457C8BAD4113.asc" Content-Description: OpenPGP public key
    Content-Transfer-Encoding: quoted-printable

    -----BEGIN PGP PUBLIC KEY BLOCK-----

    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
    JQQ=
    =u/Tx
    -----END PGP PUBLIC KEY BLOCK-----

    --------------7ZRNZnBbfL00Li8ZF3aBbxye--

    --------------c4170dmNO0AFzK0oqQy1H5VS--

    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQTKp0AHB6gWsCAvw830JXpQshz6hQUCYv1+2wAKCRD0JXpQshz6 hdc2AQCQtiJoDzqtU4PQbuGbNfXeeiKdrnluOxJstbODAOSZMwEAoizLv//LGld+ RBp53OAdeSH8nnrd3ZCeiYJXGaPbdAU=
    =ckep
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)